Compfiles/Imo2018P2.lean
7 declarations, 0 contain sorry, 0 declared as axioms
International Mathematical Olympiad 2018, Problem 2
Determine all integers n ≥ 3 such that there exist real numbers a₁, a₂, ..., aₙ satisfying
aᵢaᵢ₊₁ + 1 = aᵢ₊₂,
where the indices are taken mod n.
Imports (2)
Imported by 1 file
- abbrev
Imo2018P2.Pline 30 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,ZMod,RealProof uses:
Eq,HAdd.hAdd,HMul.hMul,OfNat.ofNat18 instances, coercions and auxiliary constants left out.
- lemma
Imo2018P2.not_dvd_prime_exists_mod_inverseline 35 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,NeZero,Nat.Prime,LT.lt,OfNat.ofNat,Not,Dvd.dvd,Exists,ZMod,Eq,HMul.hMulProof uses:
And,HMod.hMod,Nat.exists_mul_mod_eq_one_of_coprime,Iff.mpr,Nat.Coprime,Nat.Prime.coprime_iff_not_dvd,Exists.intro,Eq.mpr,id,congrArg,Eq.symm,Nat.cast_one,Nat.cast_mul,Nat.ModEq,propext,ZMod.natCast_eq_natCast_iff,Nat.mod_eq_of_lt,And.right45 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
- lemma
Imo2018P2.mod_3_satisfiesline 46 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LE.le,OfNat.ofNat,Dvd.dvd,Exists,ZMod,Real, Imo2018P2.PProof uses:
Fact,LT.lt,Fact.mk,Nat.lt_of_add_left_lt,ite,ZMod.val,Neg.neg,Exists.intro,Or,And,Not,HAdd.hAdd,Mathlib.Tactic.ModCases.NatMod.onModCases_start,Eq.refl,Bool,Bool.true,Mathlib.Tactic.ModCases.NatMod.onModCases_succ,Nat.ModEq,Eq.mpr,Eqand 54 more68 instances, coercions and auxiliary constants left out.
Tactic trace: 18 steps
Open to load the checked before-and-after goal states.
- lemma
Imo2018P2.three_periodicline 74 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,NeZero,ZMod,Real, Imo2018P2.P,Eq,HAdd.hAdd,OfNat.ofNatProof uses:
HSub.hSub,HPow.hPow,HMul.hMul,Trans.trans,Eq.mpr,id,congrArg,Eq.symm,of_eq_true,Eq.trans,True,congr,Nat.rawCast,Mathlib.Meta.NormNum.instAddMonoidWithOne,inferInstance,Ring,Mathlib.Tactic.Ring.Common.sub_congr,Mathlib.Tactic.Ring.Common.pow_congr,Mathlib.Tactic.Ring.Common.add_congr,Mathlib.Tactic.Ring.Common.mul_congrand 96 more137 instances, coercions and auxiliary constants left out.
Tactic trace: 41 steps
Open to load the checked before-and-after goal states.
- lemma
Imo2018P2.satisfies_is_mod_3line 127 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LE.le,OfNat.ofNat,Exists,ZMod,Real, Imo2018P2.P,Dvd.dvdProof uses:
LT.lt,Nat.lt_of_add_left_lt,Fact,Fact.mk,Eq,HAdd.hAdd,HMul.hMul,Eq.mpr,ZMod.val,id,congrArg,Eq.symm,ZMod.natCast_zmod_val,Nat.recAux,of_eq_true,Eq.trans,True,congrFun',Nat.cast_zero,MulZeroClass.mul_zeroand 191 more152 instances, coercions and auxiliary constants left out.
Tactic trace: 36 steps
Open to load the checked before-and-after goal states.
- determine
Imo2018P2.solution_setline 172 sourceno axioms what this means
Statement uses:
Set,NatProof uses:
Set.ofPred,And,LE.le,OfNat.ofNat,Dvd.dvd3 instances, coercions and auxiliary constants left out.
- problem
Imo2018P2.imo2018_p2line 174 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Iff,Membership.mem,Set, Imo2018P2.solution_set,And,LE.le,OfNat.ofNat,Exists,ZMod,Real, Imo2018P2.PProof uses:
Iff.intro,Dvd.dvd,And.intro, Imo2018P2.mod_3_satisfies, Imo2018P2.satisfies_is_mod_38 instances, coercions and auxiliary constants left out.
Tactic trace: 7 steps
Open to load the checked before-and-after goal states.