OAI/Combinatorics/GraphThreshold/CopyOrbits.lean
58 declarations, 0 contain sorry, 0 declared as axioms
Distinct subset copies under a finite group action
Copies are distinct orbit elements, not group elements or labeled embeddings. All counting and probability statements therefore retain the stabilizer multiplicities correctly, including for the empty subset.
- def
OAI.LeanBlast.SecondKahnKalai.copyOrbitline 29Source documentation
The distinct copies of a finite subset under the given action.
def copyOrbit (F : Finset X) : Finset (Finset X) := …
- abbrev
OAI.LeanBlast.SecondKahnKalai.OrbitCopyline 33Source documentation
An actual distinct copy, with no labeling multiplicity.
abbrev OrbitCopy (F : Finset X) := {J : Finset X // J ∈ copyOrbit G F}Mentions: OAI.LeanBlast.SecondKahnKalai.copyOrbit
- def
OAI.LeanBlast.SecondKahnKalai.orbitCountline 36Source documentation
The total number of distinct copies.
def orbitCount (F : Finset X) : ℕ := (copyOrbit G F).card
Mentions: OAI.LeanBlast.SecondKahnKalai.copyOrbit
- def
OAI.LeanBlast.SecondKahnKalai.internalCopyCountline 39Source documentation
Copies of
Fwhose elements all lie in the fixed setI.def internalCopyCount (I F : Finset X) : ℕ := …
- def
OAI.LeanBlast.SecondKahnKalai.containingCopyCountline 43Source documentation
Copies of
Icontaining the fixed observed setU.def containingCopyCount (I U : Finset X) : ℕ := …
- theorem
OAI.LeanBlast.SecondKahnKalai.mem_copyOrbit_iffline 46 - theorem
OAI.LeanBlast.SecondKahnKalai.self_mem_copyOrbitline 50 - theorem
OAI.LeanBlast.SecondKahnKalai.copyOrbit_nonemptyline 53 - theorem
OAI.LeanBlast.SecondKahnKalai.orbitCount_posline 56 - instance
OAI.LeanBlast.SecondKahnKalai.orbitCopy_nonemptyline 59 - theorem
OAI.LeanBlast.SecondKahnKalai.card_OrbitCopyline 62 - theorem
OAI.LeanBlast.SecondKahnKalai.smul_mem_copyOrbitline 65 - theorem
OAI.LeanBlast.SecondKahnKalai.smul_mem_copyOrbit_iffline 70 - theorem
OAI.LeanBlast.SecondKahnKalai.copyOrbit_smulline 75 - theorem
OAI.LeanBlast.SecondKahnKalai.copyOrbit_eq_of_mem_copyOrbitline 88 - theorem
OAI.LeanBlast.SecondKahnKalai.card_eq_of_mem_copyOrbitline 93 - def
OAI.LeanBlast.SecondKahnKalai.orbitCopyEquivline 99Source documentation
The group acts bijectively on the set of actual orbit copies.
def orbitCopyEquiv (g : G) (F : Finset X) : OrbitCopy G F ≃ OrbitCopy G F where …
Mentions: OAI.LeanBlast.SecondKahnKalai.OrbitCopy
- theorem
OAI.LeanBlast.SecondKahnKalai.orbitCopyEquiv_valline 105 - theorem
OAI.LeanBlast.SecondKahnKalai.internalCopyCount_le_chooseline 109Source documentation
There are no more internal copies than subsets of the correct size.
theorem internalCopyCount_le_choose (I F : Finset X) : internalCopyCount G I F ≤ Nat.choose I.card F.card := by … - theorem
OAI.LeanBlast.SecondKahnKalai.copyOrbit_emptyline 117 - theorem
OAI.LeanBlast.SecondKahnKalai.orbitCount_emptyline 126 - theorem
OAI.LeanBlast.SecondKahnKalai.internalCopyCount_emptyline 129 - theorem
OAI.LeanBlast.SecondKahnKalai.sum_copyOrbit_smulline 134Source documentation
Acting permutes the distinct orbit elements with no multiplicity.
theorem sum_copyOrbit_smul (g : G) (F : Finset X) (f : Finset X → ℕ) : (∑ J ∈ copyOrbit G F, f (g • J)) = ∑ J ∈ copyOrbit G F, f J := by …Mentions: OAI.LeanBlast.SecondKahnKalai.copyOrbit
- theorem
OAI.LeanBlast.SecondKahnKalai.internalCopyCount_smulline 143 - theorem
OAI.LeanBlast.SecondKahnKalai.containingCopyCount_smulline 149 - theorem
OAI.LeanBlast.SecondKahnKalai.internalCopyCount_eq_of_mem_copyOrbitline 155 - theorem
OAI.LeanBlast.SecondKahnKalai.containingCopyCount_eq_of_mem_copyOrbitline 160 - theorem
OAI.LeanBlast.SecondKahnKalai.copy_incidence_identityline 167Source documentation
Double-count containment pairs of distinct orbit copies.
theorem copy_incidence_identity (I F : Finset X) : orbitCount G F * containingCopyCount G I F = orbitCount G I * internalCopyCount G I F := by …Mentions: OAI.LeanBlast.SecondKahnKalai.orbitCount, OAI.LeanBlast.SecondKahnKalai.containingCopyCount, OAI.LeanBlast.SecondKahnKalai.internalCopyCount
- theorem
OAI.LeanBlast.SecondKahnKalai.containingCopyCount_pos_iffline 190 - theorem
OAI.LeanBlast.SecondKahnKalai.exists_pullback_of_containingCopyCount_posline 203Source documentation
Positive containment can be pulled back to an actual subset of
I.theorem exists_pullback_of_containingCopyCount_pos {I U : Finset X} (hpos : 0 < containingCopyCount G I U) : ∃ V : Finset X, V ⊆ I ∧ U ∈ copyOrbit G V ∧ V.card = U.card := by …Mentions: OAI.LeanBlast.SecondKahnKalai.containingCopyCount, OAI.LeanBlast.SecondKahnKalai.copyOrbit
- def
OAI.LeanBlast.SecondKahnKalai.copyLawline 212Source documentation
The uniform law on distinct copies, rather than on labeled embeddings.
def copyLaw (I : Finset X) : FiniteLaw (OrbitCopy G I) := …
Mentions: OAI.LeanBlast.SecondKahnKalai.FiniteLaw, OAI.LeanBlast.SecondKahnKalai.OrbitCopy
- theorem
OAI.LeanBlast.SecondKahnKalai.copyLaw_isPositiveline 215 - def
OAI.LeanBlast.SecondKahnKalai.containmentProbline 219Source documentation
Probability that a uniform actual copy contains an observed finite set.
def containmentProb (I U : Finset X) : ℝ := …
- theorem
OAI.LeanBlast.SecondKahnKalai.uniform_prob_countline 225Source documentation
Expose the generic uniform formula with the caller's decidable predicate. The finite sets are equal extensionally even when the generic probability definition uses its own classical decision procedure.
private theorem uniform_prob_count (Ω : Type*) [Fintype Ω] [Nonempty Ω] (P : Ω → Prop) [DecidablePred P] : (FiniteLaw.uniform Ω).prob P = ((Finset.univ.filter P).card : ℝ) / Fintype.card Ω := by … - theorem
OAI.LeanBlast.SecondKahnKalai.card_filter_OrbitCopyline 234 - theorem
OAI.LeanBlast.SecondKahnKalai.containmentProb_eq_countline 242 - theorem
OAI.LeanBlast.SecondKahnKalai.containmentProb_nonnegline 248 - theorem
OAI.LeanBlast.SecondKahnKalai.containmentProb_le_oneline 251 - theorem
OAI.LeanBlast.SecondKahnKalai.containmentProb_emptyline 254 - theorem
OAI.LeanBlast.SecondKahnKalai.containmentProb_smulline 257 - theorem
OAI.LeanBlast.SecondKahnKalai.containmentProb_smul_leftline 261 - theorem
OAI.LeanBlast.SecondKahnKalai.containmentProb_smul_bothline 265 - theorem
OAI.LeanBlast.SecondKahnKalai.containmentProb_eq_of_mem_copyOrbitline 269 - theorem
OAI.LeanBlast.SecondKahnKalai.containmentProb_eq_internalCopyCountline 275Source documentation
The exact permutation-symmetry incidence identity, including the empty set.
theorem containmentProb_eq_internalCopyCount (I F : Finset X) : containmentProb G I F = (internalCopyCount G I F : ℝ) / orbitCount G F := by …Mentions: OAI.LeanBlast.SecondKahnKalai.containmentProb, OAI.LeanBlast.SecondKahnKalai.internalCopyCount, OAI.LeanBlast.SecondKahnKalai.orbitCount
- theorem
OAI.LeanBlast.SecondKahnKalai.containmentProb_copy_eq_internalCopyCountline 286 - theorem
OAI.LeanBlast.SecondKahnKalai.containmentProb_pos_iffline 291 - theorem
OAI.LeanBlast.SecondKahnKalai.exists_pullback_of_containmentProb_posline 297 - theorem
OAI.LeanBlast.SecondKahnKalai.containmentProb_pos_of_copy_subsetline 304Source documentation
Every copy of a subset extends to at least one copy of its ambient set.
theorem containmentProb_pos_of_copy_subset {S I S₀ : Finset X} (hSI : S ⊆ I) (hS₀ : S₀ ∈ copyOrbit G S) : 0 < containmentProb G I S₀ := by …Mentions: OAI.LeanBlast.SecondKahnKalai.copyOrbit, OAI.LeanBlast.SecondKahnKalai.containmentProb
- abbrev
OAI.LeanBlast.SecondKahnKalai.ExtensionCopyline 312Source documentation
Actual distinct extensions of the observed predecessor. Histories in a tree may index this same family separately; this type never merges histories.
abbrev ExtensionCopy (I S : Finset X) := {J : OrbitCopy G I // S ⊆ J.val}Mentions: OAI.LeanBlast.SecondKahnKalai.OrbitCopy
- theorem
OAI.LeanBlast.SecondKahnKalai.extensionCopy_nonemptyline 314 - theorem
OAI.LeanBlast.SecondKahnKalai.card_ExtensionCopyline 319 - def
OAI.LeanBlast.SecondKahnKalai.extensionLawline 326Source documentation
The uniform law on actual copies extending
S, with positivity justified by the actual containment event.def extensionLaw (I S : Finset X) (hpos : 0 < containmentProb G I S) : FiniteLaw (ExtensionCopy G I S) := by …Mentions: OAI.LeanBlast.SecondKahnKalai.containmentProb, OAI.LeanBlast.SecondKahnKalai.FiniteLaw, OAI.LeanBlast.SecondKahnKalai.ExtensionCopy
- theorem
OAI.LeanBlast.SecondKahnKalai.extensionLaw_isPositiveline 331 - def
OAI.LeanBlast.SecondKahnKalai.extensionIntersectionEquivline 336 - theorem
OAI.LeanBlast.SecondKahnKalai.card_extension_filterline 344 - theorem
OAI.LeanBlast.SecondKahnKalai.extensionLaw_probline 354 - theorem
OAI.LeanBlast.SecondKahnKalai.extensionLaw_added_probline 375Source documentation
For a set disjoint from the predecessor, containment in the added label is exactly the usual conditional containment event.
theorem extensionLaw_added_prob (I S J : Finset X) (hpos : 0 < containmentProb G I S) (hdis : Disjoint J S) : (extensionLaw G I S hpos).prob (fun C => J ⊆ C.val.val \ S) = containmentProb G I (S ∪ J) / containmentProb G I S := by …Mentions: OAI.LeanBlast.SecondKahnKalai.containmentProb, OAI.LeanBlast.SecondKahnKalai.extensionLaw
- theorem
OAI.LeanBlast.SecondKahnKalai.extensionLaw_added_prob_eq_zeroline 382Source documentation
A set meeting the predecessor cannot lie in any added label.
theorem extensionLaw_added_prob_eq_zero (I S J : Finset X) (hpos : 0 < containmentProb G I S) (hdis : ¬ Disjoint J S) : (extensionLaw G I S hpos).prob (fun C => J ⊆ C.val.val \ S) = 0 := by …Mentions: OAI.LeanBlast.SecondKahnKalai.containmentProb, OAI.LeanBlast.SecondKahnKalai.extensionLaw