Compfiles/Imo1994P3.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
39 declarations, 0 contain sorry, 0 declared as axioms
International Mathematical Olympiad 1994, Problem 3
For any positive integer k, let f(k) be the number of elements in the set {k+1, k+2, ... , 2k} which have exactly three 1s when written in base 2. Prove that for each positive integer m, there is at least one k with f(k) = m, and determine all m for which there is exactly one k.
Imports (9)
Imported by 1 file
- def
Imo1994P3.onesThe number of1s in the binary representation ofnline 35 sourceSource documentation
The number of
1s in the binary representation ofn.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NatProof uses:
List.sum,Nat.digits,OfNat.ofNat4 instances, coercions and auxiliary constants left out.
def ones (n : ℕ) : ℕ := (Nat.digits 2 n).sum
- def
Imo1994P3.fThe functionfof the problem: the number of elements of{k+1, ..., 2k}whose binary representation has exactly three1s line 39 sourceSource documentation
The function
fof the problem: the number of elements of{k+1, ..., 2k}whose binary representation has exactly three1s.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NatProof uses:
Finset.card,Finset.filter,Eq, Imo1994P3.ones,OfNat.ofNat,Finset.Icc,HAdd.hAdd,HMul.hMul8 instances, coercions and auxiliary constants left out.
def f (k : ℕ) : ℕ := ((Finset.Icc (k + 1) (2 * k)).filter fun n => ones n = 3).card
Mentions: Imo1994P3.ones
- determine
Imo1994P3.answerline 41 sourceno axioms what this means
Statement uses:
Set,NatProof uses:
Set.ofPred,Exists,And,LE.le,OfNat.ofNat,Eq,HAdd.hAdd,Nat.choose4 instances, coercions and auxiliary constants left out.
- lemma
Imo1994P3.ones_zeroline 47 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Eq,Nat, Imo1994P3.ones,OfNat.ofNatProof uses:
Eq.mpr,List.sum,Nat.digits,id,congrArg,Imo1994P3.ones.eq_1,List.nil,List,Nat.digits_zero,List.sum_nil,Eq.refl6 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1994P3.ones_two_mulline 49 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq, Imo1994P3.ones,HMul.hMul,OfNat.ofNatProof uses:
GT.gt,Or,Nat.eq_zero_or_pos,Eq.refl,Eq.symm,List,Nat.digits,HAdd.hAdd,List.cons,Nat.digits_add,Mathlib.Meta.NormNum.isNat_lt_true,Mathlib.Meta.NormNum.isNat_ofNat,Bool,Bool.false,Or.inr,Ne,LT.lt.ne',id,Eq.mpr,List.sumand 4 more26 instances, coercions and auxiliary constants left out.
Tactic trace: 10 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1994P3.ones_two_mul_add_oneline 57 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq, Imo1994P3.ones,HAdd.hAdd,HMul.hMul,OfNat.ofNatProof uses:
List,Nat.digits,List.cons,Nat.digits_add,Mathlib.Meta.NormNum.isNat_lt_true,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refl,Bool,Bool.false,Or.inl,Ne,one_ne_zero,id,Eq.mpr,List.sum,congrArg,List.sum_cons22 instances, coercions and auxiliary constants left out.
Tactic trace: 7 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1994P3.ones_oneline 63 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Eq,Nat, Imo1994P3.ones,OfNat.ofNatProof uses:
id,Eq.mpr,HAdd.hAdd,HMul.hMul,congrArg, Imo1994P3.ones_two_mul_add_one, Imo1994P3.ones_zero,Eq.refl6 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1994P3.ones_twoline 67 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Eq,Nat, Imo1994P3.ones,OfNat.ofNatProof uses:
id,Eq.mpr,HMul.hMul,congrArg, Imo1994P3.ones_two_mul, Imo1994P3.ones_one,Eq.refl4 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1994P3.ones_two_mul_powline 71 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq, Imo1994P3.ones,HMul.hMul,HPow.hPow,OfNat.ofNatProof uses:
Nat.recAux,Eq.mpr,id,congrArg,pow_zero,one_mul,Eq.refl,HAdd.hAdd,pow_succ',mul_assoc, Imo1994P3.ones_two_mul24 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1994P3.ones_two_powline 77 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq, Imo1994P3.ones,HPow.hPow,OfNat.ofNatProof uses:
Nat.recAux, Imo1994P3.ones_one,Eq.mpr,HAdd.hAdd,HMul.hMul,id,congrArg,pow_succ', Imo1994P3.ones_two_mul,Eq.refl17 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1994P3.ones_two_pow_add_oneline 83 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq, Imo1994P3.ones,HAdd.hAdd,HPow.hPow,OfNat.ofNatProof uses:
Eq.mpr,HMul.hMul,id,congrArg,pow_succ', Imo1994P3.ones_two_mul_add_one, Imo1994P3.ones_two_pow,Eq.refl19 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1994P3.ones_two_pow_add_twoline 86 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq, Imo1994P3.ones,HAdd.hAdd,HPow.hPow,OfNat.ofNatProof uses:
HMul.hMul,Eq.mpr,id,congrArg,pow_succ',Mathlib.Tactic.Ring.of_eq,Nat.rawCast,Mathlib.Tactic.Ring.Common.add_congr,Mathlib.Tactic.Ring.Common.mul_congr,Mathlib.Tactic.Ring.cast_pos,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refl,Mathlib.Tactic.Ring.Common.pow_congr,Mathlib.Tactic.Ring.Common.atom_pf,rfl,Eq.symm,Mathlib.Tactic.Ring.Common.add_pf_add_gt,Mathlib.Tactic.Ring.Common.add_pf_add_zero,Mathlib.Tactic.Ring.Common.pow_add,Mathlib.Tactic.Ring.Common.pow_one_cast_of_isNatand 17 more32 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1994P3.ones_two_pow_add_threeline 90 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq, Imo1994P3.ones,HAdd.hAdd,HPow.hPow,OfNat.ofNatProof uses:
HMul.hMul,Eq.mpr,id,congrArg,pow_succ',Mathlib.Tactic.Ring.of_eq,Nat.rawCast,Mathlib.Tactic.Ring.Common.add_congr,Mathlib.Tactic.Ring.Common.mul_congr,Mathlib.Tactic.Ring.cast_pos,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refl,Mathlib.Tactic.Ring.Common.pow_congr,Mathlib.Tactic.Ring.Common.atom_pf,rfl,Eq.symm,Mathlib.Tactic.Ring.Common.add_pf_add_gt,Mathlib.Tactic.Ring.Common.add_pf_add_zero,Mathlib.Tactic.Ring.Common.pow_add,Mathlib.Tactic.Ring.Common.pow_one_cast_of_isNatand 19 more32 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1994P3.ones_two_pow_add_fourline 94 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq, Imo1994P3.ones,HAdd.hAdd,HPow.hPow,OfNat.ofNatProof uses:
HMul.hMul,Eq.mpr,id,congrArg,pow_succ',Mathlib.Tactic.Ring.of_eq,Nat.rawCast,Mathlib.Tactic.Ring.Common.add_congr,Mathlib.Tactic.Ring.Common.mul_congr,Mathlib.Tactic.Ring.cast_pos,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refl,Mathlib.Tactic.Ring.Common.pow_congr,Mathlib.Tactic.Ring.Common.atom_pf,rfl,Eq.symm,Mathlib.Tactic.Ring.Common.add_pf_add_gt,Mathlib.Tactic.Ring.Common.add_pf_add_zero,Mathlib.Tactic.Ring.Common.pow_add,Mathlib.Tactic.Ring.Common.single_powand 21 more32 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1994P3.ones_two_pow_add_fiveline 98 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq, Imo1994P3.ones,HAdd.hAdd,HPow.hPow,OfNat.ofNatProof uses:
HMul.hMul,Eq.mpr,id,congrArg,pow_succ',Mathlib.Tactic.Ring.of_eq,Nat.rawCast,Mathlib.Tactic.Ring.Common.add_congr,Mathlib.Tactic.Ring.Common.mul_congr,Mathlib.Tactic.Ring.cast_pos,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refl,Mathlib.Tactic.Ring.Common.pow_congr,Mathlib.Tactic.Ring.Common.atom_pf,rfl,Eq.symm,Mathlib.Tactic.Ring.Common.add_pf_add_gt,Mathlib.Tactic.Ring.Common.add_pf_add_zero,Mathlib.Tactic.Ring.Common.pow_add,Mathlib.Tactic.Ring.Common.single_powand 23 more32 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1994P3.ones_two_pow_add_one'Versions of the above with a hypothesis on the exponent line 103 sourceSource documentation
Versions of the above with a hypothesis on the exponent.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LE.le,OfNat.ofNat,Eq, Imo1994P3.ones,HAdd.hAdd,HPow.hPowProof uses:
Exists,Exists.intro,HSub.hSub, Imo1994P3.ones_two_pow_add_one,Eq.symm21 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
lemma ones_two_pow_add_one' {n : ℕ} (hn : 1 ≤ n) : ones (2 ^ n + 1) = 2 := by …Mentions: Imo1994P3.ones
- lemma
Imo1994P3.ones_two_pow_add_two'line 107 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LE.le,OfNat.ofNat,Eq, Imo1994P3.ones,HAdd.hAdd,HPow.hPowProof uses:
Exists,Exists.intro,HSub.hSub, Imo1994P3.ones_two_pow_add_two,Eq.symm21 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1994P3.ones_two_pow_add_three'line 111 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LE.le,OfNat.ofNat,Eq, Imo1994P3.ones,HAdd.hAdd,HPow.hPowProof uses:
Exists,Exists.intro,HSub.hSub, Imo1994P3.ones_two_pow_add_three,Eq.symm21 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1994P3.ones_two_pow_add_four'line 115 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LE.le,OfNat.ofNat,Eq, Imo1994P3.ones,HAdd.hAdd,HPow.hPowProof uses:
Exists,Exists.intro,HSub.hSub, Imo1994P3.ones_two_pow_add_four,Eq.symm21 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1994P3.ones_two_pow_add_five'line 119 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LE.le,OfNat.ofNat,Eq, Imo1994P3.ones,HAdd.hAdd,HPow.hPowProof uses:
Exists,Exists.intro,HSub.hSub, Imo1994P3.ones_two_pow_add_five,Eq.symm21 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1994P3.ones_eq_zeroline 123 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq, Imo1994P3.ones,OfNat.ofNatProof uses:
Nat.strong_induction_on,LT.lt,GT.gt,Or,Nat.eq_zero_or_pos,Eq.refl,Eq.symm,Even,Odd,Nat.even_or_odd,HMul.hMul,HDiv.hDiv,Nat.two_mul_div_two_of_even,Nat.div_lt_self,Mathlib.Meta.NormNum.isNat_lt_true,Mathlib.Meta.NormNum.isNat_ofNat,Bool,Bool.false,Eq.mpr,idand 6 more19 instances, coercions and auxiliary constants left out.
Tactic trace: 18 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1994P3.ones_eq_oneline 138 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq, Imo1994P3.ones,OfNat.ofNat,Exists,HPow.hPowProof uses:
Nat.strong_induction_on,LT.lt,GT.gt,Or,Nat.eq_zero_or_pos,Eq.mp,congrArg, Imo1994P3.ones_zero,Eq.symm,Even,Odd,Nat.even_or_odd,HMul.hMul,HDiv.hDiv,Nat.two_mul_div_two_of_even,Nat.div_lt_self,Mathlib.Meta.NormNum.isNat_lt_true,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refl,Booland 11 more34 instances, coercions and auxiliary constants left out.
Tactic trace: 25 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1994P3.ones_eq_twoline 155 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq, Imo1994P3.ones,OfNat.ofNat,Exists,And,LT.lt,HAdd.hAdd,HPow.hPowProof uses:
Nat.strong_induction_on,GT.gt,Or,Nat.eq_zero_or_pos,Eq.mp,congrArg, Imo1994P3.ones_zero,Eq.symm,Even,Odd,Nat.even_or_odd,HMul.hMul,HDiv.hDiv,Nat.two_mul_div_two_of_even,Nat.div_lt_self,Mathlib.Meta.NormNum.isNat_lt_true,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refl,Bool,Bool.falseand 34 more51 instances, coercions and auxiliary constants left out.
Tactic trace: 27 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1994P3.add_two_pow_injectiveline 172 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Function.Injective,HAdd.hAdd,HPow.hPow,OfNat.ofNatProof uses:
Eq,Nat.pow_right_injective,le_refl16 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
- def
Imo1994P3.gCumulative count: the number of elements of{1, ..., n}with exactly three1s line 181 sourceSource documentation
Cumulative count: the number of elements of
{1, ..., n}with exactly three1s.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NatProof uses:
Finset.card,Finset.filter,Eq, Imo1994P3.ones,OfNat.ofNat,Finset.Icc4 instances, coercions and auxiliary constants left out.
def g (n : ℕ) : ℕ := ((Finset.Icc 1 n).filter fun m => ones m = 3).card
Mentions: Imo1994P3.ones
- lemma
Imo1994P3.g_succline 183 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq, Imo1994P3.g,HAdd.hAdd,OfNat.ofNat,ite, Imo1994P3.onesProof uses:
Finset,Finset.Icc,Insert.insert,Finset.ext,Eq.mpr,Iff,Membership.mem,And,LE.le,Or,id,congr,congrArg,Eq.trans,Finset.card,Finset.filter,Finset.filter_insert,dite,ite_eq_left,Finset.card_insert_of_notMemand 5 more25 instances, coercions and auxiliary constants left out.
Tactic trace: 13 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1994P3.g_monoline 194 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Monotone,Nat, Imo1994P3.gProof uses:
monotone_nat_of_le_succ,Eq.mpr,LE.le,HAdd.hAdd,OfNat.ofNat,ite,Eq, Imo1994P3.ones,id,congrArg, Imo1994P3.g_succ,Nat.le_add_right7 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1994P3.f_eqline 197 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq, Imo1994P3.f,HSub.hSub, Imo1994P3.g,HMul.hMul,OfNat.ofNatProof uses:
Finset,Finset.Icc,Union.union,HAdd.hAdd,Finset.ext,Eq.mpr,Iff,Membership.mem,And,LE.le,Or,id,congr,congrArg,Eq.trans,Disjoint,Not,propext,Finset.disjoint_left,Eq.mpand 8 more24 instances, coercions and auxiliary constants left out.
Tactic trace: 13 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1994P3.stepline 214 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq, Imo1994P3.f,HAdd.hAdd,OfNat.ofNat,ite, Imo1994P3.ones,HMul.hMulProof uses: Imo1994P3.g, Imo1994P3.g_succ,
Eq.mpr,id,congrArg,Mathlib.Tactic.Ring.of_eq,Nat.rawCast,HPow.hPow,Mathlib.Tactic.Ring.Common.add_congr,Mathlib.Tactic.Ring.Common.mul_congr,Mathlib.Tactic.Ring.cast_pos,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refl,Mathlib.Tactic.Ring.Common.atom_pf,rfl,Eq.symm,Mathlib.Tactic.Ring.Common.add_mul,Mathlib.Tactic.Ring.Common.mul_add,Mathlib.Tactic.Ring.Common.mul_pf_right,Mathlib.Meta.NormNum.IsNat.to_raw_eqand 27 more39 instances, coercions and auxiliary constants left out.
Tactic trace: 19 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1994P3.f_monoline 229 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Monotone,Nat, Imo1994P3.fProof uses:
monotone_nat_of_le_succ,Eq.mpr,LE.le,HAdd.hAdd,OfNat.ofNat,ite,Eq, Imo1994P3.ones,HMul.hMul,id,congrArg, Imo1994P3.step,Nat.le_add_right9 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1994P3.f_zeroline 232 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Eq,Nat, Imo1994P3.f,OfNat.ofNatProof uses:
of_decide_eq_true,id,Bool,Decidable.decide,Bool.true,Eq.refl3 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1994P3.f_geline 236 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LT.lt,OfNat.ofNat,LE.le, Imo1994P3.f,HAdd.hAdd,HPow.hPowProof uses:
Finset,Finset.image,HMul.hMul,Finset.range,Finset.filter,Eq, Imo1994P3.ones,Finset.Icc,Membership.mem,And,Exists,Eq.mp,Eq.trans,congrArg,funext,congrFun',Eq.mpr,id,pow_pos,Mathlib.Meta.NormNum.isNat_lt_trueand 50 more78 instances, coercions and auxiliary constants left out.
Tactic trace: 32 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1994P3.card_two_Icoline 266 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq,Finset.card,Finset.filter, Imo1994P3.ones,OfNat.ofNat,Finset.Ico,HPow.hPow,HAdd.hAddProof uses:
Finset,Finset.image,Finset.range,Finset.ext,Eq.mpr,Iff,Membership.mem,And,LE.le,LT.lt,Exists,id,congr,congrArg,Eq.trans,congrFun',funext,Iff.intro, Imo1994P3.ones_eq_two,Decidable.byContradictionand 63 more92 instances, coercions and auxiliary constants left out.
Tactic trace: 67 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1994P3.card_three_Ioc_succline 311 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq,Finset.card,Finset.filter, Imo1994P3.ones,OfNat.ofNat,Finset.Ioc,HPow.hPow,HAdd.hAdd,Finset.IcoProof uses:
HMul.hMul,pow_succ',Finset,Union.union,Finset.image,Finset.ext,Eq.mpr,Iff,Membership.mem,And,LT.lt,LE.le,Or,Exists,id,congr,congrArg,Eq.trans,congrFun',funextand 23 more66 instances, coercions and auxiliary constants left out.
Tactic trace: 54 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1994P3.choose_two_succline 353 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq,Nat.choose,HAdd.hAdd,OfNat.ofNatProof uses:
Eq.mpr,HDiv.hDiv,HMul.hMul,HSub.hSub,id,congrArg,Nat.choose_two_right,Nat.add_sub_cancel,Nat.casesAuxOn,Eq.refl,Eq.symm,Mathlib.Tactic.Ring.of_eq,Nat.rawCast,HPow.hPow,Mathlib.Tactic.Ring.Common.mul_congr,Mathlib.Tactic.Ring.Common.add_congr,Mathlib.Tactic.Ring.Common.atom_pf,rfl,Mathlib.Tactic.Ring.cast_pos,Mathlib.Meta.NormNum.isNat_ofNatand 17 more30 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1994P3.card_threeline 361 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq,Finset.card,Finset.filter, Imo1994P3.ones,OfNat.ofNat,Finset.Ioc,HPow.hPow,HAdd.hAdd,Nat.chooseProof uses:
Nat.recAux,Eq.mpr,id,congrFun',congrArg,Finset,Finset.filter.congr_simp,Eq.refl,pow_zero,of_decide_eq_true,Bool,Decidable.decide,Bool.true,Finset.Ico, Imo1994P3.card_three_Ioc_succ, Imo1994P3.card_two_Ico, Imo1994P3.choose_two_succ24 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1994P3.f_two_pow_add_twoline 370 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LE.le,OfNat.ofNat,Eq, Imo1994P3.f,HAdd.hAdd,HPow.hPow,Nat.chooseProof uses:
HMul.hMul,pow_succ', Imo1994P3.ones, Imo1994P3.ones_two_pow_add_one', Imo1994P3.ones_two_pow_add_two',Eq.mpr,id,congrArg,Mathlib.Tactic.Ring.of_eq,Nat.rawCast,Mathlib.Tactic.Ring.Common.add_congr,Mathlib.Tactic.Ring.Common.mul_congr,Mathlib.Tactic.Ring.cast_pos,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refl,Mathlib.Tactic.Ring.Common.pow_congr,Mathlib.Tactic.Ring.Common.atom_pf,rfl,Eq.symm,Mathlib.Tactic.Ring.Common.pow_addand 50 more73 instances, coercions and auxiliary constants left out.
Tactic trace: 70 steps
Open to load the checked before-and-after goal states.
- problem
Imo1994P3.imo1994_p3aline 420 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LT.lt,OfNat.ofNat,Exists,And,Eq, Imo1994P3.fProof uses:
LE.le,Exists.intro,HAdd.hAdd,HPow.hPow, Imo1994P3.f_ge,Not,Nat.find,And.intro,Nat.find_spec,Nat.find_min,Ne,False,Eq.mp,congrArg, Imo1994P3.f_zero,Eq.symm,Nat.succ,Nat.exists_eq_succ_of_ne_zero,Nat.lt_succ_self,iteand 10 more24 instances, coercions and auxiliary constants left out.
Tactic trace: 21 steps
Open to load the checked before-and-after goal states.
- problem
Imo1994P3.imo1994_p3bline 441 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Eq,Set,Nat,Set.ofPred,And,LT.lt,OfNat.ofNat,ExistsUnique, Imo1994P3.f, Imo1994P3.answerProof uses:
Set.ext,Iff.intro,Membership.mem,HSub.hSub,LE.le, Imo1994P3.f_mono,Or,lt_or_eq_of_le,Eq.mp,congrArg,Decidable.byContradiction,Not, Imo1994P3.f_zero,rfl,And.intro,HAdd.hAdd,ite, Imo1994P3.ones,HMul.hMul, Imo1994P3.step and 66 more106 instances, coercions and auxiliary constants left out.
Tactic trace: 128 steps
Open to load the checked before-and-after goal states.