Documentation Verification Report

LucasLehmer

πŸ“ Source: Mathlib/NumberTheory/LucasLehmer.lean

Statistics

MetricCount
DefinitionsLucasLehmerTest, X, instAddCommGroup, instAddGroupWithOne, instCoeZMod, instCommRing, instDecidableEq, instFintype, instInhabited, instMonoid, instMul, instNatCast, instOne, instRing, Ξ±, Ο‰, Ο‰b, lucasLehmerResidue, evalLucasLehmerTest, sModNat, sModNatTR, sModNat_aux, q, s, sMod, sZMod, Ο‰Unit, evalMersenne, mersenne
29
Theoremsadd_fst, add_snd, card_eq, card_units_lt, closed_form, coe_mul, coe_natCast, ext, ext_iff, fst_intCast, fst_natCast, instCharP, instNontrivialOfFactLtNatOfNat, left_distrib, mul_fst, mul_snd, neg_fst, neg_snd, ofNat_fst, ofNat_snd, one_add_Ξ±_pow_q, one_add_Ξ±_pow_q_succ, one_add_Ξ±_sq, one_fst, one_snd, pow_Ο‰, right_distrib, snd_intCast, snd_natCast, two_mul_Ο‰_pow, zero_fst, zero_snd, Ξ±_pow, Ξ±_sq, Ο‰_mul_Ο‰b, Ο‰_pow_trace, Ο‰b_mul_Ο‰, mersenne_coe_X, mersenne_int_ne_zero, mersenne_int_pos, isNat_lucasLehmerTest, isNat_not_lucasLehmerTest, sModNatTR_eq_sModNat, sModNat_aux_eq, sModNat_eq_sMod, testFalseHelper, testTrueHelper, order_ineq, order_Ο‰, residue_eq_zero_iff_sMod_eq_zero, sMod_lt, sMod_mod, sMod_nonneg, sZMod_eq_s, sZMod_eq_sMod, two_lt_q, Ο‰Unit_coe, Ο‰_pow_eq_neg_one, Ο‰_pow_eq_one, Ο‰_pow_formula, mersenne_pos_of_pos, of_mersenne, legendreSym_mersenne_three, legendreSym_mersenne_two, lucas_lehmer_necessity, lucas_lehmer_sufficiency, mersenne_le_mersenne, mersenne_lt_mersenne, mersenne_mod_eight, mersenne_mod_four, mersenne_mod_three, mersenne_odd, mersenne_pos, mersenne_succ, mersenne_zero, modEq_mersenne, one_lt_mersenne, strictMono_mersenne, succ_mersenne
79
Total108

LucasLehmer

Definitions

NameCategoryTheorems
LucasLehmerTest πŸ“–MathDef
3 mathmath: norm_num_ext.testTrueHelper, lucas_lehmer_necessity, norm_num_ext.testFalseHelper
X πŸ“–CompOp
39 mathmath: X.fst_natCast, mersenne_coe_X, X.two_mul_Ο‰_pow, X.card_eq, X.zero_fst, X.neg_snd, X.instNontrivialOfFactLtNatOfNat, X.one_add_Ξ±_sq, X.one_add_Ξ±_pow_q_succ, X.Ο‰b_mul_Ο‰, X.right_distrib, X.Ξ±_pow, X.card_units_lt, Ο‰_pow_eq_one, X.closed_form, X.left_distrib, X.add_snd, X.one_fst, X.coe_natCast, X.mul_fst, X.instCharP, X.Ο‰_pow_trace, X.snd_intCast, Ο‰Unit_coe, X.add_fst, order_Ο‰, X.Ο‰_mul_Ο‰b, X.mul_snd, X.Ξ±_sq, X.one_add_Ξ±_pow_q, X.neg_fst, X.fst_intCast, X.one_snd, Ο‰_pow_eq_neg_one, X.pow_Ο‰, X.coe_mul, Ο‰_pow_formula, X.zero_snd, X.snd_natCast
lucasLehmerResidue πŸ“–CompOp
1 mathmath: residue_eq_zero_iff_sMod_eq_zero
q πŸ“–CompOp
8 mathmath: mersenne_coe_X, Ο‰_pow_eq_one, two_lt_q, Ο‰Unit_coe, order_Ο‰, Ο‰_pow_eq_neg_one, Ο‰_pow_formula, order_ineq
s πŸ“–CompOp
2 mathmath: X.closed_form, sZMod_eq_s
sMod πŸ“–CompOp
6 mathmath: sMod_lt, sMod_mod, sZMod_eq_sMod, residue_eq_zero_iff_sMod_eq_zero, sMod_nonneg, norm_num_ext.sModNat_eq_sMod
sZMod πŸ“–CompOp
2 mathmath: sZMod_eq_sMod, sZMod_eq_s
Ο‰Unit πŸ“–CompOp
2 mathmath: Ο‰Unit_coe, order_Ο‰

Theorems

