Compfiles/Usa1980P1.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
5 declarations, 0 contain sorry, 0 declared as axioms
USA Mathematical Olympiad 1980, Problem 1
A balance has unequal arms and pans of unequal weight. It is used to weigh two objects of unequal weight. The first object balances against a weight A, when placed in the left pan and against a weight a, when placed in the right pan. The corresponding weights for the second object are B and b. A third object balances against a weight C, when placed in the left pan. What is its true weight?
Imports (7)
Imported by 1 file
- determine
Usa1980P1.solutionline 38 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
RealProof uses:
HAdd.hAdd,HMul.hMul,Real.sqrt,HDiv.hDiv,HSub.hSub,OfNat.ofNat11 instances, coercions and auxiliary constants left out.
- lemma
Usa1980P1.ne_of_balanceThe two objects have unequal weights, so the weightsAandBthat balance them from the left pan must differ line 55 sourceSource documentation
The two objects have unequal weights, so the weights
AandBthat balance them from the left pan must differ.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Real,Eq,HAdd.hAdd,HMul.hMul,NeProof uses:
Eq.mpr,id,congrArg,Eq.refl8 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
lemma ne_of_balance {A B h k x₁ x₂ : ℝ} (h1 : x₁ = h * A + k) (h3 : x₂ = h * B + k) (hne : x₁ ≠ x₂) : A ≠ B := by …Mentions: h
- lemma
Usa1980P1.h_sqEliminating the true weightsx₁andx₂givesa - b = h ^ 2 * (A - B)line 62 sourceSource documentation
Eliminating the true weights
x₁andx₂givesa - b = h ^ 2 * (A - B).standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Real,Eq,HAdd.hAdd,HMul.hMul,HPow.hPow,Nat,OfNat.ofNat,HSub.hSubProof uses:
Mathlib.Tactic.LinearCombination.eq_of_eq,Mathlib.Tactic.LinearCombination.add_eq_eq,Eq.mp,congrArg,Eq.symm,Mathlib.Tactic.LinearCombination.eq_rearrange,Mathlib.Tactic.Ring.of_eq,Mathlib.Tactic.Ring.Common.sub_congr,Nat.rawCast,Mathlib.Tactic.Ring.Common.add_congr,Int.rawCast,inferInstance,Ring,Int.negOfNat,Mathlib.Tactic.Ring.Common.mul_congr,Mathlib.Tactic.Ring.Common.pow_congr,Mathlib.Tactic.Ring.Common.atom_pf,rfl,Eq.mpr,idand 42 more70 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
lemma h_sq {A a B b h k x₁ x₂ : ℝ} (h1 : x₁ = h * A + k) (h2 : a = h * x₁ + k) (h3 : x₂ = h * B + k) (h4 : b = h * x₂ + k) : h ^ 2 * (A - B) = a - b := by …Mentions: h
- lemma
Usa1980P1.offset_eqThe offsetkis determined by(h + 1) * k = a - h ^ 2 * Aline 71 sourceSource documentation
The offset
kis determined by(h + 1) * k = a - h ^ 2 * A.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Real,Eq,HAdd.hAdd,HMul.hMul,OfNat.ofNat,HSub.hSub,HPow.hPow,NatProof uses:
Mathlib.Tactic.LinearCombination.eq_of_eq,Eq.symm,Eq.mp,congrArg,Mathlib.Tactic.LinearCombination.eq_rearrange,Mathlib.Tactic.Ring.of_eq,Mathlib.Tactic.Ring.Common.sub_congr,Nat.rawCast,Mathlib.Tactic.Ring.Common.add_congr,Mathlib.Tactic.Ring.Common.mul_congr,Mathlib.Tactic.Ring.Common.atom_pf,rfl,Eq.mpr,id,Eq.refl,Mathlib.Tactic.Ring.cast_pos,Mathlib.Meta.NormNum.isNat_ofNat,Nat.cast_one,Mathlib.Tactic.Ring.Common.add_pf_add_gt,Mathlib.Tactic.Ring.Common.add_pf_add_zeroand 41 more73 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
lemma offset_eq {A a h k x₁ : ℝ} (h1 : x₁ = h * A + k) (h2 : a = h * x₁ + k) : (h + 1) * k = a - h ^ 2 * A := by …Mentions: h
- problem
Usa1980P1.usa1980_p1line 79 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Real,LT.lt,OfNat.ofNat,Eq,HAdd.hAdd,HMul.hMul,Ne, Usa1980P1.solutionProof uses: Usa1980P1.ne_of_balance,
HPow.hPow,Nat,HSub.hSub, Usa1980P1.h_sq, Usa1980P1.offset_eq,HDiv.hDiv,Eq.mpr,id,congrArg,propext,div_eq_iff,Iff.mpr,sub_ne_zero,Eq.symm,Real.sqrt,Real.sqrt_sq,le_of_lt,Not.intro,Mathlib.Tactic.Linarith.lt_irrefland 74 more104 instances, coercions and auxiliary constants left out.
Tactic trace: 17 steps
Open to load the checked before-and-after goal states.