Compfiles/Imo1966P5.lean
18 declarations, 0 contain sorry, 0 declared as axioms
International Mathematical Olympiad 1966, Problem 5
Solve the system of equations
|a_1 - a_2| x_2 +|a_1 - a_3| x_3 +|a_1 - a_4| x_4 = 1 |a_2 - a_1| x_1 +|a_2 - a_3| x_3 +|a_2 - a_4| x_4 = 1 |a_3 - a_1| x_1 +|a_3 - a_2| x_2 +|a_3 - a_4| x_4 = 1 |a_4 - a_1| x_1 +|a_4 - a_2| x_2 +|a_4 - a_3| x_3 = 1
where a_1, a_2, a_3, a_4 are four different real numbers.
Imports (2)
Imported by 1 file
- def
Imo1966P5.raw_orderline 37 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Fin,RealProof uses:
Finset.card,Finset.filter,LT.lt,Finset.univ3 instances, coercions and auxiliary constants left out.
- lemma
Imo1966P5.raw_order_ltline 40 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Fin,Real,LT.lt, Imo1966P5.raw_orderProof uses:
Eq.mpr,Finset.card,Finset.filter,Finset.univ,id,Eq,congrArg,Imo1966P5.raw_order.eq_1,lt_of_le_of_ne,card_finset_fin_le,Ne,Eq.symm,Finset.card_fin,Not,ne_eq,Membership.mem,Finset,propext,Finset.card_filter_eq_iff,Existsand 9 more15 instances, coercions and auxiliary constants left out.
Tactic trace: 14 steps
Open to load the checked before-and-after goal states.
- def
Imo1966P5.orderline 53 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Fin,RealProof uses:
Fin.mk, Imo1966P5.raw_order, Imo1966P5.raw_order_lt - lemma
Imo1966P5.bijective_orderline 56 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Fin,Real,Function.Injective,Function.Bijective, Imo1966P5.orderProof uses:
Eq.mpr,And,Eq,Fintype.card,id,congrArg,propext,Fintype.bijective_iff_injective_and_card,And.intro,Mathlib.Tactic.Contrapose.contrapose₁,Not,Ne,LT.lt,Or,Classical.em,ne_of_lt,Finset.card,Finset.filter,Finset.univ, Imo1966P5.raw_order and 29 more23 instances, coercions and auxiliary constants left out.
Tactic trace: 31 steps
Open to load the checked before-and-after goal states.
- def
Imo1966P5.nth_smallest_indexline 83 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Fin,Real,Function.InjectiveProof uses:
Fintype.bijInv, Imo1966P5.order, Imo1966P5.bijective_order2 instances, coercions and auxiliary constants left out.
- lemma
Imo1966P5.bijective_nth_smallest_indexline 87 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Fin,Real,Function.Injective,Function.Bijective, Imo1966P5.nth_smallest_indexProof uses:
Fintype.bijective_bijInv, Imo1966P5.order, Imo1966P5.bijective_order2 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1966P5.order_comp_nth_smallest_index_eq_idline 91 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Fin,Real,Function.Injective,Eq,Function.comp, Imo1966P5.order, Imo1966P5.nth_smallest_index,idProof uses:
Function.RightInverse.id,Fintype.bijInv, Imo1966P5.bijective_order,Fintype.rightInverse_bijInv2 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1966P5.nth_smallest_index_comp_order_eq_idline 95 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Fin,Real,Function.Injective,Eq,Function.comp, Imo1966P5.nth_smallest_index, Imo1966P5.order,idProof uses:
Function.LeftInverse.id,Fintype.bijInv, Imo1966P5.bijective_order,Fintype.leftInverse_bijInv2 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- def
Imo1966P5.nth_smallestline 99 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Fin,Real,Function.InjectiveProof uses:
Function.comp, Imo1966P5.nth_smallest_index - lemma
Imo1966P5.nth_smallest_strictMonoline 102 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Fin,Real,Function.Injective,StrictMono, Imo1966P5.nth_smallestProof uses:
LT.lt,Eq.mpr,Function.comp, Imo1966P5.nth_smallest_index,id,Eq,congrArg,Imo1966P5.nth_smallest.eq_1,Function.comp_apply,Mathlib.Tactic.Contrapose.contrapose₁,Not,LE.le,implies_congr,Eq.symm,id_eq, Imo1966P5.order, Imo1966P5.order_comp_nth_smallest_index_eq_id,rfl,Fin.mk, Imo1966P5.raw_order and 18 more21 instances, coercions and auxiliary constants left out.
Tactic trace: 12 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1966P5.order_eq_id_of_strictMonoline 117 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Fin,Real,StrictMono,Eq, Imo1966P5.order,idProof uses:
funext,Fin.ext,Eq.mpr,Fin.mk, Imo1966P5.raw_order, Imo1966P5.raw_order_lt,congrArg,Imo1966P5.order.eq_1,Fin.val_mk,id.eq_1,Finset.card,Finset.filter,LT.lt,Finset.univ,Imo1966P5.raw_order.eq_1,Finset.Iio,Eq.symm,Fin.card_Iio,Finset,Eq.recand 11 more18 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1966P5.nth_smallest_index_eq_id_of_strictMonoline 126 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Fin,Real,StrictMono,Eq, Imo1966P5.nth_smallest_index,StrictMono.injective,idProof uses:
Eq.mpr,Fintype.bijInv, Imo1966P5.order, Imo1966P5.bijective_order,congrArg,Imo1966P5.nth_smallest_index.eq_1,funext,Fin.ext,Function.LeftInverse,Fintype.leftInverse_bijInv,Eq.symm,Eq.mp,Function.LeftInverse.eq_1,Eq.rec,Eq.refl,Fintype,DecidableEq,Function.Bijective,Subsingleton.elim,Decidableand 1 more14 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1966P5.nth_smallest_nth_smallest_eq_nth_smallestline 137 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Fin,Real,Function.Injective,Eq, Imo1966P5.nth_smallest,StrictMono.injective, Imo1966P5.nth_smallest_strictMonoProof uses:
Eq.mpr,Function.comp, Imo1966P5.nth_smallest_index,id,congrArg,Imo1966P5.nth_smallest.eq_1, Imo1966P5.nth_smallest_index_eq_id_of_strictMono,Function.comp_id,Eq.refl4 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1966P5.order_nth_smallest_eq_idline 142 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Fin,Real,Function.Injective,Eq, Imo1966P5.order, Imo1966P5.nth_smallest,idProof uses: Imo1966P5.order_eq_id_of_strictMono, Imo1966P5.nth_smallest_strictMono
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- def
Imo1966P5.solution_set_generalizedline 147 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LE.le,OfNat.ofNat,Fin,Real,Function.Injective,SetProof uses:
Singleton.singleton,ite,Or,Eq, Imo1966P5.order,Fin.mk,HSub.hSub,HDiv.hDiv, Imo1966P5.nth_smallest19 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- theorem
Imo1966P5.imo1966_p5_generalizedline 155 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LE.le,OfNat.ofNat,Fin,Real,Function.Injective,Iff,Eq,Finset.sum,Finset.univ,HMul.hMul,abs,HSub.hSub,Membership.mem,Set, Imo1966P5.solution_set_generalizedProof uses:
StrictMono,Not,Or,Classical.em,Eq.mpr,Singleton.singleton,ite, Imo1966P5.order,Fin.mk,HDiv.hDiv, Imo1966P5.nth_smallest,id,congrArg,Imo1966P5.solution_set_generalized.eq_1,propext,Set.mem_singleton_iff, Imo1966P5.order_eq_id_of_strictMono,Function.comp, Imo1966P5.nth_smallest_index,Imo1966P5.nth_smallest.eq_1and 179 more199 instances, coercions and auxiliary constants left out.
Tactic trace: 232 steps (first 200 of 232)
Open to load the checked before-and-after goal states.
- determine
Imo1966P5.solution_setline 323 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Fin,OfNat.ofNat,Nat,Real,Function.Injective,SetProof uses: Imo1966P5.solution_set_generalized
3 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- problem
Imo1966P5.imo1966_p5line 327 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Fin,OfNat.ofNat,Nat,Real,Function.Injective,Iff,Eq,Finset.sum,Finset.univ,HMul.hMul,abs,HSub.hSub,Membership.mem,Set, Imo1966P5.solution_setProof uses: Imo1966P5.imo1966_p5_generalized,
Mathlib.Meta.NormNum.isNat_le_true,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refl,Bool,Bool.true18 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.