Compfiles/Usa2024P2.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
112 declarations, 0 contain sorry, 0 declared as axioms
USA Mathematical Olympiad 2024, Problem 2
Let S₁, S₂, ..., S₁₀₀ be finite sets of integers whose intersection is not empty. For each non-empty T ⊆ {S₁, S₂, ..., S₁₀₀}, the size of the intersection of the sets in T is a multiple of the number of sets in T. What is the least possible number of elements that are in at least 50 sets?
Imports (7)
Imported by 1 file
- determine
Usa2024P2.solutionline 34 sourceno axioms what this means
Statement uses:
NatProof uses:
HMul.hMul,OfNat.ofNat,Nat.choose3 instances, coercions and auxiliary constants left out.
- structure
Usa2024P2.Goodline 36 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Fin,OfNat.ofNat,Nat,Set,Int1 instances, coercions and auxiliary constants left out.
- abbrev
Usa2024P2.InAtLeastKSubsetsz is in at least k of the sets S line 43 sourceSource comment
z is in at least k of the sets S.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Fin,OfNat.ofNat,Nat,Set,IntProof uses:
LE.le,Set.ncard,Set.ofPred,Membership.mem4 instances, coercions and auxiliary constants left out.
abbrev InAtLeastKSubsets (S : Fin 100 → Set ℤ) (k : ℕ) (z : ℤ) : Prop := …
Mentions: S
- abbrev
Usa2024P2.Signatureline 48 sourcestandard axioms: Quot.sound, propext what this means
Proof uses:
Finset,Fin,OfNat.ofNat,Nat1 instances, coercions and auxiliary constants left out.
- def
Usa2024P2.topSignatureline 50 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature
Proof uses:
Finset.univ,Fin,OfNat.ofNat,Nat2 instances, coercions and auxiliary constants left out.
- def
Usa2024P2.signatureOfThe membership signature of an integer with respect to the familySline 53 sourceSource documentation
The membership signature of an integer with respect to the family
S.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Fin,OfNat.ofNat,Nat,Set,Int, Usa2024P2.SignatureProof uses:
Finset.filter,Membership.mem,Classical.propDecidable,Finset.univ4 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
noncomputable def signatureOf (S : Fin 100 → Set ℤ) (z : ℤ) : Signature := by …
Mentions: S, Usa2024P2.Signature
- lemma
Usa2024P2.ncard_preimage_eq_sum_fibersline 57 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Fintype,DecidablePred,Set.Finite,Set.ofPred,Eq,Nat,Set.ncard,Finset.sum,Finset.univ,ite,OfNat.ofNatProof uses:
Equiv,Sigma,Membership.mem,Set,Equiv.mk,Sigma.mk,Subtype.mk,Subtype.property,rfl,Sigma.fst,Sigma.snd,id,Eq.mpr,congrArg,Subtype.ext,Eq.refl,Sigma.subtype_ext,Subtype,Eq.symm,Set.Finite.subsetand 20 more22 instances, coercions and auxiliary constants left out.
Tactic trace: 36 steps
Open to load the checked before-and-after goal states.
- def
Usa2024P2.SignatureIntersectionCountCounts elements whose signature containsuline 124 sourceSource documentation
Counts elements whose signature contains
u.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
NatProof uses:
Finset.sum,Finset.univ,Fin,OfNat.ofNat,ite,LE.le9 instances, coercions and auxiliary constants left out.
noncomputable def SignatureIntersectionCount (f : Signature → ℕ) (u : Signature) : ℕ := …
Mentions: f, Usa2024P2.Signature
- def
Usa2024P2.SignatureCountConditionDivisibility condition in signature-count form line 128 sourceSource documentation
Divisibility condition in signature-count form.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
NatProof uses:
Finset.Nonempty,Fin,OfNat.ofNat,Dvd.dvd,Finset.card, Usa2024P2.SignatureIntersectionCount2 instances, coercions and auxiliary constants left out.
def SignatureCountCondition (f : Signature → ℕ) : Prop := …
Mentions: f, Usa2024P2.Signature
- def
Usa2024P2.SignatureObjectiveNumber of realized points lying in at least50sets line 132 sourceSource documentation
Number of realized points lying in at least
50sets.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
NatProof uses:
Finset.sum,Finset.univ,Fin,OfNat.ofNat,ite,LE.le,Finset.card6 instances, coercions and auxiliary constants left out.
noncomputable def SignatureObjective (f : Signature → ℕ) : ℕ := …
Mentions: f, Usa2024P2.Signature
- def
Usa2024P2.canonicalHighCountCanonical high-rank counts used by the construction line 136 sourceSource documentation
Canonical high-rank counts used by the construction.
standard axioms: Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
NatProof uses:
ite,LE.le,OfNat.ofNat,Finset.card,Fin,HSub.hSub,HMul.hMul7 instances, coercions and auxiliary constants left out.
def canonicalHighCount (v : Signature) : ℕ := …
Mentions: Usa2024P2.Signature
- lemma
Usa2024P2.superset_layer_cardCount supersignatures ofuwith exactlyjnew indices line 140 sourceSource documentation
Count supersignatures of
uwith exactlyjnew indices.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
Nat,Eq,Finset.card,Finset.filter,And,LE.le,Fin,OfNat.ofNat,HAdd.hAdd,Finset.univ,Nat.choose,HSub.hSubProof uses: Usa2024P2.topSignature,
Membership.mem,Finset,of_eq_true,Finset.powersetCard,Finset.ext,Iff.intro,Eq.mpr,id,congrArg,propext,Finset.mem_filter,And.intro,Iff.mpr,Finset.mem_powersetCard,And.right,Eq.mp,And.left,Finset.mem_univ,Iff.mpand 8 more33 instances, coercions and auxiliary constants left out.
Tactic trace: 24 steps
Open to load the checked before-and-after goal states.
lemma superset_layer_card (u : Signature) (j : ℕ) : ((Finset.univ : Finset Signature).filter (fun v : Signature => u ⊆ v ∧ v.card = u.card + j)).card = (100 - u.card).choose j := by …Mentions: Usa2024P2.Signature
- def
Usa2024P2.supersetLayerline 168 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
Nat,FinsetProof uses:
Finset.filter,And,LE.le,Fin,OfNat.ofNat,Eq,Finset.card,HAdd.hAdd,Finset.univ12 instances, coercions and auxiliary constants left out.
- lemma
Usa2024P2.mem_supersetLayerline 172 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
Nat,Iff,Membership.mem,Finset, Usa2024P2.supersetLayer,And,LE.le,Fin,OfNat.ofNat,Eq,Finset.card,HAdd.hAddProof uses:
of_eq_true,Eq.trans,True,congrFun',congrArg,Finset.filter,Finset.univ,true_and,iff_self24 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.supersetLayer_cardline 176 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
Nat,Eq,Finset.card, Usa2024P2.supersetLayer,Nat.choose,HSub.hSub,OfNat.ofNat,FinProof uses:
id, Usa2024P2.superset_layer_card6 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.canonicalHighCount_of_superset_highline 180 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
LE.le,Nat,OfNat.ofNat,Finset.card,Fin,Eq, Usa2024P2.canonicalHighCount,HSub.hSub,HMul.hMulProof uses:
Finset.card_le_card,of_eq_true,Eq.trans,True,congrFun',congrArg,ite_eq_left_of_eq_true,eq_true,le_trans,eq_self20 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.canonicalHighCount_grouped_summandline 186 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq,HAdd.hAdd,OfNat.ofNat,LE.le,HSub.hSub,HMul.hMul13 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.sum_supersets_by_rankline 191 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
Nat,Eq,Finset.sum,Finset.univ,Fin,OfNat.ofNat,ite,LE.le,Finset.card,Finset.range,HAdd.hAdd,HSub.hSub,HMul.hMul,Nat.chooseProof uses:
Trans.trans,Finset.filter,Eq.mpr,id,congrArg,Eq.symm,Finset.sum_filter,Eq.refl,Finset.sum_congr,rfl,Finset,Membership.mem,And.right,Eq.mp,And,propext,Finset.mem_filter,Finset.card_le_card,card_finset_fin_le,Eq.transand 27 more71 instances, coercions and auxiliary constants left out.
Tactic trace: 40 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.SignatureIntersectionCount_canonicalHighCount_groupedGroup the high-count intersection sum by rank difference line 264 sourceSource documentation
Group the high-count intersection sum by rank difference.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
LE.le,Nat,OfNat.ofNat,Finset.card,Fin,Eq, Usa2024P2.SignatureIntersectionCount, Usa2024P2.canonicalHighCount,Finset.sum,Finset.range,HAdd.hAdd,HSub.hSub,HMul.hMul,Nat.chooseProof uses:
Eq.mpr,Finset.univ,ite,id,congrArg,Usa2024P2.SignatureIntersectionCount.eq_1,Trans.trans,Finset.sum_congr,rfl,Finset,Membership.mem,dite,ite_eq_left, Usa2024P2.canonicalHighCount_of_superset_high,Eq.refl,Not,of_eq_true,Eq.trans,True,congrand 4 more28 instances, coercions and auxiliary constants left out.
Tactic trace: 10 steps
Open to load the checked before-and-after goal states.
lemma SignatureIntersectionCount_canonicalHighCount_grouped (u : Signature) (hu : 50 ≤ u.card) : SignatureIntersectionCount canonicalHighCount u = ∑ j ∈ Finset.range (100 - u.card + 1), (2 * (u.card + j) - 100) * (100 - u.card).choose j := by …Mentions: Usa2024P2.Signature, Usa2024P2.SignatureIntersectionCount, Usa2024P2.canonicalHighCount
- lemma
Usa2024P2.canonicalHighCount_grouped_sum_eqThe binomial identity after grouping by rank line 283 sourceSource documentation
The binomial identity after grouping by rank.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq,HAdd.hAdd,OfNat.ofNat,LE.le,Finset.sum,Finset.range,HMul.hMul,HSub.hSub,Nat.choose,HPow.hPowProof uses:
Nat.sum_range_choose,Nat.sum_range_mul_choose,Trans.trans,Finset.sum_congr,rfl,Finset,Membership.mem,Nat.le_of_lt_succ,Iff.mp,Nat.succ,LT.lt,Finset.mem_range,Eq.mpr,id,congrArg, Usa2024P2.canonicalHighCount_grouped_summand,Eq.refl,Mathlib.Tactic.Ring.of_eq,Nat.rawCast,Mathlib.Tactic.Ring.Common.mul_congrand 42 more65 instances, coercions and auxiliary constants left out.
Tactic trace: 32 steps
Open to load the checked before-and-after goal states.
lemma canonicalHighCount_grouped_sum_eq {a m : ℕ} (ham : a + m = 100) (ha : 50 ≤ a) : (∑ j ∈ Finset.range (m + 1), (2 * (a + j) - 100) * m.choose j) = a * 2 ^ m := by … - lemma
Usa2024P2.SignatureIntersectionCount_canonicalHighCount_closed_formClosed form for canonical high-rank intersections line 330 sourceSource documentation
Closed form for canonical high-rank intersections.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
LE.le,Nat,OfNat.ofNat,Finset.card,Fin,Eq, Usa2024P2.SignatureIntersectionCount, Usa2024P2.canonicalHighCount,HMul.hMul,HPow.hPow,HSub.hSubProof uses:
Eq.mpr,Finset.sum,Finset.range,HAdd.hAdd,Nat.choose,id,congrArg, Usa2024P2.SignatureIntersectionCount_canonicalHighCount_grouped,card_finset_fin_le, Usa2024P2.canonicalHighCount_grouped_sum_eq24 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
lemma SignatureIntersectionCount_canonicalHighCount_closed_form (u : Signature) (hu : 50 ≤ u.card) : SignatureIntersectionCount canonicalHighCount u = u.card * 2 ^ (100 - u.card) := by …Mentions: Usa2024P2.Signature, Usa2024P2.SignatureIntersectionCount, Usa2024P2.canonicalHighCount
- def
Usa2024P2.pushDownMove one full block fromvto its immediate sub-signatures line 339 sourceSource documentation
Move one full block from
vto its immediate sub-signatures.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
NatProof uses:
ite,Eq,Fin,OfNat.ofNat,HSub.hSub,Finset.card,And,LE.le,HAdd.hAdd13 instances, coercions and auxiliary constants left out.
def pushDown (f : Signature → ℕ) (v : Signature) : Signature → ℕ := …
Mentions: f, Usa2024P2.Signature
- lemma
Usa2024P2.immediate_supersets_countline 345 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
LE.le,Fin,OfNat.ofNat,Nat,Eq,Finset.sum,Finset.erase,Finset.univ,ite,And,HAdd.hAdd,Finset.card,HSub.hSubProof uses:
Eq.mpr,Finset.filter,id,congrArg,Eq.symm,Finset.card_filter,dite,tsub_self,Finset,EmptyCollection.emptyCollection,Finset.ext,Iff.intro,Membership.mem,False.elim,Finset.Subset.antisymm,And.left,And.right,Eq.mp,propext,Finset.mem_filterand 25 more67 instances, coercions and auxiliary constants left out.
Tactic trace: 48 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.canonicalHighCount_valid_on_highline 395 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
LE.le,Nat,OfNat.ofNat,Finset.card,Fin,Dvd.dvd, Usa2024P2.SignatureIntersectionCount, Usa2024P2.canonicalHighCountProof uses:
Eq.mpr,HMul.hMul,HPow.hPow,HSub.hSub,id,Eq,congrArg, Usa2024P2.SignatureIntersectionCount_canonicalHighCount_closed_form,dvd_mul_right15 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.sum_signatures_by_cardline 402 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq,Finset.sum, Usa2024P2.Signature,Finset.univ,Fin,OfNat.ofNat,Finset.card,Finset.range,HMul.hMul,Nat.chooseProof uses:
Eq.mp,ite,LE.le,EmptyCollection.emptyCollection,HAdd.hAdd,HSub.hSub,congr,congrArg,Finset.sum_congr,Eq.refl,Finset,Membership.mem,ite_eq_left_of_eq_true,congrFun',tsub_zero,zero_add, Usa2024P2.sum_supersets_by_rank29 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.high_rank_objective_sum_eq_tailline 407 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Eq,Nat,Finset.sum,Finset.range,OfNat.ofNat,HMul.hMul,ite,LE.le,HSub.hSub,Nat.choose,HAdd.hAddProof uses:
Finset.sum_range_add,Eq.mpr,id,congrArg,Eq.mp,congrFun',Finset.sum_congr,Finset,Mathlib.Meta.NormNum.IsNat.to_eq,Mathlib.Meta.NormNum.isNat_add,Eq.refl,Mathlib.Meta.NormNum.isNat_ofNat,Membership.mem,Finset.sum_eq_zero,LT.lt,Iff.mp,Finset.mem_range,of_eq_true,Eq.trans,Trueand 12 more51 instances, coercions and auxiliary constants left out.
Tactic trace: 13 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.high_rank_objective_summand_intline 427 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LE.le,OfNat.ofNat,Eq,Int,HMul.hMul,HSub.hSub,Nat.chooseProof uses:
LT.lt,HAdd.hAdd,Nat.add_one_mul_choose_eq,Nat.sub_add_cancel,Eq.mpr,id,congrFun',congrArg,Nat.mul_comm,Eq.mp,congr,Eq.trans,Nat.choose_mul_succ_eq,cast,Eq.symm,Trans.trans,of_eq_true,True,Nat.cast_mul,eq_selfand 37 more63 instances, coercions and auxiliary constants left out.
Tactic trace: 21 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.high_rank_choose_telescope_intline 457 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq,Int,Finset.sum,Finset.range,HAdd.hAdd,OfNat.ofNat,HMul.hMul,HSub.hSub,Nat.chooseProof uses:
Nat.recAux,of_eq_true,Eq.trans,True,congr,congrArg,Singleton.singleton,Finset,congrFun',zero_add,Finset.sum_singleton,add_zero,eq_self,Eq.mpr,id,Finset.sum_range_succ,HPow.hPow,Nat.rawCast,Int.rawCast,inferInstanceand 48 more71 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.high_rank_weighted_choose_sumline 469 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Eq,Nat,Finset.sum,Finset.range,OfNat.ofNat,HMul.hMul,HSub.hSub,HAdd.hAdd,Nat.chooseProof uses:
Int,Trans.trans,Eq.mpr,id,congrArg,Nat.cast_sum,Eq.refl,Finset.sum_congr,rfl,Finset,Membership.mem,LT.lt,Iff.mp,Finset.mem_range, Usa2024P2.high_rank_objective_summand_int, Usa2024P2.high_rank_choose_telescope_int,Nat.add_one_mul_choose_eq,Nat.choose_succ_self,congr,Eq.transand 10 more49 instances, coercions and auxiliary constants left out.
Tactic trace: 18 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.canonicalHighCount_objective_rank_sumline 502 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Eq,Nat,Finset.sum,Finset.range,OfNat.ofNat,HMul.hMul,ite,LE.le,HSub.hSub,Nat.choose, Usa2024P2.solutionProof uses:
Eq.mpr,HAdd.hAdd,id,congrArg, Usa2024P2.high_rank_objective_sum_eq_tail,Usa2024P2.solution.eq_1, Usa2024P2.high_rank_weighted_choose_sum18 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.canonicalHighCount_objectiveline 509 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Eq,Nat, Usa2024P2.SignatureObjective, Usa2024P2.canonicalHighCount, Usa2024P2.solutionProof uses:
Eq.mpr,Finset.sum, Usa2024P2.Signature,Finset.univ,Fin,OfNat.ofNat,ite,LE.le,Finset.card,id,congrArg,Usa2024P2.SignatureObjective.eq_1,Trans.trans,Finset.range,HMul.hMul,HSub.hSub,Nat.choose,Finset.sum_congr,rfl,Finsetand 14 more13 instances, coercions and auxiliary constants left out.
Tactic trace: 10 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.pushDown_preserves_conditionline 525 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
Nat,LE.le,Finset.card,Fin,OfNat.ofNat, Usa2024P2.SignatureCountCondition, Usa2024P2.pushDownProof uses:
Finset.Nonempty,dite,Dvd.dvd, Usa2024P2.SignatureIntersectionCount,Finset.card_le_card,Eq,HAdd.hAdd,Eq.mpr,Finset.sum,Finset.univ,ite,id,congrArg,Usa2024P2.SignatureIntersectionCount.eq_1,Finset.erase,Eq.symm,Finset.sum_erase_add,Finset.mem_univ,HSub.hSub,Trans.transand 31 more30 instances, coercions and auxiliary constants left out.
Tactic trace: 53 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.pushDown_preserves_objective_of_largeline 597 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
Nat,LT.lt,OfNat.ofNat,Finset.card,Fin,LE.le,Eq, Usa2024P2.SignatureObjective, Usa2024P2.pushDownProof uses:
HSub.hSub,of_eq_true,Eq.trans,True,congrFun',congrArg,ite_eq_left_of_eq_true,ite,And,HAdd.hAdd,eq_self,eq_true,Nat.choose,Nat.casesAuxOn,Eq.symm,Eq.refl,add_tsub_cancel_right,Nat.choose_succ_self_right,Finset.sum,Finset.eraseand 34 more54 instances, coercions and auxiliary constants left out.
Tactic trace: 59 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.pushDown_decreases_objective_at_middleline 696 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
Nat,Eq,Finset.card,Fin,OfNat.ofNat,LE.le,HAdd.hAdd, Usa2024P2.SignatureObjective, Usa2024P2.pushDownProof uses:
HSub.hSub,of_eq_true,Eq.trans,True,congrFun',congrArg,ite,And,ite_eq_left_of_eq_true,eq_self,eq_true,Finset.sum,Finset.erase,Finset.univ,Finset.sum_congr,rfl,Finset,Membership.mem,Ne,And.leftand 15 more33 instances, coercions and auxiliary constants left out.
Tactic trace: 30 steps
Open to load the checked before-and-after goal states.
- def
Usa2024P2.strictSupersetContributionStrict-superset part of an intersection count line 750 sourceSource documentation
Strict-superset part of an intersection count.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
NatProof uses:
Finset.sum,Finset.univ,Fin,OfNat.ofNat,ite,LT.lt9 instances, coercions and auxiliary constants left out.
noncomputable def strictSupersetContribution (f : Signature → ℕ) (u : Signature) : ℕ := …
Mentions: f, Usa2024P2.Signature
- def
Usa2024P2.fillRankFill one rank with the least residue making divisibility hold line 754 sourceSource documentation
Fill one rank with the least residue making divisibility hold.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, Usa2024P2.SignatureProof uses:
ite,Eq,Finset.card,Fin,OfNat.ofNat, Usa2024P2.strictSupersetContribution,HMod.hMod,HSub.hSub6 instances, coercions and auxiliary constants left out.
noncomputable def fillRank (k : ℕ) (f : Signature → ℕ) : Signature → ℕ := …
Mentions: f, Usa2024P2.Signature
- lemma
Usa2024P2.dvd_complement_mod_addThe chosen residue makesresidue + sdivisible bydline 762 sourceSource documentation
The chosen residue makes
residue + sdivisible byd.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LT.lt,OfNat.ofNat,Dvd.dvd,HAdd.hAdd,HMod.hMod,HSub.hSubProof uses:
id,Nat.mod_lt,dite,Eq,Eq.mpr,congrArg,propext,Nat.dvd_iff_mod_eq_zero,of_eq_true,Eq.trans,True,congrFun',tsub_zero,Nat.mod_self,zero_add,eq_self,Not,Nat.mod_eq_of_lt,Exists.intro,HMul.hMuland 29 more49 instances, coercions and auxiliary constants left out.
Tactic trace: 20 steps
Open to load the checked before-and-after goal states.
lemma dvd_complement_mod_add {d s : ℕ} (hd : 0 < d) : d ∣ ((d - s % d) % d) + s := by … - lemma
Usa2024P2.fillRank_eq_of_cardline 781 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, Usa2024P2.Signature,Eq,Finset.card,Fin,OfNat.ofNat, Usa2024P2.fillRank, Usa2024P2.strictSupersetContribution,HMod.hMod,HSub.hSubProof uses:
of_eq_true,Eq.trans,True,congr,congrArg,ite,ite_eq_left_of_eq_true,congrFun',eq_self11 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.fillRank_eq_self_of_card_neline 788 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, Usa2024P2.Signature,Ne,Finset.card,Fin,OfNat.ofNat,Eq, Usa2024P2.fillRankProof uses:
of_eq_true,Eq.trans,True,congrFun',congrArg,ite_eq_right_of_eq_false, Usa2024P2.strictSupersetContribution,HMod.hMod,HSub.hSub,eq_false,eq_self7 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.fillRank_eq_self_of_card_gtline 792 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, Usa2024P2.Signature,LT.lt,Finset.card,Fin,OfNat.ofNat,Eq, Usa2024P2.fillRankProof uses: Usa2024P2.fillRank_eq_self_of_card_ne
5 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.fillRank_eq_self_of_card_ltline 796 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, Usa2024P2.Signature,LT.lt,Finset.card,Fin,OfNat.ofNat,Eq, Usa2024P2.fillRankProof uses: Usa2024P2.fillRank_eq_self_of_card_ne
5 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.fillRank_eq_self_of_highline 800 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, Usa2024P2.Signature,LT.lt,OfNat.ofNat,LE.le,Finset.card,Fin,Eq, Usa2024P2.fillRankProof uses: Usa2024P2.fillRank_eq_self_of_card_gt
7 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.fillRank_eq_self_on_supersets_of_card_ltline 804 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, Usa2024P2.Signature,LT.lt,Finset.card,Fin,OfNat.ofNat,LE.le,Eq, Usa2024P2.fillRankProof uses: Usa2024P2.fillRank_eq_self_of_card_gt,
lt_of_lt_of_le,Finset.card_le_card11 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.strictSupersetContribution_congrline 810 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
Nat,LT.lt,Fin,OfNat.ofNat,Eq, Usa2024P2.strictSupersetContributionProof uses:
id,Finset.sum_congr,Finset.univ,ite,rfl,Finset,Membership.mem,ite_congr,Not15 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.strictSupersetContribution_eq_canonical_of_strictCanonical strict supersets give the canonical strict contribution line 817 sourceSource documentation
Canonical strict supersets give the canonical strict contribution.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
Nat,LT.lt,Fin,OfNat.ofNat,Eq, Usa2024P2.canonicalHighCount, Usa2024P2.strictSupersetContributionProof uses: Usa2024P2.strictSupersetContribution_congr
8 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
lemma strictSupersetContribution_eq_canonical_of_strict {f : Signature → ℕ} {u : Signature} (hstrict : ∀ w : Signature, u ⊂ w → f w = canonicalHighCount w) : strictSupersetContribution f u = strictSupersetContribution canonicalHighCount u := by …Mentions: f, Usa2024P2.Signature, Usa2024P2.canonicalHighCount, Usa2024P2.strictSupersetContribution
- lemma
Usa2024P2.SignatureIntersectionCount_eq_self_add_strictSplit an intersection count into exact and strict-superset terms line 825 sourceSource documentation
Split an intersection count into exact and strict-superset terms.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
Nat,Eq, Usa2024P2.SignatureIntersectionCount,HAdd.hAdd, Usa2024P2.strictSupersetContributionProof uses:
ite,LE.le,Fin,OfNat.ofNat,LT.lt,Finset.sum,Finset.erase,Finset.univ,Finset.sum_congr,rfl,Finset,Membership.mem,Ne,And.left,Iff.mp,And,Finset.mem_erase,dite,Iff.mpr,Finset.ssubset_iff_subset_neand 27 more29 instances, coercions and auxiliary constants left out.
Tactic trace: 24 steps
Open to load the checked before-and-after goal states.
lemma SignatureIntersectionCount_eq_self_add_strict (f : Signature → ℕ) (u : Signature) : SignatureIntersectionCount f u = f u + strictSupersetContribution f u := by …Mentions: f, Usa2024P2.Signature, Usa2024P2.SignatureIntersectionCount, Usa2024P2.strictSupersetContribution
- lemma
Usa2024P2.modEq_self_of_split_divisibilitiesDivisibility after adding the same tail gives a congruence line 862 sourceSource documentation
Divisibility after adding the same tail gives a congruence.
standard axioms: propext what this means
Statement uses:
Nat,Dvd.dvd,HAdd.hAdd,Nat.ModEqProof uses:
OfNat.ofNat,Iff.mpr,Nat.modEq_zero_iff_dvd,Nat.ModEq.add_right_cancel',Nat.ModEq.trans,Nat.ModEq.symm7 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
lemma modEq_self_of_split_divisibilities {d a b T : ℕ} (ha : d ∣ a + T) (hb : d ∣ b + T) : a ≡ b [MOD d] := by … - lemma
Usa2024P2.le_of_modEq_of_lt_modulusA small representative is a lower bound for congruent naturals line 870 sourceSource documentation
A small representative is a lower bound for congruent naturals.
standard axioms: propext what this means
Statement uses:
Nat,LT.lt,Nat.ModEq,LE.leProof uses:
Eq,HMod.hMod,Nat.mod_eq_of_lt,Eq.mp,congrArg,Trans.trans,Eq.symm,Nat.mod_le7 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
lemma le_of_modEq_of_lt_modulus {d a b : ℕ} (hb : b < d) (hmod : a ≡ b [MOD d]) : b ≤ a := by … - lemma
Usa2024P2.SignatureIntersectionCount_fillRank_of_card_gtline 880 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, Usa2024P2.Signature,LT.lt,Finset.card,Fin,OfNat.ofNat,Eq, Usa2024P2.SignatureIntersectionCount, Usa2024P2.fillRankProof uses:
Eq.mpr,Finset.sum,Finset.univ,ite,LE.le,id,congrArg,Usa2024P2.SignatureIntersectionCount.eq_1,Finset.sum_congr,rfl,Finset,Membership.mem,dite,ite_eq_left, Usa2024P2.fillRank_eq_self_on_supersets_of_card_lt,Eq.refl,Not,of_eq_true,Eq.trans,Trueand 4 more14 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.fillRank_self_add_strictSupersetContribution_dvdline 890 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, Usa2024P2.Signature,Eq,Finset.card,Fin,OfNat.ofNat,LT.lt,Dvd.dvd,HAdd.hAdd, Usa2024P2.fillRank, Usa2024P2.strictSupersetContributionProof uses:
Eq.mpr,HMod.hMod,HSub.hSub,id,congrArg, Usa2024P2.fillRank_eq_of_card, Usa2024P2.dvd_complement_mod_add14 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.fillRank_satisfies_rankFilling rankkmakes rankkvalid line 897 sourceSource documentation
Filling rank
kmakes rankkvalid.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, Usa2024P2.Signature,Eq,Finset.card,Fin,OfNat.ofNat,LT.lt,Dvd.dvd, Usa2024P2.SignatureIntersectionCount, Usa2024P2.fillRankProof uses:
Eq.mpr,HAdd.hAdd, Usa2024P2.strictSupersetContribution,id,congrArg, Usa2024P2.SignatureIntersectionCount_eq_self_add_strict, Usa2024P2.strictSupersetContribution_congr, Usa2024P2.fillRank_eq_self_of_card_gt,Finset.card_lt_card, Usa2024P2.fillRank_self_add_strictSupersetContribution_dvd12 instances, coercions and auxiliary constants left out.
Tactic trace: 9 steps
Open to load the checked before-and-after goal states.
lemma fillRank_satisfies_rank {k : ℕ} {f : Signature → ℕ} {u : Signature} (hu : u.card = k) (hupos : 0 < u.card) : u.card ∣ SignatureIntersectionCount (fillRank k f) u := by …Mentions: f, Usa2024P2.Signature, Usa2024P2.SignatureIntersectionCount, Usa2024P2.fillRank
- lemma
Usa2024P2.fillRank_preserves_completed_ranksFilling rankkpreserves completed higher ranks line 913 sourceSource documentation
Filling rank
kpreserves completed higher ranks.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, Usa2024P2.Signature,Finset.Nonempty,Fin,OfNat.ofNat,LT.lt,Finset.card,Dvd.dvd, Usa2024P2.SignatureIntersectionCount, Usa2024P2.fillRankProof uses:
Eq.mpr,id,Eq,congrArg, Usa2024P2.SignatureIntersectionCount_fillRank_of_card_gt6 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
lemma fillRank_preserves_completed_ranks {k : ℕ} {f : Signature → ℕ} (hf : ∀ u : Signature, u.Nonempty → k < u.card → u.card ∣ SignatureIntersectionCount f u) : ∀ u : Signature, u.Nonempty → k < u.card → u.card ∣ SignatureIntersectionCount (fillRank k f) u := by …Mentions: f, Usa2024P2.Signature, Usa2024P2.SignatureIntersectionCount, Usa2024P2.fillRank
- lemma
Usa2024P2.fillRank_extends_completed_ranksAfter filling rankk, all ranks at leastkare valid line 923 sourceSource documentation
After filling rank
k, all ranks at leastkare valid.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, Usa2024P2.Signature,Finset.Nonempty,Fin,OfNat.ofNat,LT.lt,Finset.card,Dvd.dvd, Usa2024P2.SignatureIntersectionCount,LE.le, Usa2024P2.fillRankProof uses:
dite,Eq, Usa2024P2.fillRank_satisfies_rank,Iff.mpr,Finset.card_pos,Not, Usa2024P2.fillRank_preserves_completed_ranks10 instances, coercions and auxiliary constants left out.
Tactic trace: 10 steps
Open to load the checked before-and-after goal states.
lemma fillRank_extends_completed_ranks {k : ℕ} {f : Signature → ℕ} (hf : ∀ u : Signature, u.Nonempty → k < u.card → u.card ∣ SignatureIntersectionCount f u) : ∀ u : Signature, u.Nonempty → k ≤ u.card → u.card ∣ SignatureIntersectionCount (fillRank k f) u := by …Mentions: f, Usa2024P2.Signature, Usa2024P2.SignatureIntersectionCount, Usa2024P2.fillRank
- lemma
Usa2024P2.SignatureObjective_fillRank_of_lowLow-rank filling does not change the high-rank objective line 936 sourceSource documentation
Low-rank filling does not change the high-rank objective.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, Usa2024P2.Signature,LT.lt,OfNat.ofNat,Eq, Usa2024P2.SignatureObjective, Usa2024P2.fillRankProof uses:
Eq.mpr,Finset.sum,Finset.univ,Fin,ite,LE.le,Finset.card,id,congrArg,Usa2024P2.SignatureObjective.eq_1,Finset.sum_congr,rfl,Finset,Membership.mem,dite, Usa2024P2.fillRank_eq_self_of_high,Eq.refl,Not,of_eq_true,Eq.transand 5 more11 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
lemma SignatureObjective_fillRank_of_low {k : ℕ} {f : Signature → ℕ} (hk : k < 50) : SignatureObjective (fillRank k f) = SignatureObjective f := by …Mentions: f, Usa2024P2.Signature, Usa2024P2.SignatureObjective, Usa2024P2.fillRank
- def
Usa2024P2.lowerFillline 946 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, Usa2024P2.Signature2 instances, coercions and auxiliary constants left out.
- lemma
Usa2024P2.lowerFill_validline 950 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LE.le,OfNat.ofNat, Usa2024P2.Signature,Finset.Nonempty,Fin,HSub.hSub,Finset.card,Dvd.dvd, Usa2024P2.SignatureIntersectionCount, Usa2024P2.lowerFillProof uses:
Nat.recAux, Usa2024P2.canonicalHighCount_valid_on_high,Eq.mp,congrFun',congrArg,tsub_zero,HAdd.hAdd,id, Usa2024P2.fillRank_extends_completed_ranks,LT.lt19 instances, coercions and auxiliary constants left out.
Tactic trace: 20 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.lowerFill_preserves_highline 971 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, Usa2024P2.Signature,LE.le,OfNat.ofNat,Finset.card,Fin,Eq, Usa2024P2.lowerFill, Usa2024P2.canonicalHighCountProof uses:
Nat.recAux,Eq.refl,id,HAdd.hAdd,Eq.mpr, Usa2024P2.fillRank,HSub.hSub,congrArg, Usa2024P2.fillRank_eq_self_of_high9 instances, coercions and auxiliary constants left out.
Tactic trace: 7 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.lowerFill_objectiveline 984 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Eq, Usa2024P2.SignatureObjective, Usa2024P2.lowerFill, Usa2024P2.canonicalHighCountProof uses:
Nat.recAux,Eq.refl,OfNat.ofNat,id,HAdd.hAdd,Eq.mpr, Usa2024P2.fillRank,HSub.hSub,congrArg, Usa2024P2.SignatureObjective_fillRank_of_low6 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.lower_rank_filling_existsFill ranks49, ..., 1line 997 sourceSource documentation
Fill ranks
49, ..., 1.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Exists, Usa2024P2.Signature,Nat,And,Finset.Nonempty,Fin,OfNat.ofNat,Dvd.dvd,Finset.card, Usa2024P2.SignatureIntersectionCount,LE.le,Eq, Usa2024P2.canonicalHighCount, Usa2024P2.SignatureObjectiveProof uses:
Exists.intro, Usa2024P2.lowerFill,And.intro, Usa2024P2.lowerFill_valid,Mathlib.Meta.NormNum.isNat_le_true,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refl,Bool,Bool.true,LT.lt,Iff.mpr,Finset.card_pos, Usa2024P2.lowerFill_preserves_high, Usa2024P2.lowerFill_objective13 instances, coercions and auxiliary constants left out.
Tactic trace: 11 steps
Open to load the checked before-and-after goal states.
lemma lower_rank_filling_exists : ∃ f : Signature → ℕ, (∀ u : Signature, u.Nonempty → u.card ∣ SignatureIntersectionCount f u) ∧ (∀ v : Signature, 50 ≤ v.card → f v = canonicalHighCount v) ∧ SignatureObjective f = SignatureObjective canonicalHighCount := by …Mentions: f, Usa2024P2.Signature, Usa2024P2.SignatureIntersectionCount, Usa2024P2.canonicalHighCount, Usa2024P2.SignatureObjective
- lemma
Usa2024P2.extend_canonical_high_countsConstruct a valid signature count model extending the canonical high ranks line 1012 sourceSource documentation
Construct a valid signature count model extending the canonical high ranks.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Exists, Usa2024P2.Signature,Nat,And, Usa2024P2.SignatureCountCondition,LT.lt,OfNat.ofNat, Usa2024P2.topSignature,LE.le,Finset.card,Fin,Eq, Usa2024P2.canonicalHighCount, Usa2024P2.SignatureObjective, Usa2024P2.solutionProof uses:
Finset.Nonempty,Dvd.dvd, Usa2024P2.SignatureIntersectionCount, Usa2024P2.lower_rank_filling_exists,Exists.intro,And.intro,Eq.mpr,id,congrArg,of_eq_true,Eq.trans,True,Fintype.card_fin,eq_true_of_decide,Eq.refl,Bool,Bool.true,ite,HSub.hSub,HMul.hMuland 3 more22 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
lemma extend_canonical_high_counts : ∃ f : Signature → ℕ, SignatureCountCondition f ∧ 0 < f topSignature ∧ (∀ v : Signature, 50 ≤ v.card → f v = canonicalHighCount v) ∧ SignatureObjective f = solution := by …Mentions: f, Usa2024P2.Signature, Usa2024P2.SignatureCountCondition, Usa2024P2.topSignature, Usa2024P2.canonicalHighCount, Usa2024P2.SignatureObjective, Usa2024P2.solution
- abbrev
Usa2024P2.RealizedPointline 1024 sourcestandard axioms: Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
NatProof uses:
Sigma,Fin - def
Usa2024P2.encodePointline 1027 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
Nat,Function.Embedding, Usa2024P2.RealizedPoint,IntProof uses:
Equiv,Fin,Fintype.card,OfNat.ofNat,Fintype.equivFin,Function.Embedding.mk11 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
- def
Usa2024P2.realizedFamilyline 1038 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
Nat,Fin,OfNat.ofNat,Set,IntProof uses:
Set.range,Subtype, Usa2024P2.RealizedPoint,Membership.mem,Sigma.fst,Function.Embedding, Usa2024P2.encodePoint7 instances, coercions and auxiliary constants left out.
- lemma
Usa2024P2.realizedFamily_finiteline 1043 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
Nat,Fin,OfNat.ofNat,Set.Finite,Int, Usa2024P2.realizedFamilyProof uses:
Set.finite_range,Subtype, Usa2024P2.RealizedPoint,Membership.mem,Sigma.fst,Function.Embedding, Usa2024P2.encodePoint12 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.mem_realizedFamily_iffline 1048 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
Nat,Fin,OfNat.ofNat, Usa2024P2.RealizedPoint,Iff,Membership.mem,Int,Set, Usa2024P2.realizedFamily,Function.Embedding, Usa2024P2.encodePoint,Sigma.fstProof uses:
Iff.intro,Subtype,Eq,Function.Embedding.injective,Eq.mp,congrFun',congrArg,Subtype.property,Exists.intro,Subtype.mk,rfl14 instances, coercions and auxiliary constants left out.
Tactic trace: 9 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.realizedPoint_subtype_cardline 1059 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
Nat,DecidablePred,Eq,Nat.card,Subtype, Usa2024P2.RealizedPoint,Sigma.fst,Fin,Finset.sum,Finset.univ,OfNat.ofNat,iteProof uses:
Equiv,Sigma,Equiv.subtypeSigmaEquiv,Trans.trans,Fintype.card,Nat.card_eq_fintype_card,Fintype.card_congr,Eq.mpr,id,congrArg,Fintype.card_sigma,of_eq_true,Eq.trans,True,congrFun',Finset.sum_congr,Eq.refl,Finset,Membership.mem,Fintype.card_finand 9 more21 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.realized_intersection_eqline 1082 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
Nat,Finset.Nonempty,Fin,OfNat.ofNat,Eq,Set,Int,Set.iInter,Membership.mem, Usa2024P2.realizedFamily,Set.range,Subtype, Usa2024P2.RealizedPoint,LE.le,Sigma.fst,Function.Embedding, Usa2024P2.encodePointProof uses:
Set.ext,Iff.intro,Finset,Iff.mp,Set.mem_iInter₂,Eq.mpr,id,congrArg, Usa2024P2.mem_realizedFamily_iff,Exists.intro,Subtype.mk,Eq.symm,Iff.mpr,Subtype.property20 instances, coercions and auxiliary constants left out.
Tactic trace: 19 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.realized_intersection_ncardline 1106 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
Nat,Finset.Nonempty,Fin,OfNat.ofNat,Eq,Set.ncard,Int,Set.iInter,Membership.mem, Usa2024P2.realizedFamily, Usa2024P2.SignatureIntersectionCountProof uses:
Eq.mpr,Set.range,Subtype, Usa2024P2.RealizedPoint,LE.le,Sigma.fst,Function.Embedding, Usa2024P2.encodePoint,id,congrArg,Set, Usa2024P2.realized_intersection_eq,Nat.card,Set.ncard_range_of_injective,Subtype.ext,Function.Embedding.injective,Finset.sum,Finset.univ,ite, Usa2024P2.realizedPoint_subtype_card and 2 more17 instances, coercions and auxiliary constants left out.
Tactic trace: 7 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.realized_membership_ncardline 1116 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
Nat, Usa2024P2.RealizedPoint,Eq,Set.ncard,Fin,OfNat.ofNat,Set.ofPred,Membership.mem,Int,Set, Usa2024P2.realizedFamily,Function.Embedding, Usa2024P2.encodePoint,Finset.card,Sigma.fstProof uses:
Set.Finite,Set.Finite.subset,Set.univ,Set.finite_univ,of_eq_true,Eq.mpr,Set.Finite.toFinset,id,congrArg,Set.ncard_eq_toFinset_card,Finset,Finset.ext,Iff,propext,Set.Finite.mem_toFinset, Usa2024P2.mem_realizedFamily_iff,Eq.refl13 instances, coercions and auxiliary constants left out.
Tactic trace: 9 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.realized_objective_ncardline 1129 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
Nat,Eq,Set.ncard,Int,Set.ofPred, Usa2024P2.InAtLeastKSubsets, Usa2024P2.realizedFamily,OfNat.ofNat, Usa2024P2.SignatureObjectiveProof uses:
Set,Set.range,Subtype, Usa2024P2.RealizedPoint,LE.le,Finset.card,Fin,Sigma.fst,Function.Embedding, Usa2024P2.encodePoint,Set.ext,Iff.intro,Membership.mem,Set.Finite,Set.Finite.subset,Set.univ,Set.finite_univ,of_eq_true,LT.lt,lt_of_lt_of_leand 29 more25 instances, coercions and auxiliary constants left out.
Tactic trace: 32 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.realize_signature_countsRealize finite signature counts by finite integer sets line 1166 sourceSource documentation
Realize finite signature counts by finite integer sets.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
Nat, Usa2024P2.SignatureCountCondition,LT.lt,OfNat.ofNat, Usa2024P2.topSignature,Exists,Fin,Set,Int,And, Usa2024P2.Good,Eq,Set.ncard,Set.ofPred, Usa2024P2.InAtLeastKSubsets, Usa2024P2.SignatureObjectiveProof uses:
Exists.intro, Usa2024P2.realizedFamily,And.intro,Usa2024P2.Good.mk, Usa2024P2.realizedFamily_finite, Usa2024P2.RealizedPoint,Sigma.mk,Fin.mk,Iff.mp,Set.Nonempty,Set.iInter,Ne,EmptyCollection.emptyCollection,Set.nonempty_iff_ne_empty,Membership.mem,Function.Embedding, Usa2024P2.encodePoint,Iff.mpr,Set.mem_iInter,Sigma.fstand 16 more16 instances, coercions and auxiliary constants left out.
Tactic trace: 14 steps
Open to load the checked before-and-after goal states.
lemma realize_signature_counts {f : Signature → ℕ} (hf : SignatureCountCondition f) (htop : 0 < f topSignature) : ∃ S : Fin 100 → Set ℤ, Good S ∧ {z : ℤ | InAtLeastKSubsets S 50 z }.ncard = SignatureObjective f := by …Mentions: f, Usa2024P2.Signature, Usa2024P2.SignatureCountCondition, Usa2024P2.topSignature, S, Usa2024P2.Good, Usa2024P2.InAtLeastKSubsets, Usa2024P2.SignatureObjective
- def
Usa2024P2.signatureCountExact signature counts extracted from an actual family line 1187 sourceSource documentation
Exact signature counts extracted from an actual family.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Fin,OfNat.ofNat,Nat,Set,Int, Usa2024P2.SignatureProof uses:
ite,Finset.Nonempty,Set.ncard,Set.ofPred,Eq, Usa2024P2.signatureOf3 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
noncomputable def signatureCount (S : Fin 100 → Set ℤ) (v : Signature) : ℕ := by …
Mentions: S, Usa2024P2.Signature
- lemma
Usa2024P2.signatureCount_condition_of_goodline 1190 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Fin,OfNat.ofNat,Nat,Set,Int, Usa2024P2.Good, Usa2024P2.SignatureCountCondition, Usa2024P2.signatureCountProof uses: Usa2024P2.Signature,
Finset.Nonempty,Eq,Set.ncard,Set.iInter,Membership.mem,Finset,HMul.hMul,Finset.card,Exists,Dvd.dvd, Usa2024P2.SignatureIntersectionCount,Usa2024P2.Good.card,Exists.intro,Eq.mpr,id,congrArg,Eq.symm,Eq.mp,mul_command 39 more26 instances, coercions and auxiliary constants left out.
Tactic trace: 34 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.signatureCount_top_pos_of_goodline 1228 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Fin,OfNat.ofNat,Nat,Set,Int, Usa2024P2.Good,LT.lt, Usa2024P2.signatureCount, Usa2024P2.topSignatureProof uses:
Finset.Nonempty,Exists.intro,Membership.mem,Finset,of_eq_true,Finset.univ,Set.Nonempty,Set.iInter,Iff.mpr,Ne,EmptyCollection.emptyCollection,Set.nonempty_iff_ne_empty,Usa2024P2.Good.nonempty_inter,Eq, Usa2024P2.Signature, Usa2024P2.signatureOf,Finset.ext,Iff.mp,Set.mem_iInter,Iffand 23 more17 instances, coercions and auxiliary constants left out.
Tactic trace: 21 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.signatureObjective_eq_original_objectiveline 1254 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Fin,OfNat.ofNat,Nat,Set,Int, Usa2024P2.Good,Eq, Usa2024P2.SignatureObjective, Usa2024P2.signatureCount,Set.ncard,Set.ofPred, Usa2024P2.InAtLeastKSubsetsProof uses:
Membership.mem,Finset.card, Usa2024P2.signatureOf,Set.Finite,Set.Finite.subset,Set.univ,Set.finite_univ,of_eq_true,Eq.mpr,Set.Finite.toFinset,id,congrArg,Set.ncard_eq_toFinset_card,Finset.filter,Classical.propDecidable,Finset.univ,Eq.trans,True,congrFun',Finsetand 48 more34 instances, coercions and auxiliary constants left out.
Tactic trace: 42 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.topSignature_cardline 1304 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Eq,Nat,Finset.card,Fin,OfNat.ofNat, Usa2024P2.topSignatureProof uses:
of_eq_true,Eq.trans,True,congrFun',congrArg,Fintype.card_fin,eq_self2 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.topSignature_nonemptyline 1307 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Finset.Nonempty,Fin,OfNat.ofNat,Nat, Usa2024P2.topSignatureProof uses:
Exists.intro,Membership.mem,Finset,of_eq_true,Finset.univ8 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.eq_topSignature_of_card_eq_100line 1310 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
Eq,Nat,Finset.card,Fin,OfNat.ofNat, Usa2024P2.topSignatureProof uses:
Finset.eq_univ_of_card,of_eq_true,Fintype.card,Eq.trans,True,congr,congrArg,Fintype.card_fin,eq_self3 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.card_lt_100_of_ne_topSignatureline 1315 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
Ne, Usa2024P2.topSignature,LT.lt,Nat,Finset.card,Fin,OfNat.ofNatProof uses:
LE.le,card_finset_fin_le,Decidable.byContradiction,Not,Eq, Usa2024P2.eq_topSignature_of_card_eq_1007 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.canonicalHighCount_topline 1322 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Eq,Nat, Usa2024P2.canonicalHighCount, Usa2024P2.topSignature,OfNat.ofNatProof uses:
of_eq_true,Eq.trans,True,congrFun',congrArg,ite,LE.le,Finset.card,Fin,HSub.hSub,HMul.hMul,ite_eq_left_of_eq_true,Fintype.card_fin,eq_true_of_decide,Eq.refl,Bool,Bool.true,eq_self8 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.canonicalHighCount_lt_card_of_high_ne_topline 1325 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
LE.le,Nat,OfNat.ofNat,Finset.card,Fin,Ne, Usa2024P2.topSignature,LT.lt, Usa2024P2.canonicalHighCountProof uses: Usa2024P2.card_lt_100_of_ne_topSignature,
Eq.mpr,HSub.hSub,HMul.hMul,id,Eq,Eq.trans,congrFun',congrArg,ite_eq_left_of_eq_true,eq_true13 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.canonicalHighCount_le_card_of_highline 1332 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
LE.le,Nat,OfNat.ofNat,Finset.card,Fin, Usa2024P2.canonicalHighCountProof uses:
dite,Eq, Usa2024P2.topSignature,of_eq_true,Eq.trans,True,congr,congrArg,ite,HSub.hSub,HMul.hMul,ite_eq_left_of_eq_true,Fintype.card_fin,eq_true_of_decide,Eq.refl,Bool,Bool.true,congrFun',Eq.symm,Notand 2 more15 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.iterate_pushDown_selfline 1339 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
Nat,Eq,Nat.iterate, Usa2024P2.pushDown,HSub.hSub,HMul.hMul,Finset.card,Fin,OfNat.ofNatProof uses:
Nat.recAux,of_eq_true,Eq.trans,True,congrArg,MulZeroClass.zero_mul,tsub_zero,eq_self,Eq.mpr,HAdd.hAdd,Function.comp,id,Nat.succ,Function.iterate_succ',congrFun',ite_eq_left_of_eq_true,ite,And,LE.le,Nat.sub_suband 26 more40 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.iterate_pushDown_conditionline 1353 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
Nat,LE.le,HMul.hMul,Finset.card,Fin,OfNat.ofNat, Usa2024P2.SignatureCountCondition,Nat.iterate, Usa2024P2.pushDownProof uses:
Nat.recAux,id,HAdd.hAdd,Eq.mpr,Function.comp,Eq,congrArg,Nat.succ,Function.iterate_succ', Usa2024P2.pushDown_preserves_condition,HSub.hSub, Usa2024P2.iterate_pushDown_self,Mathlib.Tactic.Ring.of_eq,HPow.hPow,Nat.rawCast,Mathlib.Tactic.Ring.Common.mul_congr,Mathlib.Tactic.Ring.Common.add_congr,Mathlib.Tactic.Ring.Common.atom_pf,rfl,Eq.symmand 18 more30 instances, coercions and auxiliary constants left out.
Tactic trace: 14 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.iterate_pushDown_objective_leline 1372 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
Nat,LE.le,OfNat.ofNat,Finset.card,Fin,HMul.hMul, Usa2024P2.SignatureObjective,Nat.iterate, Usa2024P2.pushDownProof uses:
Nat.recAux,of_eq_true,HAdd.hAdd,Eq.mpr,Function.comp,id,Eq,congrArg,Nat.succ,Function.iterate_succ',Nat.mul_le_mul_right,Nat.le_succ,HSub.hSub, Usa2024P2.iterate_pushDown_self,Mathlib.Tactic.Ring.of_eq,HPow.hPow,Nat.rawCast,Mathlib.Tactic.Ring.Common.mul_congr,Mathlib.Tactic.Ring.Common.add_congr,Mathlib.Tactic.Ring.Common.atom_pfand 24 more37 instances, coercions and auxiliary constants left out.
Tactic trace: 23 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.pushDown_to_canonical_countline 1405 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
Nat, Usa2024P2.SignatureCountCondition,LE.le,OfNat.ofNat,Finset.card,Fin, Usa2024P2.canonicalHighCount,Dvd.dvd,HSub.hSub,HDiv.hDiv,Nat.iterate, Usa2024P2.pushDown,And, Usa2024P2.SignatureObjective,EqProof uses:
id,HMul.hMul,Nat.div_mul_cancel,And.intro, Usa2024P2.iterate_pushDown_condition, Usa2024P2.iterate_pushDown_objective_le,Eq.mpr,congrArg, Usa2024P2.iterate_pushDown_self18 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
- def
Usa2024P2.rankSignaturesSignatures of rankkline 1422 sourceSource documentation
Signatures of rank
k.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Finset, Usa2024P2.SignatureProof uses:
Finset.filter,Eq,Finset.card,Fin,OfNat.ofNat,Finset.univ4 instances, coercions and auxiliary constants left out.
def rankSignatures (k : ℕ) : Finset Signature := …
Mentions: Usa2024P2.Signature
- lemma
Usa2024P2.mem_rankSignaturesline 1425 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, Usa2024P2.Signature,Iff,Membership.mem,Finset, Usa2024P2.rankSignatures,Eq,Finset.card,Fin,OfNat.ofNatProof uses:
of_eq_true,Eq.trans,True,congrFun',congrArg,And,LE.le,Finset.univ,Finset.powersetCard,Finset.univ_filter_card_eq,true_and,iff_self12 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.pushDown_eq_self_of_not_affectedline 1429 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
Nat,Ne,Not,And,LE.le,Fin,OfNat.ofNat,Eq,HAdd.hAdd,Finset.card, Usa2024P2.pushDownProof uses:
of_eq_true,Eq.trans,True,congrFun',congrArg,ite,HSub.hSub,ite_eq_right_of_eq_false,eq_false,eq_self19 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.pushDown_eq_self_of_card_ge_neline 1435 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
Nat,LE.le,Finset.card,Fin,OfNat.ofNat,Ne,Eq, Usa2024P2.pushDownProof uses: Usa2024P2.pushDown_eq_self_of_not_affected,
And,HAdd.hAdd10 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.pushDown_eq_self_of_card_gtline 1442 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
Nat,LT.lt,Finset.card,Fin,OfNat.ofNat,Eq, Usa2024P2.pushDownProof uses: Usa2024P2.pushDown_eq_self_of_card_ge_ne,
le_of_lt,False7 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.iterate_pushDown_eq_self_of_not_affectedline 1450 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
Nat,Ne,Not,And,LE.le,Fin,OfNat.ofNat,Eq,HAdd.hAdd,Finset.card,Nat.iterate, Usa2024P2.pushDownProof uses:
Nat.recAux,of_eq_true,eq_self,Eq.mpr,Function.comp,id,congrArg,Nat.succ,Function.iterate_succ', Usa2024P2.pushDown_eq_self_of_not_affected,Eq.refl12 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.iterate_pushDown_eq_self_of_card_ge_neline 1463 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
Nat,LE.le,Finset.card,Fin,OfNat.ofNat,Ne,Eq,Nat.iterate, Usa2024P2.pushDownProof uses: Usa2024P2.iterate_pushDown_eq_self_of_not_affected,
And,HAdd.hAdd10 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.iterate_pushDown_eq_self_of_card_gtline 1471 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
Nat,LT.lt,Finset.card,Fin,OfNat.ofNat,Eq,Nat.iterate, Usa2024P2.pushDownProof uses: Usa2024P2.iterate_pushDown_eq_self_of_card_ge_ne,
le_of_lt,False7 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.iterate_pushDown_preserves_canonical_of_card_gtline 1480 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
Nat,LT.lt,Finset.card,Fin,OfNat.ofNat,Eq, Usa2024P2.canonicalHighCount,Nat.iterate, Usa2024P2.pushDownProof uses:
Eq.mpr,id,congrArg, Usa2024P2.iterate_pushDown_eq_self_of_card_gt,Eq.refl4 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.iterate_pushDown_preserves_canonical_of_same_rank_neline 1488 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
Nat,Eq,Finset.card,Fin,OfNat.ofNat,Ne, Usa2024P2.canonicalHighCount,Nat.iterate, Usa2024P2.pushDownProof uses:
Eq.mpr,id,congrArg, Usa2024P2.iterate_pushDown_eq_self_of_card_ge_ne,Eq.refl3 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- def
Usa2024P2.normalizeSignaturePushvdown to its canonical high-rank residue line 1497 sourceSource documentation
Push
vdown to its canonical high-rank residue.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
NatProof uses:
HDiv.hDiv,HSub.hSub, Usa2024P2.canonicalHighCount,Finset.card,Fin,OfNat.ofNat,Nat.iterate, Usa2024P2.pushDown5 instances, coercions and auxiliary constants left out.
def normalizeSignature (f : Signature → ℕ) (v : Signature) : Signature → ℕ := …
Mentions: f, Usa2024P2.Signature
- lemma
Usa2024P2.normalizeSignature_eq_self_of_card_gtline 1501 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
Nat,LT.lt,Finset.card,Fin,OfNat.ofNat,Eq, Usa2024P2.normalizeSignatureProof uses:
id, Usa2024P2.iterate_pushDown_eq_self_of_card_gt,HDiv.hDiv,HSub.hSub, Usa2024P2.canonicalHighCount8 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.normalizeSignature_preserves_canonical_of_card_gtline 1508 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
Nat,LT.lt,Finset.card,Fin,OfNat.ofNat,Eq, Usa2024P2.canonicalHighCount, Usa2024P2.normalizeSignatureProof uses:
Eq.mpr,id,congrArg, Usa2024P2.normalizeSignature_eq_self_of_card_gt,Eq.refl4 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.normalizeSignature_preserves_canonical_of_same_rank_neline 1515 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
Nat,Eq,Finset.card,Fin,OfNat.ofNat,Ne, Usa2024P2.canonicalHighCount, Usa2024P2.normalizeSignatureProof uses:
id, Usa2024P2.iterate_pushDown_preserves_canonical_of_same_rank_ne,HDiv.hDiv,HSub.hSub6 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.high_signature_count_forced_after_supersets_normalizedline 1523 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
Nat, Usa2024P2.SignatureCountCondition,LT.lt,OfNat.ofNat, Usa2024P2.topSignature,LE.le,Finset.card,Fin,Eq, Usa2024P2.canonicalHighCount,And,Dvd.dvd,HSub.hSubProof uses:
Finset.Nonempty,Iff.mp,Finset.card_pos, Usa2024P2.strictSupersetContribution, Usa2024P2.strictSupersetContribution_eq_canonical_of_strict,HAdd.hAdd, Usa2024P2.SignatureIntersectionCount,Eq.mp,congrArg, Usa2024P2.SignatureIntersectionCount_eq_self_add_strict, Usa2024P2.canonicalHighCount_valid_on_high,Nat.ModEq, Usa2024P2.modEq_self_of_split_divisibilities,dite,Eq.mpr,HMod.hMod,id,congr, Usa2024P2.topSignature_card,Eq.transand 21 more42 instances, coercions and auxiliary constants left out.
Tactic trace: 35 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.normalizeSignature_specline 1576 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
Nat, Usa2024P2.SignatureCountCondition,LT.lt,OfNat.ofNat, Usa2024P2.topSignature,LE.le,Finset.card,Fin,Eq, Usa2024P2.canonicalHighCount,And, Usa2024P2.normalizeSignature, Usa2024P2.SignatureObjectiveProof uses:
Dvd.dvd,HSub.hSub, Usa2024P2.high_signature_count_forced_after_supersets_normalized,id, Usa2024P2.pushDown_to_canonical_count16 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.normalizeSignature_top_posline 1588 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
Nat,LT.lt,OfNat.ofNat, Usa2024P2.topSignature,Eq, Usa2024P2.normalizeSignature, Usa2024P2.canonicalHighCountProof uses:
dite,Fin,Eq.mpr,id,congrArg, Usa2024P2.canonicalHighCount_top,Mathlib.Meta.NormNum.isNat_lt_true,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refl,Bool,Bool.false,Eq.symm,Not,Finset.card, Usa2024P2.card_lt_100_of_ne_topSignature, Usa2024P2.normalizeSignature_eq_self_of_card_gt13 instances, coercions and auxiliary constants left out.
Tactic trace: 9 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.normalize_rank_subsetNormalize a finite subset of one rank line 1602 sourceSource documentation
Normalize a finite subset of one rank.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Finset, Usa2024P2.Signature,LE.le,OfNat.ofNat,Membership.mem,Eq,Finset.card,Fin, Usa2024P2.SignatureCountCondition,LT.lt, Usa2024P2.topSignature, Usa2024P2.canonicalHighCount,Exists,And, Usa2024P2.SignatureObjectiveProof uses:
Finset.induction_on,EmptyCollection.emptyCollection,Exists.intro,And.intro,le_rfl,False.elim,Eq.mp,False,Not,Insert.insert,of_eq_true,Eq.trans,Or,True,congrArg,eq_true,or_true,congr,eq_self,eq_falseand 14 more27 instances, coercions and auxiliary constants left out.
Tactic trace: 46 steps
Open to load the checked before-and-after goal states.
lemma normalize_rank_subset (k : ℕ) (A : Finset Signature) (f : Signature → ℕ) (hk : 50 ≤ k) (hA : ∀ v : Signature, v ∈ A → v.card = k) (hf : SignatureCountCondition f) (htop : 0 < f topSignature) (hgt : ∀ w : Signature, k < w.card → f w = canonicalHighCount w) : ∃ g : Signature → ℕ, SignatureCountCondition g ∧ SignatureObjective g ≤ SignatureObjective f ∧ 0 < g topSignature ∧ (∀ w : Signature, k < w.card → g w = canonicalHighCount w) ∧ …Mentions: Usa2024P2.Signature, f, Usa2024P2.SignatureCountCondition, Usa2024P2.topSignature, Usa2024P2.canonicalHighCount, Usa2024P2.SignatureObjective
- lemma
Usa2024P2.normalize_rankNormalize all signatures of one rank line 1653 sourceSource documentation
Normalize all signatures of one rank.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat, Usa2024P2.Signature,LE.le,OfNat.ofNat, Usa2024P2.SignatureCountCondition,LT.lt, Usa2024P2.topSignature,Finset.card,Fin,Eq, Usa2024P2.canonicalHighCount,Exists,And, Usa2024P2.SignatureObjectiveProof uses:
Membership.mem,Finset, Usa2024P2.rankSignatures, Usa2024P2.normalize_rank_subset,Iff.mp, Usa2024P2.mem_rankSignatures,Exists.intro,And.intro,dite,Not,Iff.mpr12 instances, coercions and auxiliary constants left out.
Tactic trace: 12 steps
Open to load the checked before-and-after goal states.
lemma normalize_rank (k : ℕ) (f : Signature → ℕ) (hk : 50 ≤ k) (hf : SignatureCountCondition f) (htop : 0 < f topSignature) (hgt : ∀ w : Signature, k < w.card → f w = canonicalHighCount w) : ∃ g : Signature → ℕ, SignatureCountCondition g ∧ SignatureObjective g ≤ SignatureObjective f ∧ 0 < g topSignature ∧ (∀ w : Signature, k ≤ w.card → g w = canonicalHighCount w) := by …Mentions: f, Usa2024P2.Signature, Usa2024P2.SignatureCountCondition, Usa2024P2.topSignature, Usa2024P2.canonicalHighCount, Usa2024P2.SignatureObjective
- lemma
Usa2024P2.smooth_high_signatures_from_rankline 1674 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LE.le,OfNat.ofNat, Usa2024P2.Signature, Usa2024P2.SignatureCountCondition,LT.lt, Usa2024P2.topSignature,Finset.card,Fin,Eq, Usa2024P2.canonicalHighCount,Exists,And, Usa2024P2.SignatureObjectiveProof uses:
Nat.le_induction,Exists.intro,And.intro,le_rfl,HAdd.hAdd, Usa2024P2.normalize_rank,le_trans15 instances, coercions and auxiliary constants left out.
Tactic trace: 19 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.smooth_high_signatures_by_ranksNormalize high ranks from100down to50line 1701 sourceSource documentation
Normalize high ranks from
100down to50.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
Nat, Usa2024P2.SignatureCountCondition,LT.lt,OfNat.ofNat, Usa2024P2.topSignature,Exists,And,LE.le, Usa2024P2.SignatureObjective,Finset.card,Fin,Eq, Usa2024P2.canonicalHighCountProof uses:
card_finset_fin_le, Usa2024P2.smooth_high_signatures_from_rank,Mathlib.Meta.NormNum.isNat_le_true,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refl,Bool,Bool.true12 instances, coercions and auxiliary constants left out.
Tactic trace: 7 steps
Open to load the checked before-and-after goal states.
lemma smooth_high_signatures_by_ranks (f : Signature → ℕ) (hf : SignatureCountCondition f) (htop : 0 < f topSignature) : ∃ g : Signature → ℕ, SignatureCountCondition g ∧ SignatureObjective g ≤ SignatureObjective f ∧ 0 < g topSignature ∧ (∀ v : Signature, 50 ≤ v.card → g v = canonicalHighCount v) := by …Mentions: f, Usa2024P2.Signature, Usa2024P2.SignatureCountCondition, Usa2024P2.topSignature, Usa2024P2.SignatureObjective, Usa2024P2.canonicalHighCount
- lemma
Usa2024P2.smooth_high_signatures_to_canonicalline 1715 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
Nat, Usa2024P2.SignatureCountCondition,LT.lt,OfNat.ofNat, Usa2024P2.topSignature,Exists,And,LE.le, Usa2024P2.SignatureObjective,Finset.card,Fin,Eq, Usa2024P2.canonicalHighCountProof uses: Usa2024P2.smooth_high_signatures_by_ranks,
Exists.intro,And.intro8 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
Usa2024P2.signature_model_lower_boundSmoothing gives the signature-model lower bound line 1727 sourceSource documentation
Smoothing gives the signature-model lower bound.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: Usa2024P2.Signature,
Nat, Usa2024P2.SignatureCountCondition,LT.lt,OfNat.ofNat, Usa2024P2.topSignature,LE.le, Usa2024P2.solution, Usa2024P2.SignatureObjectiveProof uses:
And,Finset.card,Fin,Eq, Usa2024P2.canonicalHighCount,Exists, Usa2024P2.smooth_high_signatures_to_canonical,Eq.mpr,Finset.sum,Finset.univ,ite,id,congrArg,Usa2024P2.SignatureObjective.eq_1,Finset.sum_congr,rfl,Finset,Membership.mem,ite_congr,Notand 3 more15 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
lemma signature_model_lower_bound (f : Signature → ℕ) (hf : SignatureCountCondition f) (htop : 0 < f topSignature) : solution ≤ SignatureObjective f := by …Mentions: f, Usa2024P2.Signature, Usa2024P2.SignatureCountCondition, Usa2024P2.topSignature, Usa2024P2.solution, Usa2024P2.SignatureObjective
- lemma
Usa2024P2.construction_attains_solutionThe signature construction realizes the claimed value line 1742 sourceSource documentation
The signature construction realizes the claimed value.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Exists,Fin,OfNat.ofNat,Nat,Set,Int,And, Usa2024P2.Good,Eq, Usa2024P2.solution,Set.ncard,Set.ofPred, Usa2024P2.InAtLeastKSubsetsProof uses: Usa2024P2.Signature, Usa2024P2.SignatureCountCondition,
LT.lt, Usa2024P2.topSignature,LE.le,Finset.card, Usa2024P2.canonicalHighCount, Usa2024P2.SignatureObjective, Usa2024P2.extend_canonical_high_counts, Usa2024P2.realize_signature_counts,Exists.intro,And.intro,Eq.mpr,id,congrArg,Eq.refl6 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
lemma construction_attains_solution : ∃ S, Good S ∧ solution = {z : ℤ | InAtLeastKSubsets S 50 z }.ncard := by …Mentions: S, Usa2024P2.Good, Usa2024P2.solution, Usa2024P2.InAtLeastKSubsets
- lemma
Usa2024P2.at_least_solution_elementsLower bound for any good family line 1751 sourceSource documentation
Lower bound for any good family.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Fin,OfNat.ofNat,Nat,Set,Int, Usa2024P2.Good,LE.le, Usa2024P2.solution,Set.ncard,Set.ofPred, Usa2024P2.InAtLeastKSubsetsProof uses:
Eq.mpr, Usa2024P2.SignatureObjective, Usa2024P2.signatureCount,id,Eq,congrArg,Eq.symm, Usa2024P2.signatureObjective_eq_original_objective, Usa2024P2.signature_model_lower_bound, Usa2024P2.signatureCount_condition_of_good, Usa2024P2.signatureCount_top_pos_of_good4 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
lemma at_least_solution_elements (S : Fin 100 → Set ℤ) (hS : Good S) : solution ≤ {z : ℤ | InAtLeastKSubsets S 50 z }.ncard := by …Mentions: S, Usa2024P2.Good, Usa2024P2.solution, Usa2024P2.InAtLeastKSubsets
- problem
Usa2024P2.usa2024_p2line 1761 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
IsLeast,Nat,Set.ofPred,Exists,Fin,OfNat.ofNat,Set,Int,And, Usa2024P2.Good,Eq,Set.ncard, Usa2024P2.InAtLeastKSubsets, Usa2024P2.solutionProof uses:
And.intro,Membership.mem,lowerBounds, Usa2024P2.construction_attains_solution,LE.le,Eq.mpr,id,congrArg, Usa2024P2.at_least_solution_elements7 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.