NameKindAssumesProvesValidatesDepends On
mersenne_coe_X πŸ“–mathematicalβ€”X
PNat.val
q
X.instNatCast
mersenne
MulZeroClass.toZero
NonUnitalNonAssocSemiring.toMulZeroClass
NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring
NonUnitalNonAssocCommRing.toNonUnitalNonAssocRing
NonUnitalCommRing.toNonUnitalNonAssocCommRing
CommRing.toNonUnitalCommRing
X.instCommRing
β€”X.ext
Nat.minFac_dvd
mersenne_int_ne_zero πŸ“–β€”β€”β€”β€”LT.lt.ne'
mersenne_int_pos
mersenne_int_pos πŸ“–mathematicalβ€”Monoid.toNatPow
Int.instMonoid
β€”sub_pos
IsRightCancelAdd.addRightStrictMono_of_addRightMono
AddRightCancelSemigroup.toIsRightCancelAdd
covariant_swap_add_of_covariant_add
Int.instAddLeftMono
Nat.cast_one
Int.instZeroLEOneClass
Int.instCharZero
order_ineq πŸ“–mathematicallucasLehmerResidue
ZMod
Monoid.toNatPow
Nat.instMonoid
MulZeroClass.toZero
NonUnitalNonAssocSemiring.toMulZeroClass
NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring
NonUnitalNonAssocCommRing.toNonUnitalNonAssocRing
NonUnitalCommRing.toNonUnitalNonAssocCommRing
CommRing.toNonUnitalCommRing
ZMod.commRing
PNat.val
q
β€”NeZero.pnat
order_Ο‰
orderOf_le_card_univ
X.card_units_lt
two_lt_q
order_Ο‰ πŸ“–mathematicallucasLehmerResidue
ZMod
Monoid.toNatPow
Nat.instMonoid
MulZeroClass.toZero
NonUnitalNonAssocSemiring.toMulZeroClass
NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring
NonUnitalNonAssocCommRing.toNonUnitalNonAssocRing
NonUnitalCommRing.toNonUnitalNonAssocCommRing
CommRing.toNonUnitalCommRing
ZMod.commRing
orderOf
Units
X
PNat.val
q
X.instMonoid
Units.instMonoid
Ο‰Unit
β€”Nat.eq_prime_pow_of_dvd_least_prime_pow
Nat.prime_two
orderOf_dvd_iff_pow_eq_one
Ο‰_pow_eq_neg_one
ZMod.neg_one_ne_one
two_lt_q
Units.ext
Ο‰_pow_eq_one
residue_eq_zero_iff_sMod_eq_zero πŸ“–mathematicalβ€”lucasLehmerResidue
ZMod
Monoid.toNatPow
Nat.instMonoid
MulZeroClass.toZero
NonUnitalNonAssocSemiring.toMulZeroClass
NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring
NonUnitalNonAssocCommRing.toNonUnitalNonAssocRing
NonUnitalCommRing.toNonUnitalNonAssocCommRing
CommRing.toNonUnitalCommRing
ZMod.commRing
sMod
β€”sZMod_eq_sMod
Int.eq_zero_of_dvd_of_nonneg_of_lt
Nat.instAtLeastTwoHAddOfNat
sMod_nonneg
ne_of_gt
lt_trans
Mathlib.Meta.Positivity.pos_of_isNat
IsStrictOrderedRing.toIsOrderedRing
Nat.instIsStrictOrderedRing
Nat.instNontrivial
Mathlib.Meta.NormNum.isNat_ofNat
sMod_lt
Nat.cast_pred
LinearOrderedCommMonoidWithZero.toPosMulStrictMono
Nat.instZeroLEOneClass
Nat.cast_pow
Int.cast_zero
sMod_lt πŸ“–mathematicalβ€”sMod
Monoid.toNatPow
Int.instMonoid
β€”sMod_mod
LT.lt.trans_eq
Int.emod_lt_abs
mersenne_int_ne_zero
abs_of_nonneg
Int.instAddLeftMono
LT.lt.le
mersenne_int_pos
sMod_mod πŸ“–mathematicalβ€”sMod
Monoid.toNatPow
Int.instMonoid
β€”β€”
sMod_nonneg πŸ“–mathematicalβ€”sModβ€”sup_eq_right
mersenne_int_ne_zero
sZMod_eq_s πŸ“–mathematicalβ€”sZMod
ZMod
Monoid.toNatPow
Nat.instMonoid
AddGroupWithOne.toIntCast
Ring.toAddGroupWithOne
CommRing.toRing
ZMod.commRing
s
β€”Nat.instAtLeastTwoHAddOfNat
Int.cast_ofNat
Int.cast_sub
Int.cast_pow
sZMod_eq_sMod πŸ“–mathematicalβ€”sZMod
ZMod
Monoid.toNatPow
Nat.instMonoid
AddGroupWithOne.toIntCast
Ring.toAddGroupWithOne
CommRing.toRing
ZMod.commRing
sMod
β€”Nat.instAtLeastTwoHAddOfNat
Int.coe_nat_two_pow_pred
ZMod.intCast_mod
Int.cast_ofNat
Int.cast_sub
Int.cast_pow
two_lt_q πŸ“–mathematicalβ€”PNat
Preorder.toLT
PartialOrder.toPreorder
SemilatticeInf.toPartialOrder
Lattice.toSemilatticeInf
DistribLattice.toLattice
instDistribLatticeOfLinearOrder
instLinearOrderPNat
instOfNatPNatOfNeZeroNat
q
β€”LE.le.lt_of_ne'
Nat.Prime.two_le
Nat.minFac_prime
LT.lt.ne'
one_lt_mersenne
Nat.minFac_eq_two_iff
mersenne.eq_1
Nat.two_not_dvd_two_mul_sub_one
Ο‰Unit_coe πŸ“–mathematicalβ€”Units.val
X
PNat.val
q
X.instMonoid
Ο‰Unit
X.Ο‰
β€”β€”
Ο‰_pow_eq_neg_one πŸ“–mathematicallucasLehmerResidue
ZMod
Monoid.toNatPow
Nat.instMonoid
MulZeroClass.toZero
NonUnitalNonAssocSemiring.toMulZeroClass
NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring
NonUnitalNonAssocCommRing.toNonUnitalNonAssocRing
NonUnitalCommRing.toNonUnitalNonAssocCommRing
CommRing.toNonUnitalCommRing
ZMod.commRing
X
PNat.val
q
X.instMonoid
X.Ο‰
NegZeroClass.toNeg
SubNegZeroMonoid.toNegZeroClass
SubtractionMonoid.toSubNegZeroMonoid
SubtractionCommMonoid.toSubtractionMonoid
AddCommGroup.toDivisionAddCommMonoid
X.instAddCommGroup
X.instOne
β€”Ο‰_pow_formula
MulZeroClass.mul_zero
MulZeroClass.zero_mul
zero_sub
mersenne_coe_X
Ο‰_pow_eq_one πŸ“–mathematicallucasLehmerResidue
ZMod
Monoid.toNatPow
Nat.instMonoid
MulZeroClass.toZero
NonUnitalNonAssocSemiring.toMulZeroClass
NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring
NonUnitalNonAssocCommRing.toNonUnitalNonAssocRing
NonUnitalCommRing.toNonUnitalNonAssocCommRing
CommRing.toNonUnitalCommRing
ZMod.commRing
X
PNat.val
q
X.instMonoid
X.Ο‰
X.instOne
β€”pow_mul
Ο‰_pow_eq_neg_one
Even.neg_pow
Nat.instAtLeastTwoHAddOfNat
one_pow
Ο‰_pow_formula πŸ“–mathematicallucasLehmerResidue
ZMod
Monoid.toNatPow
Nat.instMonoid
MulZeroClass.toZero
NonUnitalNonAssocSemiring.toMulZeroClass
NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring
NonUnitalNonAssocCommRing.toNonUnitalNonAssocRing
NonUnitalCommRing.toNonUnitalNonAssocCommRing
CommRing.toNonUnitalCommRing
ZMod.commRing
X
PNat.val
q
X.instMonoid
X.Ο‰
SubNegMonoid.toSub
AddGroup.toSubNegMonoid
AddGroupWithOne.toAddGroup
X.instAddGroupWithOne
X.instMul
AddGroupWithOne.toIntCast
X.instNatCast
mersenne
X.instOne
β€”Nat.instAtLeastTwoHAddOfNat
add_tsub_cancel_right
Nat.instOrderedSub
IsLeftCancelAdd.addLeftReflectLE_of_addLeftReflectLT
AddLeftCancelSemigroup.toIsLeftCancelAdd
contravariant_lt_of_covariant_le
IsOrderedAddMonoid.toAddLeftMono
Nat.instIsOrderedAddMonoid
Nat.cast_pred
LinearOrderedCommMonoidWithZero.toPosMulStrictMono
IsStrictOrderedRing.toIsOrderedRing
Nat.instIsStrictOrderedRing
Nat.instNontrivial
Nat.cast_pow
sZMod_eq_s
X.closed_form
Mathlib.Tactic.Ring.of_eq
Mathlib.Tactic.Ring.add_congr
Mathlib.Tactic.Ring.pow_congr
Mathlib.Tactic.Ring.cast_pos
Mathlib.Meta.NormNum.isNat_ofNat
Mathlib.Tactic.Ring.atom_pf
Mathlib.Tactic.Ring.pow_add
Mathlib.Tactic.Ring.single_pow
Mathlib.Tactic.Ring.pow_prod_atom
Mathlib.Tactic.Ring.pow_zero
Mathlib.Tactic.Ring.add_mul
Mathlib.Tactic.Ring.mul_add
Mathlib.Tactic.Ring.mul_pf_left
Mathlib.Tactic.Ring.one_mul
Mathlib.Tactic.Ring.mul_zero
Mathlib.Tactic.Ring.add_pf_add_zero
Mathlib.Tactic.Ring.zero_mul
Mathlib.Tactic.Ring.add_pf_add_overlap
Mathlib.Tactic.Ring.add_overlap_pf
Mathlib.Meta.NormNum.IsNat.to_raw_eq
Mathlib.Meta.NormNum.isNat_add
Mathlib.Meta.NormNum.IsNat.of_raw
Mathlib.Tactic.Ring.add_pf_zero_add
Mathlib.Tactic.Ring.add_pf_add_gt
Mathlib.Tactic.Ring.pow_one_cast
Mathlib.Tactic.Ring.mul_pf_right
Mathlib.Tactic.Ring.mul_one
eq_sub_of_add_eq
mul_comm
X.coe_mul
one_pow
X.Ο‰_mul_Ο‰b
mul_pow
pow_add
mul_add
Distrib.leftDistribClass
Nat.cast_one
Int.cast_natCast

