Compfiles/Imo1979P1.lean
7 declarations, 0 contain sorry, 0 declared as axioms
International Mathematical Olympiad 1979, Problem 1
Suppose that p and q are positive integers such that
p / q = 1 - 1/2 + 1/3 - 1/4 + ... - 1/1318 + 1/1319.
Prove that p is divisible by 1979.
Imports (2)
Imported by 1 file
- lemma
Imo1979P1.lemma3line 31 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Eq,Rat,Finset.sum,Nat,Finset.range,OfNat.ofNat,HDiv.hDiv,HPow.hPow,Neg.neg,HAdd.hAdd,HSub.hSub,HMul.hMulProof uses:
Finset.filter,Even,Not,Finset.sum_filter_add_sum_filter_not,Eq.mpr,id,congrArg,Eq.symm,Function.Embedding,Function.Embedding.mk,Finset,Finset.map,Finset.ext,Iff,Membership.mem,Exists,And,propext,Finset.mem_map,Finset.mem_filterand 98 more142 instances, coercions and auxiliary constants left out.
Tactic trace: 60 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1979P1.lemma4line 100 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Rat,Eq,Finset.sum,Finset.Ico,HAdd.hAdd,HMul.hMul,OfNat.ofNat,Finset.range,HSub.hSubProof uses:
Eq.mpr,id,congrArg,Finset.sum_Ico_eq_sum_range,add_tsub_cancel_left,two_mul,Finset.sum_range_add,Finset.sum_add_distrib,HAdd,Eq.rec,Eq.refl,Eq.symm,Finset.sum_range_reflect,Finset.sum_congr,rfl,Finset,Membership.mem,Eq.mp,LT.lt,propextand 1 more56 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1979P1.lemma9'line 111 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Membership.mem,Finset,Finset.range,OfNat.ofNat,Eq,Rat,HDiv.hDiv,Finset.prod,HMul.hMul,HAdd.hAdd,HSub.hSub,Finset.eraseProof uses:
Eq.mpr,id,congrArg,Eq.symm,Finset.prod_erase_mul,LE.le,Eq.mp,LT.lt,propext,Finset.mem_range,congr,congrFun',Eq.trans,Nat.cast_mul,Finset.prod_natCast,Finset.prod_congr,Eq.refl,Nat.cast_add,Nat.cast_sub,Rat.mul_div_canceland 68 more122 instances, coercions and auxiliary constants left out.
Tactic trace: 9 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1979P1.lemma9line 123 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Eq,Rat,HMul.hMul,Finset.sum,Nat,Finset.range,OfNat.ofNat,HDiv.hDiv,HAdd.hAdd,HSub.hSub,Finset.prod,Finset.eraseProof uses:
Eq.mpr,id,congrFun',congrArg,Finset.sum_mul,Finset.sum_congr,Eq.refl,Finset,Membership.mem,div_mul_eq_mul_div,one_mul,rfl, Imo1979P1.lemma9',congr,Eq.trans,Finset.prod_natCast,Finset.prod_congr,Nat.cast_mul,Nat.cast_add,Nat.cast_sum79 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1979P1.h4line 133 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Membership.mem,Finset,Finset.range,OfNat.ofNat,Eq,Rat,HAdd.hAdd,HDiv.hDiv,HSub.hSub,HMul.hMulProof uses:
Eq.mpr,id,congrFun',congrArg,Nat.cast_add,Mathlib.Tactic.Ring.of_eq,Nat.rawCast,HPow.hPow,Mathlib.Tactic.Ring.Common.add_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_pf_add_lt,Mathlib.Tactic.Ring.Common.add_pf_zero_add,Mathlib.Tactic.Ring.Common.add_pf_add_overlap,Mathlib.Meta.NormNum.IsNat.to_raw_eq,Mathlib.Meta.NormNum.isNat_addand 91 more130 instances, coercions and auxiliary constants left out.
Tactic trace: 27 steps
Open to load the checked before-and-after goal states.
- lemma
Imo1979P1.prime_1979line 155 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat.Prime,OfNat.ofNat,NatProof uses:
Mathlib.Meta.NormNum.isNat_prime_2,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refl,Bool,Bool.true,Mathlib.Meta.NormNum.isNat_minFac_4,Mathlib.Meta.NormNum.IsNat.raw_refl,Mathlib.Meta.NormNum.minFacHelper_3,Bool.false,Mathlib.Meta.NormNum.minFacHelper_2,Mathlib.Meta.NormNum.not_prime_mul_of_ble,Mathlib.Meta.NormNum.minFacHelper_03 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- problem
Imo1979P1.imo1979_p1line 159 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Int,LT.lt,OfNat.ofNat,Eq,Rat,HDiv.hDiv,Finset.sum,Nat,Finset.range,HPow.hPow,Neg.neg,HAdd.hAdd,Dvd.dvdProof uses:
HMul.hMul,HSub.hSub,Trans.trans,Finset.Ico,rfl, Imo1979P1.lemma3,Eq.mpr,id,congrFun',congrArg,Finset.sum_congr,Eq.refl,Finset,Membership.mem,Eq.symm,Finset.mul_sum,Rat.mul_assoc,mul_one_div_cancel,of_decide_eq_true,Neand 66 more136 instances, coercions and auxiliary constants left out.
Tactic trace: 37 steps
Open to load the checked before-and-after goal states.