Compfiles/Imo2001P5.lean
Explanation legend Lean4 Domain Explanation Language (L4DEL)
L4DEL explanations are a separate layer. They do not change the Lean source. Intuition is explanatory prose; numbered items are a reading path; sources link the wording back to evidence.
- L4DEL
- Lean4 Domain Explanation Language
Credit: The upstream authors and contributors retain credit for the project and mathematics. lean4-explainer only renders their pinned source and adds the separately disclosed explanation layer.
Project sources: Pinned compfiles documentation, Pinned compfiles corpus index
32 declarations, 0 contain sorry, 0 declared as axioms
International Mathematical Olympiad 2001, Problem 5
Let ABC be a triangle. Let AP bisect ∠BAC and let BQ bisect ∠ABC,
with P on BC and Q on AC. If AB + BP = AQ + QB and ∠BAC = 60°,
what are the angles of the triangle?
Imported by 1 file
- structure
Imo2001P5.SetupThe problem's configuration line 41 sourceSource documentation
The problem's configuration.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NormedAddCommGroup,InnerProductSpace,Real,MetricSpace,NormedAddTorsor3 instances, coercions and auxiliary constants left out.
structure Setup where …
- lemma
Imo2001P5.Setup.A_ne_Bline 70 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NormedAddCommGroup,InnerProductSpace,Real,MetricSpace,NormedAddTorsor, Imo2001P5.Setup,Ne,Imo2001P5.Setup.A,Imo2001P5.Setup.BProof uses:
id,Eq,EuclideanGeometry.angle,Imo2001P5.Setup.C,HDiv.hDiv,Real.pi,OfNat.ofNat,Nat,Imo2001P5.Setup.BAC_eq,False.elim,False,Mathlib.Tactic.Linarith.lt_irrefl,Eq.mp,LT.lt,HAdd.hAdd,HSub.hSub,HMul.hMul,inferInstance,AddMonoidWithOne,Mathlib.Meta.NormNum.instAtLeastTwoand 69 more79 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- lemma
Imo2001P5.Setup.A_ne_Cline 74 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NormedAddCommGroup,InnerProductSpace,Real,MetricSpace,NormedAddTorsor, Imo2001P5.Setup,Ne,Imo2001P5.Setup.A,Imo2001P5.Setup.CProof uses:
id,Eq,EuclideanGeometry.angle,Imo2001P5.Setup.B,HDiv.hDiv,Real.pi,OfNat.ofNat,Nat,Imo2001P5.Setup.BAC_eq,False.elim,False,Mathlib.Tactic.Linarith.lt_irrefl,Eq.mp,LT.lt,HAdd.hAdd,HSub.hSub,HMul.hMul,inferInstance,AddMonoidWithOne,Mathlib.Meta.NormNum.instAtLeastTwoand 69 more79 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- lemma
Imo2001P5.Setup.B_ne_Cline 78 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NormedAddCommGroup,InnerProductSpace,Real,MetricSpace,NormedAddTorsor, Imo2001P5.Setup,Ne,Imo2001P5.Setup.B,Imo2001P5.Setup.CProof uses:
id,Eq,EuclideanGeometry.angle,Imo2001P5.Setup.A,HDiv.hDiv,Real.pi,OfNat.ofNat,Nat,Imo2001P5.Setup.BAC_eq,False.elim,False,Mathlib.Tactic.Linarith.lt_irrefl,Eq.mp,LT.lt,HAdd.hAdd,Neg.neg,HSub.hSub,HMul.hMul,inferInstance,AddMonoidWithOneand 72 more81 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- lemma
Imo2001P5.Setup.not_collinear_BACline 82 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NormedAddCommGroup,InnerProductSpace,Real,MetricSpace,NormedAddTorsor, Imo2001P5.Setup,Not,Collinear,Insert.insert,Set,Imo2001P5.Setup.B,Imo2001P5.Setup.A,Singleton.singleton,Imo2001P5.Setup.CProof uses:
Eq.mpr,Or,Eq,Real.sin,EuclideanGeometry.angle,OfNat.ofNat,id,congrArg,And,Eq.trans,False,congrFun',eq_false,Ne.symm, Imo2001P5.Setup.A_ne_B, Imo2001P5.Setup.A_ne_C,HDiv.hDiv,Real.pi,Nat,Imo2001P5.Setup.BAC_eqand 9 more65 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
Imo2001P5.Setup.BAP_eqline 87 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NormedAddCommGroup,InnerProductSpace,Real,MetricSpace,NormedAddTorsor, Imo2001P5.Setup,Eq,EuclideanGeometry.angle,Imo2001P5.Setup.B,Imo2001P5.Setup.A,Imo2001P5.Setup.P,HDiv.hDiv,Real.pi,OfNat.ofNat,NatProof uses:
HAdd.hAdd,Imo2001P5.Setup.C,EuclideanGeometry.angle_add_of_ne_of_ne, Imo2001P5.Setup.A_ne_B, Imo2001P5.Setup.A_ne_C,Imo2001P5.Setup.P_on_BC,Eq.mp,HMul.hMul,congrArg,Imo2001P5.Setup.BAC_eq,Eq.symm,two_mul,Imo2001P5.Setup.AP_bisect_BAC35 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
Imo2001P5.Setup.PAC_eqline 91 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NormedAddCommGroup,InnerProductSpace,Real,MetricSpace,NormedAddTorsor, Imo2001P5.Setup,Eq,EuclideanGeometry.angle,Imo2001P5.Setup.P,Imo2001P5.Setup.A,Imo2001P5.Setup.C,HDiv.hDiv,Real.pi,OfNat.ofNat,NatProof uses:
HAdd.hAdd,Imo2001P5.Setup.B,EuclideanGeometry.angle_add_of_ne_of_ne, Imo2001P5.Setup.A_ne_B, Imo2001P5.Setup.A_ne_C,Imo2001P5.Setup.P_on_BC,Eq.mp,HMul.hMul,congrArg,Imo2001P5.Setup.BAC_eq,Eq.symm,two_mul,Imo2001P5.Setup.AP_bisect_BAC35 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
Imo2001P5.Setup.P_ne_Bline 95 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NormedAddCommGroup,InnerProductSpace,Real,MetricSpace,NormedAddTorsor, Imo2001P5.Setup,Ne,Imo2001P5.Setup.P,Imo2001P5.Setup.BProof uses:
id,Eq,EuclideanGeometry.angle,Imo2001P5.Setup.A,HDiv.hDiv,Real.pi,OfNat.ofNat,Nat, Imo2001P5.Setup.BAP_eq,False.elim,False,Mathlib.Tactic.Linarith.lt_irrefl,Eq.mp,LT.lt,HAdd.hAdd,Neg.neg,HSub.hSub,HMul.hMul,inferInstance,AddMonoidWithOneand 72 more81 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- lemma
Imo2001P5.Setup.P_ne_Cline 99 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NormedAddCommGroup,InnerProductSpace,Real,MetricSpace,NormedAddTorsor, Imo2001P5.Setup,Ne,Imo2001P5.Setup.P,Imo2001P5.Setup.CProof uses:
id,Eq,EuclideanGeometry.angle,Imo2001P5.Setup.A,HDiv.hDiv,Real.pi,OfNat.ofNat,Nat, Imo2001P5.Setup.PAC_eq,False.elim,False,Mathlib.Tactic.Linarith.lt_irrefl,Eq.mp,LT.lt,HAdd.hAdd,Neg.neg,HSub.hSub,HMul.hMul,inferInstance,AddMonoidWithOneand 72 more81 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- lemma
Imo2001P5.Setup.sbtw_BPCline 103 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NormedAddCommGroup,InnerProductSpace,Real,MetricSpace,NormedAddTorsor, Imo2001P5.Setup,Sbtw,Imo2001P5.Setup.B,Imo2001P5.Setup.P,Imo2001P5.Setup.CProof uses:
And.intro,Wbtw,And,Ne,Imo2001P5.Setup.P_on_BC, Imo2001P5.Setup.P_ne_B, Imo2001P5.Setup.P_ne_C20 instances, coercions and auxiliary constants left out.
- lemma
Imo2001P5.Setup.BPC_eqline 105 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NormedAddCommGroup,InnerProductSpace,Real,MetricSpace,NormedAddTorsor, Imo2001P5.Setup,Eq,EuclideanGeometry.angle,Imo2001P5.Setup.B,Imo2001P5.Setup.P,Imo2001P5.Setup.C,Real.piProof uses:
Eq.mpr,Sbtw,id,congrArg,propext,EuclideanGeometry.angle_eq_pi_iff_sbtw, Imo2001P5.Setup.sbtw_BPC13 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- def
Imo2001P5.Setup.xx = ∠ABQ = ∠QBCline 109 sourceSource documentation
x = ∠ABQ = ∠QBC. This is the main angle in the solution and it suffices to show this is2 * π / 9.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NormedAddCommGroup,InnerProductSpace,Real,MetricSpace,NormedAddTorsor, Imo2001P5.SetupProof uses:
EuclideanGeometry.angle,Imo2001P5.Setup.A,Imo2001P5.Setup.B,Imo2001P5.Setup.Q6 instances, coercions and auxiliary constants left out.
def x : ℝ := ∠ s.A s.B s.Q
- lemma
Imo2001P5.Setup.ABQ_eqline 111 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NormedAddCommGroup,InnerProductSpace,Real,MetricSpace,NormedAddTorsor, Imo2001P5.Setup,Eq,EuclideanGeometry.angle,Imo2001P5.Setup.A,Imo2001P5.Setup.B,Imo2001P5.Setup.Q, Imo2001P5.Setup.xProof uses:
rfl6 instances, coercions and auxiliary constants left out.
- lemma
Imo2001P5.Setup.QBC_eqline 113 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NormedAddCommGroup,InnerProductSpace,Real,MetricSpace,NormedAddTorsor, Imo2001P5.Setup,Eq,EuclideanGeometry.angle,Imo2001P5.Setup.Q,Imo2001P5.Setup.B,Imo2001P5.Setup.C, Imo2001P5.Setup.xProof uses:
Eq.mpr,Imo2001P5.Setup.A,id,congrArg,Eq.symm,Imo2001P5.Setup.BQ_bisect_ABC, Imo2001P5.Setup.ABQ_eq,Eq.refl6 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
Imo2001P5.Setup.ABC_eqline 115 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NormedAddCommGroup,InnerProductSpace,Real,MetricSpace,NormedAddTorsor, Imo2001P5.Setup,Eq,EuclideanGeometry.angle,Imo2001P5.Setup.A,Imo2001P5.Setup.B,Imo2001P5.Setup.C,HMul.hMul,OfNat.ofNat,Nat, Imo2001P5.Setup.xProof uses:
HAdd.hAdd,Imo2001P5.Setup.Q,EuclideanGeometry.angle_add_of_ne_of_ne,Ne.symm, Imo2001P5.Setup.A_ne_B, Imo2001P5.Setup.B_ne_C,Imo2001P5.Setup.Q_on_AC,Eq.mp,congrArg, Imo2001P5.Setup.QBC_eq, Imo2001P5.Setup.ABQ_eq16 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
Imo2001P5.Setup.x_posline 119 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NormedAddCommGroup,InnerProductSpace,Real,MetricSpace,NormedAddTorsor, Imo2001P5.Setup,LT.lt,OfNat.ofNat, Imo2001P5.Setup.xProof uses:
Decidable.byContradiction,Not,Eq,le_antisymm,Eq.mp,LE.le,EuclideanGeometry.angle_nonneg,Imo2001P5.Setup.A,Imo2001P5.Setup.B,Imo2001P5.Setup.Q,EuclideanGeometry.angle,Imo2001P5.Setup.C,HMul.hMul,Nat, Imo2001P5.Setup.ABC_eq,Collinear,Insert.insert,Set,Singleton.singleton,EuclideanGeometry.collinear_of_sin_eq_zeroand 16 more45 instances, coercions and auxiliary constants left out.
Tactic trace: 10 steps
Open to load the checked before-and-after goal states.
- lemma
Imo2001P5.Setup.Q_ne_Aline 127 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NormedAddCommGroup,InnerProductSpace,Real,MetricSpace,NormedAddTorsor, Imo2001P5.Setup,Ne,Imo2001P5.Setup.Q,Imo2001P5.Setup.AProof uses:
id,Eq,EuclideanGeometry.angle,Imo2001P5.Setup.B, Imo2001P5.Setup.x, Imo2001P5.Setup.ABQ_eq,False.elim,False,Mathlib.Tactic.Linarith.lt_irrefl,OfNat.ofNat,Eq.mp,LT.lt,HAdd.hAdd,Neg.neg,HSub.hSub,congrArg,Mathlib.Tactic.Ring.of_eq,Mathlib.Tactic.Ring.Common.add_congr,HMul.hMul,HPow.hPowand 42 more52 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- lemma
Imo2001P5.Setup.Q_ne_Cline 131 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NormedAddCommGroup,InnerProductSpace,Real,MetricSpace,NormedAddTorsor, Imo2001P5.Setup,Ne,Imo2001P5.Setup.Q,Imo2001P5.Setup.CProof uses:
id,Eq,EuclideanGeometry.angle,Imo2001P5.Setup.B, Imo2001P5.Setup.x, Imo2001P5.Setup.QBC_eq,False.elim,False,Mathlib.Tactic.Linarith.lt_irrefl,OfNat.ofNat,Eq.mp,LT.lt,HAdd.hAdd,Neg.neg,HSub.hSub,congrArg,Mathlib.Tactic.Ring.of_eq,Mathlib.Tactic.Ring.Common.add_congr,HMul.hMul,HPow.hPowand 43 more52 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- lemma
Imo2001P5.Setup.sbtw_AQCline 135 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NormedAddCommGroup,InnerProductSpace,Real,MetricSpace,NormedAddTorsor, Imo2001P5.Setup,Sbtw,Imo2001P5.Setup.A,Imo2001P5.Setup.Q,Imo2001P5.Setup.CProof uses:
And.intro,Wbtw,And,Ne,Imo2001P5.Setup.Q_on_AC, Imo2001P5.Setup.Q_ne_A, Imo2001P5.Setup.Q_ne_C20 instances, coercions and auxiliary constants left out.
- lemma
Imo2001P5.Setup.AQC_eqline 137 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NormedAddCommGroup,InnerProductSpace,Real,MetricSpace,NormedAddTorsor, Imo2001P5.Setup,Eq,EuclideanGeometry.angle,Imo2001P5.Setup.A,Imo2001P5.Setup.Q,Imo2001P5.Setup.C,Real.piProof uses:
Eq.mpr,Sbtw,id,congrArg,propext,EuclideanGeometry.angle_eq_pi_iff_sbtw, Imo2001P5.Setup.sbtw_AQC13 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
Imo2001P5.Setup.ACB_eqline 139 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NormedAddCommGroup,InnerProductSpace,Real,MetricSpace,NormedAddTorsor, Imo2001P5.Setup,Eq,EuclideanGeometry.angle,Imo2001P5.Setup.A,Imo2001P5.Setup.C,Imo2001P5.Setup.B,HSub.hSub,HDiv.hDiv,HMul.hMul,OfNat.ofNat,Nat,Real.pi, Imo2001P5.Setup.xProof uses:
HAdd.hAdd,EuclideanGeometry.angle_add_angle_add_angle_eq_pi, Imo2001P5.Setup.B_ne_C,Eq.mp,congrArg,Imo2001P5.Setup.BAC_eq, Imo2001P5.Setup.ABC_eq,EuclideanGeometry.angle_comm31 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
Imo2001P5.Setup.x_lt_pi_div_threeline 143 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NormedAddCommGroup,InnerProductSpace,Real,MetricSpace,NormedAddTorsor, Imo2001P5.Setup,LT.lt, Imo2001P5.Setup.x,HDiv.hDiv,Real.pi,OfNat.ofNat,NatProof uses:
Decidable.byContradiction,Not,Eq,EuclideanGeometry.angle,Imo2001P5.Setup.A,Imo2001P5.Setup.C,Imo2001P5.Setup.B,Mathlib.Tactic.Linarith.eq_of_not_lt_of_not_gt,Not.intro,Mathlib.Tactic.Linarith.lt_irrefl,Eq.mp,HAdd.hAdd,HSub.hSub,congrArg,Mathlib.Tactic.Ring.of_eq,Mathlib.Tactic.Ring.Common.add_congr,HMul.hMul,HPow.hPow,Nat.rawCast,Int.rawCastand 90 more116 instances, coercions and auxiliary constants left out.
Tactic trace: 9 steps
Open to load the checked before-and-after goal states.
- lemma
Imo2001P5.Setup.APB_eqline 150 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NormedAddCommGroup,InnerProductSpace,Real,MetricSpace,NormedAddTorsor, Imo2001P5.Setup,Eq,EuclideanGeometry.angle,Imo2001P5.Setup.A,Imo2001P5.Setup.P,Imo2001P5.Setup.B,HSub.hSub,HDiv.hDiv,HMul.hMul,OfNat.ofNat,Nat,Real.pi, Imo2001P5.Setup.xProof uses:
HAdd.hAdd,EuclideanGeometry.angle_add_angle_add_angle_eq_pi, Imo2001P5.Setup.A_ne_B,Eq.mp,Imo2001P5.Setup.C,congrArg, Imo2001P5.Setup.ABC_eq,EuclideanGeometry.angle_eq_angle_of_angle_eq_pi, Imo2001P5.Setup.BPC_eq,EuclideanGeometry.angle_comm, Imo2001P5.Setup.BAP_eq31 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
Imo2001P5.Setup.AQB_eqline 155 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NormedAddCommGroup,InnerProductSpace,Real,MetricSpace,NormedAddTorsor, Imo2001P5.Setup,Eq,EuclideanGeometry.angle,Imo2001P5.Setup.A,Imo2001P5.Setup.Q,Imo2001P5.Setup.B,HSub.hSub,HDiv.hDiv,HMul.hMul,OfNat.ofNat,Nat,Real.pi, Imo2001P5.Setup.xProof uses:
HAdd.hAdd,EuclideanGeometry.angle_add_angle_add_angle_eq_pi, Imo2001P5.Setup.A_ne_B,Eq.mp,congrArg, Imo2001P5.Setup.ABQ_eq,EuclideanGeometry.angle_comm,Imo2001P5.Setup.C,Imo2001P5.Setup.BAC_eq,EuclideanGeometry.angle_eq_angle_of_angle_eq_pi, Imo2001P5.Setup.AQC_eq29 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
Imo2001P5.Setup.BP_by_ABdist B Pin terms ofdist A Bline 166 sourceSource documentation
dist B Pin terms ofdist A B.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NormedAddCommGroup,InnerProductSpace,Real,MetricSpace,NormedAddTorsor, Imo2001P5.Setup,Eq,Dist.dist,Imo2001P5.Setup.B,Imo2001P5.Setup.P,HMul.hMul,HDiv.hDiv,Real.sin,Real.pi,OfNat.ofNat,Nat,HSub.hSub, Imo2001P5.Setup.x,Imo2001P5.Setup.AProof uses:
Eq.mpr,id,congrArg,div_mul_eq_mul_div₀,eq_div_of_mul_eq,LT.lt.ne',Real.sin_pos_of_pos_of_lt_pi,lt_of_not_ge,LE.le,Mathlib.Tactic.Linarith.lt_irrefl,Eq.mp,LT.lt,HAdd.hAdd,inferInstance,AddMonoidWithOne,Mathlib.Meta.NormNum.instAtLeastTwo,Mathlib.Tactic.Ring.of_eq,Mathlib.Tactic.Ring.Common.add_congr,HPow.hPow,Nat.rawCastand 75 more112 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
lemma BP_by_AB : dist s.B s.P = Real.sin (π / 6) / Real.sin (5 * π / 6 - 2 * s.x) * dist s.A s.B := by … - lemma
Imo2001P5.Setup.AQ_by_ABdist A Qin terms ofdist A Bline 174 sourceSource documentation
dist A Qin terms ofdist A B.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NormedAddCommGroup,InnerProductSpace,Real,MetricSpace,NormedAddTorsor, Imo2001P5.Setup,Eq,Dist.dist,Imo2001P5.Setup.A,Imo2001P5.Setup.Q,HMul.hMul,HDiv.hDiv,Real.sin, Imo2001P5.Setup.x,HSub.hSub,OfNat.ofNat,Nat,Real.pi,Imo2001P5.Setup.BProof uses:
Eq.mpr,id,congrArg,div_mul_eq_mul_div₀,eq_div_of_mul_eq,LT.lt.ne',Real.sin_pos_of_pos_of_lt_pi,lt_of_not_ge,LE.le,Mathlib.Tactic.Linarith.lt_irrefl,Eq.mp,LT.lt,HAdd.hAdd,inferInstance,AddMonoidWithOne,Mathlib.Meta.NormNum.instAtLeastTwo,Mathlib.Tactic.Ring.of_eq,Mathlib.Tactic.Ring.Common.add_congr,HPow.hPow,Nat.rawCastand 76 more112 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
lemma AQ_by_AB : dist s.A s.Q = Real.sin s.x / Real.sin (2 * π / 3 - s.x) * dist s.A s.B := by … - lemma
Imo2001P5.Setup.QB_by_ABdist Q Bin terms ofdist A Bline 182 sourceSource documentation
dist Q Bin terms ofdist A B.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NormedAddCommGroup,InnerProductSpace,Real,MetricSpace,NormedAddTorsor, Imo2001P5.Setup,Eq,Dist.dist,Imo2001P5.Setup.Q,Imo2001P5.Setup.B,HMul.hMul,HDiv.hDiv,Real.sin,Real.pi,OfNat.ofNat,Nat,HSub.hSub, Imo2001P5.Setup.x,Imo2001P5.Setup.AProof uses:
Eq.mpr,id,congrArg,div_mul_eq_mul_div₀,eq_div_of_mul_eq,LT.lt.ne',Real.sin_pos_of_pos_of_lt_pi,lt_of_not_ge,LE.le,Mathlib.Tactic.Linarith.lt_irrefl,Eq.mp,LT.lt,HAdd.hAdd,inferInstance,AddMonoidWithOne,Mathlib.Meta.NormNum.instAtLeastTwo,Mathlib.Tactic.Ring.of_eq,Mathlib.Tactic.Ring.Common.add_congr,HPow.hPow,Nat.rawCastand 78 more112 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
lemma QB_by_AB : dist s.Q s.B = Real.sin (π / 3) / Real.sin (2 * π / 3 - s.x) * dist s.A s.B := by … - lemma
Imo2001P5.Setup.key_x_equationThe key trigonometric equation forxline 190 sourceSource documentation
The key trigonometric equation for
x.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NormedAddCommGroup,InnerProductSpace,Real,MetricSpace,NormedAddTorsor, Imo2001P5.Setup,Eq,HAdd.hAdd,OfNat.ofNat,HDiv.hDiv,Real.sin,Real.pi,Nat,HSub.hSub,HMul.hMul, Imo2001P5.Setup.xProof uses:
Dist.dist,Imo2001P5.Setup.A,Imo2001P5.Setup.B,Imo2001P5.Setup.P,Imo2001P5.Setup.Q,Imo2001P5.Setup.dist_sum,mul_right_cancel₀,Iff.mpr,Ne,dist_ne_zero, Imo2001P5.Setup.A_ne_B,Eq.mp,congrArg,Eq.symm,add_div,add_mul, Imo2001P5.Setup.QB_by_AB, Imo2001P5.Setup.AQ_by_AB,one_add_mul, Imo2001P5.Setup.BP_by_AB59 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
lemma key_x_equation : 1 + Real.sin (π / 6) / Real.sin (5 * π / 6 - 2 * s.x) = (Real.sin s.x + Real.sin (π / 3)) / Real.sin (2 * π / 3 - s.x) := by … - lemma
Imo2001P5.Setup.x_eqline 199 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NormedAddCommGroup,InnerProductSpace,Real,MetricSpace,NormedAddTorsor, Imo2001P5.Setup,Eq, Imo2001P5.Setup.x,HDiv.hDiv,HMul.hMul,OfNat.ofNat,Nat,Real.piProof uses:
HAdd.hAdd,Real.sin,HSub.hSub, Imo2001P5.Setup.key_x_equation,Eq.mpr,id,congrArg,mul_div_assoc,mul_comm,Eq.symm,propext,div_eq_iff,two_ne_zero,rfl,Real.cos,Real.cos_add_cos,Ne,mul_div_cancel₀,LT.lt.ne, Imo2001P5.Setup.x_lt_pi_div_three and 146 more155 instances, coercions and auxiliary constants left out.
Tactic trace: 52 steps
Open to load the checked before-and-after goal states.
- determine
Imo2001P5.solution_ABCline 235 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
RealProof uses:
HDiv.hDiv,HMul.hMul,OfNat.ofNat,Real.pi9 instances, coercions and auxiliary constants left out.
- determine
Imo2001P5.solution_ACBline 236 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
RealProof uses:
HDiv.hDiv,HMul.hMul,OfNat.ofNat,Real.pi9 instances, coercions and auxiliary constants left out.
- problem
Imo2001P5.imo2001_p5line 238 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NormedAddCommGroup,InnerProductSpace,Real,MetricSpace,NormedAddTorsor, Imo2001P5.Setup,And,Eq,EuclideanGeometry.angle,Imo2001P5.Setup.A,Imo2001P5.Setup.B,Imo2001P5.Setup.C, Imo2001P5.solution_ABC, Imo2001P5.solution_ACBProof uses:
Eq.mpr,HMul.hMul,OfNat.ofNat,Nat, Imo2001P5.Setup.x,id,congrArg, Imo2001P5.Setup.ABC_eq,HSub.hSub,HDiv.hDiv,Real.pi, Imo2001P5.Setup.ACB_eq, Imo2001P5.Setup.x_eq,And.intro,Mathlib.Tactic.Ring.of_eq,HAdd.hAdd,HPow.hPow,Nat.rawCast,NNRat.rawCast,Mathlib.Tactic.Ring.Common.mul_congrand 50 more68 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.