LucasLehmer.X

Definitions

NameCategoryTheorems
instAddCommGroup πŸ“–CompOp
12 mathmath: two_mul_Ο‰_pow, zero_fst, neg_snd, one_add_Ξ±_pow_q_succ, right_distrib, left_distrib, add_snd, add_fst, neg_fst, LucasLehmer.Ο‰_pow_eq_neg_one, pow_Ο‰, zero_snd
instAddGroupWithOne πŸ“–CompOp
8 mathmath: closed_form, coe_natCast, instCharP, snd_intCast, one_add_Ξ±_pow_q, fst_intCast, coe_mul, LucasLehmer.Ο‰_pow_formula
instCoeZMod πŸ“–CompOpβ€”
instCommRing πŸ“–CompOp
6 mathmath: LucasLehmer.mersenne_coe_X, one_add_Ξ±_sq, one_add_Ξ±_pow_q_succ, closed_form, Ο‰_pow_trace, one_add_Ξ±_pow_q
instDecidableEq πŸ“–CompOp
1 mathmath: card_units_lt
instFintype πŸ“–CompOp
2 mathmath: card_eq, card_units_lt
instInhabited πŸ“–CompOpβ€”
instMonoid πŸ“–CompOp
15 mathmath: two_mul_Ο‰_pow, one_add_Ξ±_sq, one_add_Ξ±_pow_q_succ, Ξ±_pow, card_units_lt, LucasLehmer.Ο‰_pow_eq_one, closed_form, Ο‰_pow_trace, LucasLehmer.Ο‰Unit_coe, LucasLehmer.order_Ο‰, Ξ±_sq, one_add_Ξ±_pow_q, LucasLehmer.Ο‰_pow_eq_neg_one, pow_Ο‰, LucasLehmer.Ο‰_pow_formula
instMul πŸ“–CompOp
11 mathmath: two_mul_Ο‰_pow, one_add_Ξ±_sq, Ο‰b_mul_Ο‰, right_distrib, Ξ±_pow, left_distrib, mul_fst, Ο‰_mul_Ο‰b, mul_snd, coe_mul, LucasLehmer.Ο‰_pow_formula
instNatCast πŸ“–CompOp
10 mathmath: fst_natCast, LucasLehmer.mersenne_coe_X, two_mul_Ο‰_pow, one_add_Ξ±_sq, one_add_Ξ±_pow_q_succ, Ξ±_pow, coe_natCast, Ξ±_sq, LucasLehmer.Ο‰_pow_formula, snd_natCast
instOne πŸ“–CompOp
11 mathmath: one_add_Ξ±_sq, one_add_Ξ±_pow_q_succ, Ο‰b_mul_Ο‰, LucasLehmer.Ο‰_pow_eq_one, one_fst, Ο‰_mul_Ο‰b, one_add_Ξ±_pow_q, one_snd, LucasLehmer.Ο‰_pow_eq_neg_one, pow_Ο‰, LucasLehmer.Ο‰_pow_formula
instRing πŸ“–CompOpβ€”
Ξ± πŸ“–CompOp
5 mathmath: one_add_Ξ±_sq, one_add_Ξ±_pow_q_succ, Ξ±_pow, Ξ±_sq, one_add_Ξ±_pow_q
Ο‰ πŸ“–CompOp
11 mathmath: two_mul_Ο‰_pow, one_add_Ξ±_sq, Ο‰b_mul_Ο‰, LucasLehmer.Ο‰_pow_eq_one, closed_form, Ο‰_pow_trace, LucasLehmer.Ο‰Unit_coe, Ο‰_mul_Ο‰b, LucasLehmer.Ο‰_pow_eq_neg_one, pow_Ο‰, LucasLehmer.Ο‰_pow_formula
Ο‰b πŸ“–CompOp
4 mathmath: Ο‰b_mul_Ο‰, closed_form, Ο‰_pow_trace, Ο‰_mul_Ο‰b

Theorems

