Compfiles/Usa1996P6.lean
16 declarations, 0 contain sorry, 0 declared as axioms
USA Mathematical Olympiad 1996, Problem 6
Determine, with proof, whether there is a subset X of the integers with the following property: for any integer n there is exactly one pair (a, b) of elements of X satisfying a + 2b = n.
Imported by 1 file
- def
Usa1996P6.UniqueRepresentationSetline 29 sourceno axioms what this means
Statement uses:
Set,IntProof uses:
ExistsUnique,Prod,And,Membership.mem,Prod.fst,Prod.snd,Eq,HAdd.hAdd,HMul.hMul,OfNat.ofNat6 instances, coercions and auxiliary constants left out.
- def
Usa1996P6.negFourValueline 35 sourcestandard axioms: propext what this means
Statement uses:
Nat,List,Fin,IntProof uses:
Nat.ofDigits,Neg.neg,OfNat.ofNat,List.map4 instances, coercions and auxiliary constants left out.
- lemma
Usa1996P6.negFourValue_nilline 39 sourcestandard axioms: propext what this means
Statement uses:
Nat,Eq,Int, Usa1996P6.negFourValue,List.nil,Fin,OfNat.ofNatProof uses:
rfl1 instances, coercions and auxiliary constants left out.
- lemma
Usa1996P6.negFourValue_consline 42 sourcestandard axioms: propext what this means
Statement uses:
Nat,Fin,List,Eq,Int, Usa1996P6.negFourValue,List.cons,HAdd.hAdd,HMul.hMul,Neg.neg,OfNat.ofNatProof uses:
rfl9 instances, coercions and auxiliary constants left out.
- def
Usa1996P6.lowBitline 45 sourcestandard axioms: propext what this means
Statement uses:
Fin,OfNat.ofNat,NatProof uses:
Usa1996P6.lowBit.match_1,Unit5 instances, coercions and auxiliary constants left out.
- def
Usa1996P6.highBitline 52 sourcestandard axioms: propext what this means
Statement uses:
Fin,OfNat.ofNat,NatProof uses:
Usa1996P6.highBit.match_1,Unit5 instances, coercions and auxiliary constants left out.
- lemma
Usa1996P6.lowBit_add_two_mul_highBitline 58 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Fin,OfNat.ofNat,Nat,Eq,Int,HAdd.hAdd, Usa1996P6.lowBit,HMul.hMul, Usa1996P6.highBitProof uses:
LT.lt,Or,Fin.mk,Eq.refl,Eq.symm23 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
- lemma
Usa1996P6.negFourQuotient_natAbs_ltline 64 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Int,Ne,OfNat.ofNat,Neg.neg,LT.lt,Nat,Int.natAbs,HDiv.hDivProof uses:
LE.le,HMod.hMod,Int.emod_nonneg,of_decide_eq_true,Eq,id,Bool,Decidable.decide,Bool.true,Eq.refl,Int.emod_lt_abs,HAdd.hAdd,HMul.hMul,Int.emod_add_mul_ediv,dite,Int.ofNat_natAbs_of_nonpos,Int.natAbs_of_nonneg,Iff.mp,Int.ofNat_lt,Notand 5 more30 instances, coercions and auxiliary constants left out.
Tactic trace: 28 steps
Open to load the checked before-and-after goal states.
- lemma
Usa1996P6.exists_negFourExpansionline 86 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Int,Exists,List,Fin,OfNat.ofNat,Nat,Eq, Usa1996P6.negFourValueProof uses:
WellFounded.induction,WellFoundedRelation.rel,measure,Int.natAbs,WellFoundedRelation.wf,dite,Exists.intro,List.nil,rfl,Eq.symm,Not,Neg.neg,List.cons,of_eq_true,Eq.trans,True,congrFun',congrArg,Nat.ofDigits,List.mapand 35 more45 instances, coercions and auxiliary constants left out.
Tactic trace: 25 steps
Open to load the checked before-and-after goal states.
- lemma
Usa1996P6.negFourValue_splitline 108 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
List,Fin,OfNat.ofNat,Nat,Eq,Int, Usa1996P6.negFourValue,HAdd.hAdd,List.map, Usa1996P6.lowBit,HMul.hMul, Usa1996P6.highBitProof uses:
List.rec,of_eq_true,List.nil,Eq.trans,True,congrArg,congr,List.map_nil,MulZeroClass.mul_zero,add_zero,eq_self,Eq.mpr,List.cons,Neg.neg,id,List.map_cons, Usa1996P6.lowBit_add_two_mul_highBit,Mathlib.Tactic.Ring.of_eq,HPow.hPow,Nat.rawCastand 33 more47 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
- def
Usa1996P6.headBitline 118 sourcestandard axioms: propext what this means
Statement uses:
List,Fin,OfNat.ofNat,NatProof uses:
Usa1996P6.headBit.match_1,Unit4 instances, coercions and auxiliary constants left out.
- lemma
Usa1996P6.negFourValue_eq_headBit_add_tailline 122 sourcestandard axioms: propext what this means
Statement uses:
List,Fin,OfNat.ofNat,Nat,Eq,Int, Usa1996P6.negFourValue,HAdd.hAdd, Usa1996P6.headBit,HMul.hMul,Neg.neg,List.tailProof uses:
List.nil,Eq.refl,Eq.symm,List.cons22 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
Usa1996P6.binary_pair_unique_auxline 126 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,List,Fin,OfNat.ofNat,LE.le,HAdd.hAdd,List.length,Eq,Int, Usa1996P6.negFourValue,HMul.hMul,AndProof uses:
Nat.recAux,List.nil,Iff.mp,List.length_eq_zero_iff,of_eq_true,Eq.trans,True,congr,congrArg,eq_self,and_self,Eq.symm,List.tail,Eq.mpr,HSub.hSub,id,congrFun',List.length_tail, Usa1996P6.headBit,Decidable.byContradictionand 7 more35 instances, coercions and auxiliary constants left out.
Tactic trace: 34 steps
Open to load the checked before-and-after goal states.
- lemma
Usa1996P6.binary_pair_uniqueline 165 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
List,Fin,OfNat.ofNat,Nat,Eq,Int,HAdd.hAdd, Usa1996P6.negFourValue,HMul.hMul,AndProof uses: Usa1996P6.binary_pair_unique_aux,
List.length,le_rfl14 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- determine
Usa1996P6.does_existline 174 sourceno axioms what this means
Statement uses:
BoolProof uses:
Bool.true - problem
Usa1996P6.usa1996_p6line 176 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Iff,Eq,Bool, Usa1996P6.does_exist,Bool.true,Exists,Set,Int, Usa1996P6.UniqueRepresentationSetProof uses:
Eq.mpr,id,Eq.trans,True,congrFun',congrArg,eq_self,true_iff,Set.range,List,Fin,OfNat.ofNat,Nat, Usa1996P6.negFourValue,Exists.intro,ExistsUnique,Prod,And,Membership.mem,Prod.fstand 17 more11 instances, coercions and auxiliary constants left out.
Tactic trace: 24 steps
Open to load the checked before-and-after goal states.