Compfiles/Imo1975P5.lean
16 declarations, 0 contain sorry, 0 declared as axioms
International Mathematical Olympiad 1975, Problem 5
Determine, with proof, whether or not one can find $1975$ points on the circumference of a circle with unit radius such that the distance between any two of them is a rational number.
Imports (2)
Imported by 1 file
- determine
Imo1975P5.constructibleline 26 sourceno axioms what this means
Statement uses:
BoolProof uses:
Bool.true - theorem
Imo1975P5.not_irrational_addline 30 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Real,Not,Irrational,HAdd.hAddProof uses:
Iff.mpr,Or,not_imp_not,Irrational.add_cases,not_or_intro4 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- theorem
Imo1975P5.not_irrational_subline 35 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Real,Not,Irrational,HSub.hSubProof uses:
Iff.mpr,Or,Neg.neg,HAdd.hAdd,not_imp_not,Irrational.add_cases,not_or_intro,Eq.mpr,id,Eq,congrArg,propext,irrational_neg_iff5 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
- theorem
Imo1975P5.not_irrational_mulline 42 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Real,Not,Irrational,HMul.hMulProof uses:
Iff.mpr,Or,not_imp_not,Irrational.mul_cases,not_or_intro4 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- theorem
Imo1975P5.irrational_abs_iffline 47 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Real,Iff,Irrational,absProof uses:
abs_by_cases,Iff.rfl,irrational_neg_iff4 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- def
Imo1975P5.θline 52 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
RealProof uses:
Real.arccos,HDiv.hDiv,OfNat.ofNat7 instances, coercions and auxiliary constants left out.
- theorem
Imo1975P5.sin_θline 54 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Eq,Real,Real.sin, Imo1975P5.θ,HDiv.hDiv,Rat,OfNat.ofNatProof uses:
id,Eq.mpr,Real.arccos,Real.sqrt,HSub.hSub,HPow.hPow,Nat,congrArg,Real.sin_arccos,Mathlib.Tactic.Ring.of_eq,HAdd.hAdd,NNRat.rawCast,Mathlib.Tactic.Ring.cast_nnrat,Mathlib.Meta.NormNum.isNNRat_realSqrt_of_isNNRat,Eq.refl,Mathlib.Meta.NormNum.IsRat.to_isNNRat,Mathlib.Meta.NormNum.isRat_sub,Int.ofNat,Mathlib.Meta.NormNum.IsNNRat.to_isRat,Mathlib.Meta.NormNum.IsNat.to_isNNRatand 16 more66 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- theorem
Imo1975P5.cos_θline 59 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Eq,Real,Real.cos, Imo1975P5.θ,HDiv.hDiv,Rat,OfNat.ofNatProof uses:
id,Eq.mpr,Real.arccos,congrArg,Real.cos_arccos,le_of_not_gt,Neg.neg,LT.lt,Mathlib.Tactic.Linarith.lt_irrefl,Eq.mp,HAdd.hAdd,HMul.hMul,Nat,inferInstance,AddMonoidWithOne,Mathlib.Meta.NormNum.instAtLeastTwo,Mathlib.Tactic.Ring.of_eq,Mathlib.Tactic.Ring.Common.add_congr,Int.rawCast,Ringand 65 more104 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- def
Imo1975P5.Pline 64 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,CircleProof uses:
ContinuousMap,Real,Circle.exp,HMul.hMul, Imo1975P5.θ,OfNat.ofNat12 instances, coercions and auxiliary constants left out.
- lemma
Imo1975P5.P_cast_eqline 66 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq,Complex,Membership.mem,Submonoid,Submonoid.unitSphere, Imo1975P5.P,Complex.mk,Real.cos,HMul.hMul,Real, Imo1975P5.θ,OfNat.ofNat,Real.sinProof uses:
Eq.mpr,ContinuousMap,Circle,Circle.exp,id,congrArg,Imo1975P5.P.eq_1,Complex.exp,Complex.I,Circle.coe_exp,And,Complex.re,Complex.im,propext,Complex.ext_iff,congr,congrFun',Eq.trans,Real.exp,Complex.ofReal_muland 41 more93 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- theorem
Imo1975P5.not_irrational_sin_θ_mul_and_not_irrational_cos_θ_mulline 72 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,And,Not,Irrational,Real.sin,HMul.hMul,Real, Imo1975P5.θ,Real.cosProof uses:
Nat.recAux,of_eq_true,OfNat.ofNat,Eq.trans,True,congr,congrArg,False,CharP.cast_eq_zero,MulZeroClass.mul_zero,Real.sin_zero,not_false_eq_true,Real.cos_zero,and_self,Eq.mpr,HAdd.hAdd,id,Eq,Nat.cast_add,mul_addand 3 more43 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1975P5.Circle.dist_eqline 80 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Circle,Eq,Real,Dist.dist,Complex,Membership.mem,Submonoid,Submonoid.unitSphereProof uses:
rfl22 instances, coercions and auxiliary constants left out.
- theorem
Imo1975P5.not_irrational_dist_P_Pline 82 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Not,Irrational,Dist.dist,Circle, Imo1975P5.PProof uses:
id,Eq.mpr,Complex,Membership.mem,Submonoid,Submonoid.unitSphere,Complex.mk,Real.cos,HMul.hMul,Real, Imo1975P5.θ,OfNat.ofNat,Real.sin,Eq,congrArg,congr, Imo1975P5.P_cast_eq,Real.sqrt,HAdd.hAdd,HPow.hPowand 33 more113 instances, coercions and auxiliary constants left out.
Tactic trace: 14 steps
Open to load the checked before-and-after goal states.
- theorem
Imo1975P5.sin_mul_θ_ne_zeroline 96 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LE.le,OfNat.ofNat,Ne,Real,Real.sin,HMul.hMul, Imo1975P5.θProof uses:
id,Eq,Membership.mem,Set,Insert.insert,Neg.neg,HDiv.hDiv,Singleton.singleton,niven_sin,Exists,Int,Real.pi,Rat,Eq.mp,congrArg,propext,Real.sin_eq_zero_iff,Exists.intro,Eq.mpr,congrFun'and 17 more79 instances, coercions and auxiliary constants left out.
Tactic trace: 18 steps
Open to load the checked before-and-after goal states.
- theorem
Imo1975P5.P_injectiveline 114 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Function.Injective,Nat,Circle, Imo1975P5.PProof uses:
Eq,Mathlib.Tactic.Contrapose.contrapose₁,id,Not,Ne,LT.lt,Or,Classical.em,Eq.mpr,Complex,Membership.mem,Submonoid,Submonoid.unitSphere,congrArg,Complex.mk,Real.cos,HMul.hMul,Real, Imo1975P5.θ,OfNat.ofNatand 15 more58 instances, coercions and auxiliary constants left out.
Tactic trace: 18 steps
Open to load the checked before-and-after goal states.
- problem
Imo1975P5.imo1975_p5line 134 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Iff,Eq,Bool, Imo1975P5.constructible,Bool.true,Exists,Finset,Circle,And,Nat,Finset.card,OfNat.ofNat,Set.Pairwise,Not,Irrational,Dist.distProof uses:
Eq.mpr,id,Eq.trans,True,congrFun',congrArg,eq_self,true_iff,Exists.intro,Finset.map,Function.Embedding.mk, Imo1975P5.P, Imo1975P5.P_injective,Finset.range,And.intro,of_eq_true,Finset.card_map,Finset.card_range,Membership.mem,Setand 11 more20 instances, coercions and auxiliary constants left out.
Tactic trace: 9 steps
Open to load the checked before-and-after goal states.