NameKindAssumesProvesValidatesDepends On
add_fst πŸ“–mathematicalβ€”ZMod
LucasLehmer.X
AddCommMagma.toAdd
AddCommSemigroup.toAddCommMagma
AddCommMonoid.toAddCommSemigroup
AddCommGroup.toAddCommMonoid
instAddCommGroup
Distrib.toAdd
NonUnitalNonAssocSemiring.toDistrib
NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring
NonUnitalNonAssocCommRing.toNonUnitalNonAssocRing
NonUnitalCommRing.toNonUnitalNonAssocCommRing
CommRing.toNonUnitalCommRing
ZMod.commRing
β€”β€”
add_snd πŸ“–mathematicalβ€”ZMod
LucasLehmer.X
AddCommMagma.toAdd
AddCommSemigroup.toAddCommMagma
AddCommMonoid.toAddCommSemigroup
AddCommGroup.toAddCommMonoid
instAddCommGroup
Distrib.toAdd
NonUnitalNonAssocSemiring.toDistrib
NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring
NonUnitalNonAssocCommRing.toNonUnitalNonAssocRing
NonUnitalCommRing.toNonUnitalNonAssocCommRing
CommRing.toNonUnitalCommRing
ZMod.commRing
β€”β€”
card_eq πŸ“–mathematicalβ€”Fintype.card
LucasLehmer.X
instFintype
Monoid.toNatPow
Nat.instMonoid
β€”Fintype.card_prod
ZMod.card
sq
card_units_lt πŸ“–mathematicalβ€”Fintype.card
Units
LucasLehmer.X
instMonoid
instFintypeUnitsOfDecidableEq
instFintype
instDecidableEq
Monoid.toNatPow
Nat.instMonoid
β€”Fintype.card_congr'
card_eq
card_units_lt
instNontrivialOfFactLtNatOfNat
closed_form πŸ“–mathematicalβ€”LucasLehmer.X
AddGroupWithOne.toIntCast
instAddGroupWithOne
LucasLehmer.s
Distrib.toAdd
NonUnitalNonAssocSemiring.toDistrib
NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring
NonUnitalNonAssocCommRing.toNonUnitalNonAssocRing
NonUnitalCommRing.toNonUnitalNonAssocCommRing
CommRing.toNonUnitalCommRing
instCommRing
Monoid.toNatPow
instMonoid
Ο‰
Nat.instMonoid
Ο‰b
β€”ext
Mathlib.Meta.NormNum.instAtLeastTwo
Mathlib.Meta.NormNum.IsNat.to_eq
Mathlib.Meta.NormNum.isNat_intCast
Mathlib.Meta.NormNum.isNat_ofNat
pow_one
Mathlib.Meta.NormNum.isNat_add
Mathlib.Meta.NormNum.IsInt.to_isNat
Mathlib.Meta.NormNum.isInt_add
Mathlib.Meta.NormNum.IsNat.to_isInt
Nat.cast_one
Mathlib.Meta.NormNum.isInt_neg
Nat.cast_zero
Nat.instAtLeastTwoHAddOfNat
Int.cast_sub
Int.cast_pow
Int.cast_ofNat
Mathlib.Tactic.Ring.of_eq
Mathlib.Tactic.Ring.sub_congr
Mathlib.Tactic.Ring.pow_congr
Mathlib.Tactic.Ring.add_congr
Mathlib.Tactic.Ring.atom_pf
Mathlib.Tactic.Ring.cast_pos
Mathlib.Tactic.Ring.pow_add
Mathlib.Tactic.Ring.single_pow
Mathlib.Tactic.Ring.pow_prod_atom
Mathlib.Tactic.Ring.pow_zero
Mathlib.Tactic.Ring.add_mul
Mathlib.Tactic.Ring.mul_add
Mathlib.Tactic.Ring.mul_pf_left
Mathlib.Tactic.Ring.one_mul
Mathlib.Tactic.Ring.mul_zero
Mathlib.Tactic.Ring.add_pf_add_zero
Mathlib.Tactic.Ring.zero_mul
Mathlib.Tactic.Ring.mul_pow
Mathlib.Tactic.Ring.mul_pf_right
Mathlib.Tactic.Ring.one_pow
Mathlib.Tactic.Ring.add_pf_add_lt
Mathlib.Tactic.Ring.add_pf_zero_add
Mathlib.Tactic.Ring.pow_nat
Mathlib.Tactic.Ring.coeff_one
Mathlib.Tactic.Ring.pow_one_cast
Mathlib.Tactic.Ring.pow_bit0
Mathlib.Tactic.Ring.pow_one
Mathlib.Tactic.Ring.mul_pp_pf_overlap
Mathlib.Tactic.Ring.add_overlap_pf
Mathlib.Meta.NormNum.IsNat.to_raw_eq
Mathlib.Meta.NormNum.IsNat.of_raw
Mathlib.Tactic.Ring.add_pf_add_gt
Mathlib.Tactic.Ring.add_pf_add_overlap
Mathlib.Tactic.Ring.mul_one
Mathlib.Tactic.Ring.sub_pf
Mathlib.Tactic.Ring.neg_add
Mathlib.Tactic.Ring.neg_one_mul
Mathlib.Meta.NormNum.IsInt.to_raw_eq
Mathlib.Meta.NormNum.isInt_mul
Mathlib.Meta.NormNum.IsInt.of_raw
Mathlib.Tactic.Ring.neg_zero
Mathlib.Tactic.Ring.mul_congr
mul_pow
Ο‰b_mul_Ο‰
one_pow
mul_one
add_sub_cancel_right
pow_mul
pow_succ
coe_mul πŸ“–mathematicalβ€”LucasLehmer.X
AddGroupWithOne.toIntCast
instAddGroupWithOne
instMul
β€”ext
Int.cast_mul
Nat.instAtLeastTwoHAddOfNat
MulZeroClass.mul_zero
add_zero
MulZeroClass.zero_mul
coe_natCast πŸ“–mathematicalβ€”LucasLehmer.X
AddGroupWithOne.toIntCast
instAddGroupWithOne
instNatCast
β€”ext
Int.cast_natCast
ext πŸ“–β€”ZModβ€”β€”β€”
ext_iff πŸ“–mathematicalβ€”ZModβ€”ext
fst_intCast πŸ“–mathematicalβ€”ZMod
LucasLehmer.X
AddGroupWithOne.toIntCast
instAddGroupWithOne
Ring.toAddGroupWithOne
CommRing.toRing
ZMod.commRing
β€”β€”
fst_natCast πŸ“–mathematicalβ€”ZMod
LucasLehmer.X
instNatCast
AddMonoidWithOne.toNatCast
AddGroupWithOne.toAddMonoidWithOne
Ring.toAddGroupWithOne
CommRing.toRing
ZMod.commRing
β€”β€”
instCharP πŸ“–mathematicalβ€”CharP
LucasLehmer.X
AddGroupWithOne.toAddMonoidWithOne
instAddGroupWithOne
β€”ext
ZMod.natCast_eq_zero_iff
instNontrivialOfFactLtNatOfNat πŸ“–mathematicalβ€”Nontrivial
LucasLehmer.X
β€”zero_ne_one
NeZero.one
ZMod.nontrivial
left_distrib πŸ“–mathematicalβ€”LucasLehmer.X
instMul
AddCommMagma.toAdd
AddCommSemigroup.toAddCommMagma
AddCommMonoid.toAddCommSemigroup
AddCommGroup.toAddCommMonoid
instAddCommGroup
β€”ext
Mathlib.Tactic.Ring.of_eq
Nat.instAtLeastTwoHAddOfNat
Mathlib.Tactic.Ring.add_congr
Mathlib.Tactic.Ring.mul_congr
Mathlib.Tactic.Ring.atom_pf
Mathlib.Tactic.Ring.add_pf_add_lt
Mathlib.Tactic.Ring.add_pf_zero_add
Mathlib.Tactic.Ring.add_mul
Mathlib.Tactic.Ring.mul_add
Mathlib.Tactic.Ring.mul_pf_left
Mathlib.Tactic.Ring.mul_pf_right
Mathlib.Tactic.Ring.one_mul
Mathlib.Tactic.Ring.mul_zero
Mathlib.Tactic.Ring.add_pf_add_zero
Mathlib.Tactic.Ring.zero_mul
Mathlib.Tactic.Ring.cast_pos
Mathlib.Meta.NormNum.isNat_ofNat
Mathlib.Meta.NormNum.instAtLeastTwo
Mathlib.Tactic.Ring.mul_one
Mathlib.Tactic.Ring.add_pf_add_gt
mul_fst πŸ“–mathematicalβ€”ZMod
LucasLehmer.X
instMul
Distrib.toAdd
NonUnitalNonAssocSemiring.toDistrib
NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring
NonUnitalNonAssocCommRing.toNonUnitalNonAssocRing
NonUnitalCommRing.toNonUnitalNonAssocCommRing
CommRing.toNonUnitalCommRing
ZMod.commRing
Distrib.toMul
instOfNatAtLeastTwo
AddMonoidWithOne.toNatCast
AddGroupWithOne.toAddMonoidWithOne
Ring.toAddGroupWithOne
CommRing.toRing
Nat.instAtLeastTwoHAddOfNat
β€”β€”
mul_snd πŸ“–mathematicalβ€”ZMod
LucasLehmer.X
instMul
Distrib.toAdd
NonUnitalNonAssocSemiring.toDistrib
NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring
NonUnitalNonAssocCommRing.toNonUnitalNonAssocRing
NonUnitalCommRing.toNonUnitalNonAssocCommRing
CommRing.toNonUnitalCommRing
ZMod.commRing
Distrib.toMul
β€”β€”
neg_fst πŸ“–mathematicalβ€”ZMod
LucasLehmer.X
NegZeroClass.toNeg
SubNegZeroMonoid.toNegZeroClass
SubtractionMonoid.toSubNegZeroMonoid
SubtractionCommMonoid.toSubtractionMonoid
AddCommGroup.toDivisionAddCommMonoid
instAddCommGroup
Ring.toAddCommGroup
CommRing.toRing
ZMod.commRing
β€”β€”
neg_snd πŸ“–mathematicalβ€”ZMod
LucasLehmer.X
NegZeroClass.toNeg
SubNegZeroMonoid.toNegZeroClass
SubtractionMonoid.toSubNegZeroMonoid
SubtractionCommMonoid.toSubtractionMonoid
AddCommGroup.toDivisionAddCommMonoid
instAddCommGroup
Ring.toAddCommGroup
CommRing.toRing
ZMod.commRing
β€”β€”
ofNat_fst πŸ“–mathematicalβ€”ZMod
instOfNatAtLeastTwo
AddMonoidWithOne.toNatCast
AddGroupWithOne.toAddMonoidWithOne
Ring.toAddGroupWithOne
CommRing.toRing
ZMod.commRing
β€”β€”
ofNat_snd πŸ“–mathematicalβ€”ZMod
MulZeroClass.toZero
NonUnitalNonAssocSemiring.toMulZeroClass
NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring
NonUnitalNonAssocCommRing.toNonUnitalNonAssocRing
NonUnitalCommRing.toNonUnitalNonAssocCommRing
CommRing.toNonUnitalCommRing
ZMod.commRing
β€”β€”
one_add_Ξ±_pow_q πŸ“–mathematicalOdd
Nat.instSemiring
legendreSym
LucasLehmer.X
Monoid.toNatPow
instMonoid
Distrib.toAdd
NonUnitalNonAssocSemiring.toDistrib
NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring
NonUnitalNonAssocCommRing.toNonUnitalNonAssocRing
NonUnitalCommRing.toNonUnitalNonAssocCommRing
CommRing.toNonUnitalCommRing
instCommRing
instOne
Ξ±
SubNegMonoid.toSub
AddGroup.toSubNegMonoid
AddGroupWithOne.toAddGroup
instAddGroupWithOne
β€”Nat.instAtLeastTwoHAddOfNat
Int.cast_neg
Int.cast_one
Int.cast_ofNat
IsStrictOrderedRing.toIsOrderedRing
Nat.instIsStrictOrderedRing
Nat.instNontrivial
add_zero
legendreSym.eq_pow
add_pow_expChar
expChar_prime
instCharP
Ξ±_pow
dvd_rfl
map_ofNat
RingHom.instRingHomClass
map_pow
MonoidWithZeroHomClass.toMonoidHomClass
RingHomClass.toMonoidWithZeroHomClass
map_neg
RingHomClass.toAddMonoidHomClass
one_pow
ZMod.cast_one
neg_mul
one_mul
sub_eq_add_neg
one_add_Ξ±_pow_q_succ πŸ“–mathematicalOdd
Nat.instSemiring
legendreSym
LucasLehmer.X
Monoid.toNatPow
instMonoid
Distrib.toAdd
NonUnitalNonAssocSemiring.toDistrib
NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring
NonUnitalNonAssocCommRing.toNonUnitalNonAssocRing
NonUnitalCommRing.toNonUnitalNonAssocCommRing
CommRing.toNonUnitalCommRing
instCommRing
instOne
Ξ±
NegZeroClass.toNeg
SubNegZeroMonoid.toNegZeroClass
SubtractionMonoid.toSubNegZeroMonoid
SubtractionCommMonoid.toSubtractionMonoid
AddCommGroup.toDivisionAddCommMonoid
instAddCommGroup
instOfNatAtLeastTwo
instNatCast
Nat.instAtLeastTwoHAddOfNat
β€”Nat.instAtLeastTwoHAddOfNat
pow_succ
one_add_Ξ±_pow_q
mul_comm
sq_sub_sq
Ξ±_sq
Mathlib.Meta.NormNum.isInt_eq_true
Mathlib.Meta.NormNum.isInt_sub
Mathlib.Meta.NormNum.IsNat.to_isInt
Mathlib.Meta.NormNum.isNat_pow
Mathlib.Meta.NormNum.isNat_ofNat
Nat.cast_one
Mathlib.Meta.NormNum.one_natPow
Mathlib.Meta.NormNum.instAtLeastTwo
Mathlib.Meta.NormNum.isInt_neg
one_add_Ξ±_sq πŸ“–mathematicalβ€”LucasLehmer.X
Monoid.toNatPow
instMonoid
Distrib.toAdd
NonUnitalNonAssocSemiring.toDistrib
NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring
NonUnitalNonAssocCommRing.toNonUnitalNonAssocRing
NonUnitalCommRing.toNonUnitalNonAssocCommRing
CommRing.toNonUnitalCommRing
instCommRing
instOne
Ξ±
instMul
instOfNatAtLeastTwo
instNatCast
Nat.instAtLeastTwoHAddOfNat
Ο‰
β€”ext
Nat.instAtLeastTwoHAddOfNat
sq
add_zero
mul_one
zero_add
MulZeroClass.mul_zero
Mathlib.Meta.NormNum.isNat_eq_true
Mathlib.Meta.NormNum.isNat_add
Mathlib.Meta.NormNum.isNat_ofNat
Nat.cast_one
Mathlib.Meta.NormNum.instAtLeastTwo
Mathlib.Meta.NormNum.isNat_mul
MulZeroClass.zero_mul
one_fst πŸ“–mathematicalβ€”ZMod
LucasLehmer.X
instOne
AddMonoidWithOne.toOne
AddGroupWithOne.toAddMonoidWithOne
Ring.toAddGroupWithOne
CommRing.toRing
ZMod.commRing
β€”β€”
one_snd πŸ“–mathematicalβ€”ZMod
LucasLehmer.X
instOne
MulZeroClass.toZero
NonUnitalNonAssocSemiring.toMulZeroClass
NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring
NonUnitalNonAssocCommRing.toNonUnitalNonAssocRing
NonUnitalCommRing.toNonUnitalNonAssocCommRing
CommRing.toNonUnitalCommRing
ZMod.commRing
β€”β€”
pow_Ο‰ πŸ“–mathematicalOdd
Nat.instSemiring
legendreSym
LucasLehmer.X
Monoid.toNatPow
instMonoid
Ο‰
NegZeroClass.toNeg
SubNegZeroMonoid.toNegZeroClass
SubtractionMonoid.toSubNegZeroMonoid
SubtractionCommMonoid.toSubtractionMonoid
AddCommGroup.toDivisionAddCommMonoid
instAddCommGroup
instOne
β€”Nat.instAtLeastTwoHAddOfNat
pow_succ
legendreSym.eq_pow
Int.cast_ofNat
Mathlib.Tactic.Ring.of_eq
Mathlib.Tactic.Ring.mul_congr
Mathlib.Tactic.Ring.cast_pos
Mathlib.Meta.NormNum.isNat_intCast
Mathlib.Meta.NormNum.isNat_ofNat
Mathlib.Tactic.Ring.add_mul
Mathlib.Tactic.Ring.mul_add
Mathlib.Tactic.Ring.one_mul
Mathlib.Tactic.Ring.mul_zero
Mathlib.Tactic.Ring.add_pf_add_zero
Mathlib.Tactic.Ring.zero_mul
two_mul_Ο‰_pow
dvd_rfl
instCharP
map_ofNat
RingHom.instRingHomClass
IsUnit.mul_left_cancel
IsUnit.of_mul_eq_one
instIsDedekindFiniteMonoid
Nat.cast_one
Nat.cast_mul
Even.two_dvd
Odd.add_one
Nat.cast_add
CharP.cast_eq_zero
zero_add
Mathlib.Tactic.Ring.neg_congr
Mathlib.Meta.NormNum.instAtLeastTwo
Mathlib.Tactic.Ring.neg_add
Mathlib.Tactic.Ring.neg_one_mul
Mathlib.Meta.NormNum.IsInt.to_raw_eq
Mathlib.Meta.NormNum.isInt_mul
Mathlib.Meta.NormNum.IsInt.of_raw
Mathlib.Meta.NormNum.IsNat.to_isInt
Mathlib.Meta.NormNum.IsNat.of_raw
Mathlib.Tactic.Ring.neg_zero
map_pow
MonoidWithZeroHomClass.toMonoidHomClass
RingHomClass.toMonoidWithZeroHomClass
mul_pow
right_distrib πŸ“–mathematicalβ€”LucasLehmer.X
instMul
AddCommMagma.toAdd
AddCommSemigroup.toAddCommMagma
AddCommMonoid.toAddCommSemigroup
AddCommGroup.toAddCommMonoid
instAddCommGroup
β€”ext
Mathlib.Tactic.Ring.of_eq
Nat.instAtLeastTwoHAddOfNat
Mathlib.Tactic.Ring.add_congr
Mathlib.Tactic.Ring.mul_congr
Mathlib.Tactic.Ring.atom_pf
Mathlib.Tactic.Ring.add_pf_add_lt
Mathlib.Tactic.Ring.add_pf_zero_add
Mathlib.Tactic.Ring.add_mul
Mathlib.Tactic.Ring.mul_add
Mathlib.Tactic.Ring.mul_pf_left
Mathlib.Tactic.Ring.mul_pf_right
Mathlib.Tactic.Ring.one_mul
Mathlib.Tactic.Ring.mul_zero
Mathlib.Tactic.Ring.add_pf_add_zero
Mathlib.Tactic.Ring.zero_mul
Mathlib.Tactic.Ring.cast_pos
Mathlib.Meta.NormNum.isNat_ofNat
Mathlib.Meta.NormNum.instAtLeastTwo
Mathlib.Tactic.Ring.mul_one
Mathlib.Tactic.Ring.add_pf_add_gt
snd_intCast πŸ“–mathematicalβ€”ZMod
LucasLehmer.X
AddGroupWithOne.toIntCast
instAddGroupWithOne
MulZeroClass.toZero
NonUnitalNonAssocSemiring.toMulZeroClass
NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring
NonUnitalNonAssocCommRing.toNonUnitalNonAssocRing
NonUnitalCommRing.toNonUnitalNonAssocCommRing
CommRing.toNonUnitalCommRing
ZMod.commRing
β€”β€”
snd_natCast πŸ“–mathematicalβ€”ZMod
LucasLehmer.X
instNatCast
MulZeroClass.toZero
NonUnitalNonAssocSemiring.toMulZeroClass
NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring
NonUnitalNonAssocCommRing.toNonUnitalNonAssocRing
NonUnitalCommRing.toNonUnitalNonAssocCommRing
CommRing.toNonUnitalCommRing
ZMod.commRing
β€”β€”
two_mul_Ο‰_pow πŸ“–mathematicalOdd
Nat.instSemiring
legendreSym
LucasLehmer.X
Monoid.toNatPow
instMonoid
instMul
instOfNatAtLeastTwo
instNatCast
Nat.instAtLeastTwoHAddOfNat
Ο‰
NegZeroClass.toNeg
SubNegZeroMonoid.toNegZeroClass
SubtractionMonoid.toSubNegZeroMonoid
SubtractionCommMonoid.toSubtractionMonoid
AddCommGroup.toDivisionAddCommMonoid
instAddCommGroup
β€”Nat.instAtLeastTwoHAddOfNat
one_add_Ξ±_sq
pow_mul
even_iff_two_dvd
Odd.add_one
one_add_Ξ±_pow_q_succ
zero_fst πŸ“–mathematicalβ€”ZMod
LucasLehmer.X
NegZeroClass.toZero
SubNegZeroMonoid.toNegZeroClass
SubtractionMonoid.toSubNegZeroMonoid
SubtractionCommMonoid.toSubtractionMonoid
AddCommGroup.toDivisionAddCommMonoid
instAddCommGroup
MulZeroClass.toZero
NonUnitalNonAssocSemiring.toMulZeroClass
NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring
NonUnitalNonAssocCommRing.toNonUnitalNonAssocRing
NonUnitalCommRing.toNonUnitalNonAssocCommRing
CommRing.toNonUnitalCommRing
ZMod.commRing
β€”β€”
zero_snd πŸ“–mathematicalβ€”ZMod
LucasLehmer.X
NegZeroClass.toZero
SubNegZeroMonoid.toNegZeroClass
SubtractionMonoid.toSubNegZeroMonoid
SubtractionCommMonoid.toSubtractionMonoid
AddCommGroup.toDivisionAddCommMonoid
instAddCommGroup
MulZeroClass.toZero
NonUnitalNonAssocSemiring.toMulZeroClass
NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring
NonUnitalNonAssocCommRing.toNonUnitalNonAssocRing
NonUnitalCommRing.toNonUnitalNonAssocCommRing
CommRing.toNonUnitalCommRing
ZMod.commRing
β€”β€”
Ξ±_pow πŸ“–mathematicalβ€”LucasLehmer.X
Monoid.toNatPow
instMonoid
Ξ±
instMul
instOfNatAtLeastTwo
instNatCast
Nat.instAtLeastTwoHAddOfNat
β€”Nat.instAtLeastTwoHAddOfNat
pow_succ
pow_mul
Ξ±_sq
Ξ±_sq πŸ“–mathematicalβ€”LucasLehmer.X
Monoid.toNatPow
instMonoid
Ξ±
instOfNatAtLeastTwo
instNatCast
Nat.instAtLeastTwoHAddOfNat
β€”ext
Nat.instAtLeastTwoHAddOfNat
sq
MulZeroClass.mul_zero
mul_one
zero_add
add_zero
Ο‰_mul_Ο‰b πŸ“–mathematicalβ€”LucasLehmer.X
instMul
Ο‰
Ο‰b
instOne
β€”ext
Nat.instAtLeastTwoHAddOfNat
mul_one
mul_neg
Mathlib.Tactic.Ring.of_eq
Mathlib.Tactic.Ring.add_congr
Mathlib.Tactic.Ring.mul_congr
Mathlib.Tactic.Ring.cast_pos
Mathlib.Meta.NormNum.isNat_ofNat
Mathlib.Meta.NormNum.instAtLeastTwo
Mathlib.Tactic.Ring.add_mul
Mathlib.Tactic.Ring.mul_add
Mathlib.Meta.NormNum.IsNat.to_raw_eq
Mathlib.Meta.NormNum.isNat_mul
Mathlib.Meta.NormNum.IsNat.of_raw
Mathlib.Tactic.Ring.mul_zero
Mathlib.Tactic.Ring.add_pf_add_zero
Mathlib.Tactic.Ring.zero_mul
Mathlib.Tactic.Ring.neg_congr
Mathlib.Tactic.Ring.neg_add
Mathlib.Tactic.Ring.neg_one_mul
Mathlib.Meta.NormNum.IsInt.to_raw_eq
Mathlib.Meta.NormNum.isInt_mul
Mathlib.Meta.NormNum.IsInt.of_raw
Mathlib.Meta.NormNum.IsNat.to_isInt
Mathlib.Tactic.Ring.neg_zero
Mathlib.Tactic.Ring.add_pf_add_overlap
Mathlib.Meta.NormNum.IsInt.to_isNat
Mathlib.Meta.NormNum.isInt_add
Mathlib.Tactic.Ring.add_pf_zero_add
Nat.cast_one
one_mul
neg_add_cancel
Ο‰_pow_trace πŸ“–mathematicalOdd
Nat.instSemiring
legendreSym
LucasLehmer.X
Distrib.toAdd
NonUnitalNonAssocSemiring.toDistrib
NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring
NonUnitalNonAssocCommRing.toNonUnitalNonAssocRing
NonUnitalCommRing.toNonUnitalNonAssocCommRing
CommRing.toNonUnitalCommRing
instCommRing
Monoid.toNatPow
instMonoid
Ο‰
Ο‰b
MulZeroClass.toZero
NonUnitalNonAssocSemiring.toMulZeroClass
β€”pow_Ο‰
Mathlib.Tactic.Ring.of_eq
Mathlib.Tactic.Ring.mul_congr
Mathlib.Tactic.Ring.neg_congr
Mathlib.Tactic.Ring.cast_pos
Mathlib.Meta.NormNum.isNat_ofNat
Nat.cast_one
Mathlib.Tactic.Ring.neg_add
Mathlib.Tactic.Ring.neg_one_mul
Mathlib.Meta.NormNum.IsInt.to_raw_eq
Mathlib.Meta.NormNum.isInt_mul
Mathlib.Meta.NormNum.IsInt.of_raw
Mathlib.Meta.NormNum.IsNat.to_isInt
Mathlib.Meta.NormNum.IsNat.of_raw
Mathlib.Tactic.Ring.neg_zero
Mathlib.Tactic.Ring.pow_congr
Mathlib.Tactic.Ring.atom_pf
Mathlib.Tactic.Ring.pow_add
Mathlib.Tactic.Ring.single_pow
Mathlib.Tactic.Ring.mul_pow
Mathlib.Tactic.Ring.mul_pf_right
Mathlib.Tactic.Ring.one_mul
Mathlib.Tactic.Ring.one_pow
Mathlib.Tactic.Ring.pow_zero
Mathlib.Tactic.Ring.add_mul
Mathlib.Tactic.Ring.mul_add
Mathlib.Tactic.Ring.mul_pf_left
Mathlib.Tactic.Ring.mul_zero
Mathlib.Tactic.Ring.add_pf_add_zero
Mathlib.Tactic.Ring.zero_mul
Mathlib.Tactic.Ring.mul_one
Mathlib.Tactic.Ring.neg_mul
mul_one
one_pow
Ο‰_mul_Ο‰b
mul_pow
mul_assoc
pow_add
Mathlib.Tactic.Ring.add_congr
Mathlib.Tactic.Ring.add_pf_add_overlap_zero
Mathlib.Tactic.Ring.add_overlap_pf_zero
Mathlib.Meta.NormNum.IsInt.to_isNat
Mathlib.Meta.NormNum.isInt_add
Mathlib.Tactic.Ring.add_pf_zero_add
Mathlib.Tactic.Ring.cast_zero
Nat.cast_zero
Ο‰b_mul_Ο‰ πŸ“–mathematicalβ€”LucasLehmer.X
instMul
Ο‰b
Ο‰
instOne
β€”mul_comm
Ο‰_mul_Ο‰b

