Compfiles/Imo1989P5.lean
9 declarations, 0 contain sorry, 0 declared as axioms
International Mathematical Olympiad 1989, Problem 5
Prove that for each positive integer n there exist n consecutive positive integers, none of which is an integral power of a prime number.
Imports (5)
Imported by 1 file
- structure
Imo1989P5.ChinesePairline 31 sourceno axioms what this means
- lemma
Imo1989P5.general_chinese_remainderline 35 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
List, Imo1989P5.ChinesePair,List.Pairwise,Nat.Coprime,Imo1989P5.ChinesePair.modulus,Exists,Nat,Membership.mem,Nat.ModEq,Imo1989P5.ChinesePair.remainderProof uses:
List.rec,List.nil,Exists.intro,OfNat.ofNat,of_decide_eq_true,id,Eq,Bool,Decidable.decide,Bool.true,Eq.refl,List.cons,List.Pairwise.tail,List.prod,List.map,Iff.mpr,Nat.coprime_list_prod_right_iff,And,Eq.mp,congrArgand 14 more20 instances, coercions and auxiliary constants left out.
Tactic trace: 17 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1989P5.list_upper_boundline 59 sourcestandard axioms: propext what this means
Statement uses:
List,Nat,Exists,Membership.mem,LE.leProof uses:
Exists.intro,List.foldr,Max.max,Bot.bot,List.le_max_of_le,le_refl9 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- theorem
Imo1989P5.get_primesline 64 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Exists,List,And,Eq,List.length,List.Nodup,Membership.mem,Nat.Prime,LE.leProof uses:
Nat.recAux,Exists.intro,OfNat.ofNat,EmptyCollection.emptyCollection,of_eq_true,Eq.trans,True,congr,congrArg,eq_self,List.nil,forall_congr,False,implies_congr,Eq.refl,implies_true,and_self,HAdd.hAdd, Imo1989P5.list_upper_bound,Max.maxand 16 more33 instances, coercions and auxiliary constants left out.
Tactic trace: 22 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1989P5.not_prime_power_of_two_factorsline 84 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Nat.Prime,Ne,Dvd.dvd,Not,IsPrimePowProof uses:
OfNat.ofNat,IsPrimePow.ne_zero,Exists,And,Prime,LT.lt,Eq,HPow.hPow,False,Membership.mem,List,Nat.primeFactorsList,Iff.mpr,Nat.mem_primeFactorsList,Eq.mp,congrArg,Eq.symm,And.intro,And.right,Iff.mpand 6 more20 instances, coercions and auxiliary constants left out.
Tactic trace: 14 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1989P5.lemma1line 103 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Nat.Prime,Ne,Nat.Coprime,HMul.hMulProof uses:
Iff.mpr,Nat.coprime_primes,Nat.Coprime.mul_left2 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1989P5.lemma2line 114 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Nat.Prime,Ne,Nat.Coprime,HMul.hMulProof uses: Imo1989P5.lemma1,
Nat.Coprime.mul_right4 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1989P5.lemma3line 128 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
List,List.Nodup,Fin,List.length,Ne,List.getProof uses:
Eq,Iff.mp,Function.Injective,List.nodup_iff_injective_getTactic trace: 2 steps
Open to load the checked before-and-after goal states.
- problem
Imo1989P5.imo1989_p5line 139 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Exists,LT.lt,Not,IsPrimePow,HAdd.hAddProof uses:
List,And,Eq,List.length,HMul.hMul,OfNat.ofNat,List.Nodup,Membership.mem,Nat.Prime,LE.le, Imo1989P5.get_primes, Imo1989P5.ChinesePair,List.ofFn,Fin,List.get,Fin.mk,Imo1989P5.ChinesePair.mk,HSub.hSub,List.Pairwise,Nat.Coprimeand 53 more48 instances, coercions and auxiliary constants left out.
Tactic trace: 54 steps
Open to load the checked before-and-after goal states.