Compfiles/Imo1976P2.lean
16 declarations, 0 contain sorry, 0 declared as axioms
International Mathematical Olympiad 1976, Problem 2
Let $P_{1}(x) = x^{2} - 2$ and $P_{j}(x) = P_{1}(P_{j - 1}(x))$ for $j= 2,\ldots$. Show that for any positive integer $n,$ the roots of the equation $P_{n}(x) = x$ are real and distinct.
Imports (2)
Imported by 1 file
- def
Imo1976P2.Pline 30 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Polynomial,RealProof uses:
WellFounded.Nat.fix,InvImage,LT.lt,Imo1976P2.P.match_1,Unit,OfNat.ofNat,HSub.hSub,HPow.hPow,Polynomial.X,Nat.succ,Polynomial.comp,HAdd.hAdd21 instances, coercions and auxiliary constants left out.
- theorem
Imo1976P2.all_real_rootsline 39 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Polynomial,Real,Finset,Membership.mem,Polynomial.IsRoot,Eq,Nat,Finset.card,Polynomial.natDegree,Multiset,Complex,Polynomial.aroots,Finset.val,Finset.imageProof uses:
Ne,OfNat.ofNat,Not,Or,Classical.em,Eq.mpr,id,congrArg,propext,eq_comm,Multiset.eq_of_le_of_card_le,LE.le,HasSubset.Subset,Multiset.le_iff_subset,of_eq_true,Multiset.Nodup,Multiset.dedup,Multiset.map,Exists,Andand 33 more116 instances, coercions and auxiliary constants left out.
Tactic trace: 26 steps
Open to load the checked before-and-after goal states.
- theorem
Imo1976P2.root_of_sign_flipline 62 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
ConditionallyCompleteLinearOrder,TopologicalSpace,OrderTopology,DenselyOrdered,Ring,LinearOrder,OrderClosedTopology,AddLeftMono,MulPosMono,PosMulMono,LE.le,ContinuousOn,Set.Icc,LT.lt,HMul.hMul,OfNat.ofNat,Exists,And,Membership.mem,Setand 2 moreProof uses:
dite,Set.image,intermediate_value_Ioo,Eq.mpr,id,Mathlib.Tactic.Contrapose.contrapose₁,Not,implies_congr,Eq.trans,Mathlib.Tactic.Push.not_and_eq,Eq.refl,le_mul_of_le_mul_of_nonneg_left,mul_nonneg,le_of_lt,Eq.mp,Neg.neg,congrArg,Eq.symm,neg_mul_neg,le_mul_of_le_mul_of_nonneg_rightand 5 more68 instances, coercions and auxiliary constants left out.
Tactic trace: 42 steps
Open to load the checked before-and-after goal states.
- theorem
Imo1976P2.P_natDegreeline 100 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LT.lt,OfNat.ofNat,Eq,Polynomial.natDegree,Real, Imo1976P2.P,HPow.hPowProof uses:
Imo1976P2.P.induct_unfolding,Polynomial,False.elim,Eq.mp,False,of_eq_true,HSub.hSub,Polynomial.X,Eq.trans,True,congr,congrArg,RingHom,Polynomial.C,Polynomial.natDegree_sub_C,HMul.hMul,Polynomial.natDegree_pow,Polynomial.natDegree_X,mul_one,pow_oneand 38 more99 instances, coercions and auxiliary constants left out.
Tactic trace: 15 steps
Open to load the checked before-and-after goal states.
- structure
Imo1976P2.NicePlotOfPline 112 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LT.lt,OfNat.ofNat2 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- theorem
Imo1976P2.NicePlotOfP.findRootline 122 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LT.lt,OfNat.ofNat, Imo1976P2.NicePlotOfP,HAdd.hAdd,Imo1976P2.NicePlotOfP.k,Exists,Real,And,Membership.mem,Set,Set.Ioo,Imo1976P2.NicePlotOfP.x,Fin.mk,Polynomial.IsRoot, Imo1976P2.PProof uses:
Polynomial.eval,Continuous,Polynomial.continuous_eval₂,RingHom.id,LE.le,id,StrictMono.monotone,Fin,Imo1976P2.NicePlotOfP.strictMono,of_eq_true,Eq.trans,True,HMul.hMul,Eq.mpr,HPow.hPow,Neg.neg,Eq,congrArg,Imo1976P2.NicePlotOfP.y_eq,pow_succand 17 more167 instances, coercions and auxiliary constants left out.
Tactic trace: 17 steps
Open to load the checked before-and-after goal states.
- theorem
Imo1976P2.NicePlotOfP.findRoot.spec_gtline 140 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LT.lt,OfNat.ofNat, Imo1976P2.NicePlotOfP,HAdd.hAdd,Imo1976P2.NicePlotOfP.k,Fin,Eq,Real,Imo1976P2.NicePlotOfP.x,Exists.choose,And,Membership.mem,Set,Set.Ioo,Fin.mk,Polynomial.IsRoot, Imo1976P2.P, Imo1976P2.NicePlotOfP.findRootProof uses:
Exists.choose_spec,Eq.mpr,id,Eq.rec,Eq.refl,Eq.trans,congrArg,of_eq_true,Eq.symm,True,Fin.mk.congr_simp,eq_self,And.left,Iff.mpr,Set.mem_Ioo23 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
- theorem
Imo1976P2.NicePlotOfP.findRoot.spec_ltline 148 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LT.lt,OfNat.ofNat, Imo1976P2.NicePlotOfP,HAdd.hAdd,Imo1976P2.NicePlotOfP.k,Fin,Eq,Real,Exists.choose,And,Membership.mem,Set,Set.Ioo,Imo1976P2.NicePlotOfP.x,Fin.mk,Polynomial.IsRoot, Imo1976P2.P, Imo1976P2.NicePlotOfP.findRootProof uses:
Exists.choose_spec,Eq.mpr,id,Eq.rec,Eq.refl,Eq.trans,congrArg,of_eq_true,Eq.symm,True,Fin.mk.congr_simp,eq_self,And.right,Iff.mpr,Set.mem_Ioo,And.left22 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- theorem
Imo1976P2.NicePlotOfP.findRoot.spec_rootline 154 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LT.lt,OfNat.ofNat, Imo1976P2.NicePlotOfP,HAdd.hAdd,Imo1976P2.NicePlotOfP.k,Polynomial.IsRoot,Real, Imo1976P2.P,Exists.choose,And,Membership.mem,Set,Set.Ioo,Imo1976P2.NicePlotOfP.x,Fin.mk, Imo1976P2.NicePlotOfP.findRootProof uses:
Exists.choose_spec,And.right16 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- theorem
Imo1976P2.Fin.val_orderSucc_of_notTopline 160 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Fin,HAdd.hAdd,OfNat.ofNat,Ne,Top.top,Eq,Order.succProof uses:
Eq.mpr,Fin.castSucc,Fin.mk,Fin.val_lt_last,id,congrArg,of_eq_true,eq_self,Fin.succ,Fin.orderSucc_castSucc,Eq.trans,True35 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- def
Imo1976P2.makePlotline 166 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LT.lt,OfNat.ofNat, Imo1976P2.NicePlotOfP6 instances, coercions and auxiliary constants left out.
Tactic trace: 95 steps
Open to load the checked before-and-after goal states.
- theorem
Imo1976P2.P_intersect_Xline 267 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LT.lt,OfNat.ofNat, Imo1976P2.NicePlotOfP,Membership.mem,Finset,Finset.range,HSub.hSub,Polynomial.natDegree,Real, Imo1976P2.P,Exists,And,Set,Set.Ioo,Imo1976P2.NicePlotOfP.x,Fin.mk,Imo1976P2.NicePlotOfP.k,HAdd.hAdd,Eqand 3 moreProof uses:
Continuous,Polynomial.continuous_eval₂,RingHom.id,LE.le,id,StrictMono.monotone,Fin,Imo1976P2.NicePlotOfP.strictMono,Insert.insert,Singleton.singleton,Neg.neg,Eq.mpr,HMul.hMul,HPow.hPow,congrArg,Imo1976P2.NicePlotOfP.y_eq,dite,Even,Iff.mpr,neg_one_pow_eq_one_iff_evenand 90 more185 instances, coercions and auxiliary constants left out.
Tactic trace: 63 steps
Open to load the checked before-and-after goal states.
- theorem
Imo1976P2.P_intersect_X.spec_gtline 328 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LT.lt,OfNat.ofNat, Imo1976P2.NicePlotOfP,Membership.mem,Finset,Finset.range,HSub.hSub,Polynomial.natDegree,Real, Imo1976P2.P,Fin,Imo1976P2.NicePlotOfP.k,Eq,Imo1976P2.NicePlotOfP.x,Exists.choose,And,Set,Set.Ioo,Fin.mkand 5 moreProof uses:
Exists.choose_spec38 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- theorem
Imo1976P2.P_intersect_X.spec_ltline 333 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LT.lt,OfNat.ofNat, Imo1976P2.NicePlotOfP,Membership.mem,Finset,Finset.range,HSub.hSub,Polynomial.natDegree,Real, Imo1976P2.P,Fin,Imo1976P2.NicePlotOfP.k,Eq,HAdd.hAdd,Exists.choose,And,Set,Set.Ioo,Imo1976P2.NicePlotOfP.xand 5 moreProof uses:
Exists.choose_spec38 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- theorem
Imo1976P2.P_intersect_X.spec_rootline 338 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LT.lt,OfNat.ofNat, Imo1976P2.NicePlotOfP,Membership.mem,Finset,Finset.range,HSub.hSub,Polynomial.natDegree,Real, Imo1976P2.P,Polynomial.IsRoot,Polynomial,Polynomial.X,Exists.choose,And,Set,Set.Ioo,Imo1976P2.NicePlotOfP.x,Fin.mkand 5 moreProof uses:
Exists.choose_spec,And.right34 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- problem
Imo1976P2.imo1976_p2line 346 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LT.lt,OfNat.ofNat,And,Complex,Membership.mem,Multiset,Polynomial.aroots,Real,HSub.hSub,Polynomial, Imo1976P2.P,Polynomial.X,Eq,Complex.im,Multiset.NodupProof uses:
Exists,Finset,Finset.card,Polynomial.natDegree,Polynomial.IsRoot, Imo1976P2.NicePlotOfP, Imo1976P2.makePlot,Exists.intro,Union.union,Singleton.singleton,Finset.image,Subtype,Finset.range,Exists.choose,Set,Set.Ioo,Imo1976P2.NicePlotOfP.x,Fin.mk,Imo1976P2.NicePlotOfP.k,Subtype.propand 91 more183 instances, coercions and auxiliary constants left out.
Tactic trace: 57 steps
Open to load the checked before-and-after goal states.