LucasLehmer.norm_num_ext

Definitions

NameCategoryTheorems
evalLucasLehmerTest πŸ“–CompOpβ€”
sModNat πŸ“–CompOp
3 mathmath: sModNat_eq_sMod, sModNat_aux_eq, sModNatTR_eq_sModNat
sModNatTR πŸ“–CompOp
1 mathmath: sModNatTR_eq_sModNat
sModNat_aux πŸ“–CompOp
1 mathmath: sModNat_aux_eq

Theorems

NameKindAssumesProvesValidatesDepends On
isNat_lucasLehmerTest πŸ“–β€”Mathlib.Meta.NormNum.IsNat
Nat.instAddMonoidWithOne
LucasLehmer.LucasLehmerTest
β€”β€”β€”
isNat_not_lucasLehmerTest πŸ“–β€”Mathlib.Meta.NormNum.IsNat
Nat.instAddMonoidWithOne
LucasLehmer.LucasLehmerTest
β€”β€”β€”
sModNatTR_eq_sModNat πŸ“–mathematicalβ€”sModNatTR
sModNat
β€”sModNat_aux_eq
sModNat_aux_eq πŸ“–mathematicalβ€”sModNat_aux
sModNat
β€”sModNat_aux.eq_2
sModNat.eq_2
sModNat_eq_sMod πŸ“–mathematicalβ€”sModNat
Monoid.toNatPow
Nat.instMonoid
LucasLehmer.sMod
β€”IsStrictOrderedRing.toIsOrderedRing
Nat.instIsStrictOrderedRing
Nat.instNontrivial
Nat.instAtLeastTwoHAddOfNat
sModNat.eq_1
LucasLehmer.sMod.eq_1
Nat.cast_sub
Nat.cast_pow
Nat.cast_one
sModNat.eq_2
LucasLehmer.sMod.eq_2
Nat.cast_add
add_sub_assoc
sub_eq_add_neg
add_assoc
add_comm
testFalseHelper πŸ“–mathematicalsModNatTR
Monoid.toNatPow
Nat.instMonoid
LucasLehmer.LucasLehmerTestβ€”LucasLehmer.LucasLehmerTest.eq_1
LucasLehmer.residue_eq_zero_iff_sMod_eq_zero
sModNat_eq_sMod
sModNatTR_eq_sModNat
testTrueHelper πŸ“–mathematicalsModNatTR
Monoid.toNatPow
Nat.instMonoid
LucasLehmer.LucasLehmerTestβ€”LucasLehmer.LucasLehmerTest.eq_1
LucasLehmer.residue_eq_zero_iff_sMod_eq_zero
sModNat_eq_sMod
sModNatTR_eq_sModNat

Mathlib.Meta.Positivity

Definitions

NameCategoryTheorems
evalMersenne πŸ“–CompOpβ€”

Theorems

NameKindAssumesProvesValidatesDepends On
mersenne_pos_of_pos πŸ“–mathematicalβ€”mersenneβ€”mersenne_pos

Nat.Prime

Theorems

NameKindAssumesProvesValidatesDepends On
of_mersenne πŸ“–β€”Nat.Prime
mersenne
β€”β€”Nat.prime_of_pow_sub_one_prime
Nat.not_prime_one

(root)

Definitions

NameCategoryTheorems
mersenne πŸ“–CompOp
18 mathmath: lucas_lehmer_sufficiency, LucasLehmer.mersenne_coe_X, mersenne_mod_eight, Mathlib.Meta.Positivity.mersenne_pos_of_pos, mersenne_le_mersenne, mersenne_pos, mersenne_mod_three, strictMono_mersenne, one_lt_mersenne, mersenne_succ, mersenne_mod_four, succ_mersenne, legendreSym_mersenne_two, mersenne_lt_mersenne, mersenne_zero, LucasLehmer.Ο‰_pow_formula, mersenne_odd, legendreSym_mersenne_three

Theorems

NameKindAssumesProvesValidatesDepends On
legendreSym_mersenne_three πŸ“–mathematicalOdd
Nat.instSemiring
legendreSym
mersenne
β€”Nat.fact_prime_three
legendreSym.quadratic_reciprocity_three_mod_four
Mathlib.Meta.NormNum.isNat_eq_true
Mathlib.Meta.NormNum.isNat_natMod
Mathlib.Meta.NormNum.isNat_ofNat
mersenne_mod_four
legendreSym.mod
Nat.cast_one
mersenne_mod_three
legendreSym.congr_simp
legendreSym.at_one
legendreSym_mersenne_two πŸ“–mathematicalβ€”legendreSym
mersenne
β€”mersenne_mod_eight
legendreSym.at_two
ZMod.Ο‡β‚ˆ_nat_eq_if_mod_eight
lucas_lehmer_necessity πŸ“–mathematicalNat.Prime
mersenne
LucasLehmer.LucasLehmerTestβ€”LucasLehmer.sZMod_eq_s
LucasLehmer.X.fst_intCast
LucasLehmer.X.closed_form
add_tsub_cancel_right
Nat.instOrderedSub
IsLeftCancelAdd.addLeftReflectLE_of_addLeftReflectLT
AddLeftCancelSemigroup.toIsLeftCancelAdd
contravariant_lt_of_covariant_le
IsOrderedAddMonoid.toAddLeftMono
Nat.instIsOrderedAddMonoid
LucasLehmer.X.Ο‰_pow_trace
Nat.instCharZero
Nat.instAtLeastTwoHAddOfNat
legendreSym_mersenne_three
Nat.Prime.odd_of_ne_two
Nat.Prime.of_mersenne
legendreSym_mersenne_two
succ_mersenne
pow_add
mul_div_cancel_rightβ‚€
Nat.instMulDivCancelClass
Mathlib.Meta.NormNum.isNat_eq_false
Mathlib.Meta.NormNum.isNat_ofNat
Mathlib.Meta.NormNum.isNat_eq_true
Mathlib.Meta.NormNum.isNat_pow
Mathlib.Meta.NormNum.IsNatPowT.run
Mathlib.Meta.NormNum.IsNatPowT.bit0
lucas_lehmer_sufficiency πŸ“–mathematicalLucasLehmer.LucasLehmerTestNat.Prime
mersenne
β€”Mathlib.Tactic.Contrapose.contrapose₁
LucasLehmer.order_ineq
Nat.minFac_sq_le_self
mersenne_pos
lt_of_lt_of_le
not_lt_of_ge
mersenne_le_mersenne πŸ“–mathematicalβ€”mersenneβ€”StrictMono.le_iff_le
strictMono_mersenne
mersenne_lt_mersenne πŸ“–mathematicalβ€”mersenneβ€”StrictMono.lt_iff_lt
strictMono_mersenne
mersenne_mod_eight πŸ“–mathematicalβ€”mersenneβ€”Nat.le_induction
mersenne_succ
mersenne_mod_four πŸ“–mathematicalβ€”mersenneβ€”Nat.le_induction
mersenne_succ
mersenne_mod_three πŸ“–mathematicalOdd
Nat.instSemiring
mersenneβ€”Nat.le_induction
mersenne_succ
mersenne_odd πŸ“–mathematicalβ€”Odd
Nat.instSemiring
mersenne
β€”Nat.Even.sub_odd
Nat.instAtLeastTwoHAddOfNat
one_le_powβ‚€
Nat.instZeroLEOneClass
IsOrderedRing.toPosMulMono
IsStrictOrderedRing.toIsOrderedRing
Nat.instIsStrictOrderedRing
one_le_two
IsOrderedAddMonoid.toAddLeftMono
Nat.instIsOrderedAddMonoid
Even.pow_of_ne_zero
even_two
odd_one
mersenne_pos πŸ“–mathematicalβ€”mersenneβ€”mersenne_lt_mersenne
mersenne_succ πŸ“–mathematicalβ€”mersenneβ€”two_pos
Nat.instZeroLEOneClass
IsOrderedAddMonoid.toAddLeftMono
Nat.instIsOrderedAddMonoid
mersenne_zero πŸ“–mathematicalβ€”mersenneβ€”β€”
modEq_mersenne πŸ“–mathematicalβ€”Nat.ModEq
Monoid.toNatPow
Nat.instMonoid
β€”Nat.ModEq.add_right
Nat.ModEq.mul_right
Nat.modEq_sub
pow_pos
LinearOrderedCommMonoidWithZero.toPosMulStrictMono
Nat.instZeroLEOneClass
zero_lt_two
IsOrderedAddMonoid.toAddLeftMono
Nat.instIsOrderedAddMonoid
one_mul
one_lt_mersenne πŸ“–mathematicalβ€”mersenneβ€”mersenne_lt_mersenne
strictMono_mersenne πŸ“–mathematicalβ€”StrictMono
Nat.instPreorder
mersenne
β€”Nat.instAtLeastTwoHAddOfNat
two_pos
Nat.instZeroLEOneClass
IsOrderedAddMonoid.toAddLeftMono
Nat.instIsOrderedAddMonoid
pow_lt_pow_rightβ‚€
LinearOrderedCommMonoidWithZero.toPosMulStrictMono
Mathlib.Meta.NormNum.isNat_lt_true
IsStrictOrderedRing.toIsOrderedRing
Nat.instIsStrictOrderedRing
Nat.instCharZero
Mathlib.Meta.NormNum.isNat_ofNat
succ_mersenne πŸ“–mathematicalβ€”mersenne
Monoid.toNatPow
Nat.instMonoid
β€”mersenne.eq_1
tsub_add_cancel_of_le
StarOrderedRing.toExistsAddOfLE
Nat.instStarOrderedRing
IsOrderedAddMonoid.toAddLeftMono
Nat.instIsOrderedAddMonoid
Nat.instOrderedSub
one_le_powβ‚€
Nat.instZeroLEOneClass
IsOrderedRing.toPosMulMono
IsStrictOrderedRing.toIsOrderedRing
Nat.instIsStrictOrderedRing
Nat.instAtLeastTwoHAddOfNat
Nat.instCharZero

---

← Back to Index