Counting ordered disjoint pairs in a uniform subset layer
ProvedThreeSum.LayerCounts.edgeSet_card3sumalgorithmsfine-grained-complexitythree-sum-1962word-ram
Let , and let be the set of ordered pairs of disjoint -element subsets of an -element ground set. Then
The formula includes empty layers when . It gives the exact edge count for the local disjointness graph and separates the number of union outputs from their ordered representations.
Preamble
import Definitions.Def_ThreeSum1962Source_Bundle01 import Lean.Elab.Tactic.Omega import Mathlib.Algebra.BigOperators.Group.Finset.Basic import Mathlib.Data.Finset.Powerset import Mathlib.Data.Finset.Prod import Mathlib.Data.Fintype.Card import Mathlib.Data.Nat.Choose.Basic import Theorems.Thm_ThreeSum_LayerCounts_leftFiber_card set_option autoImplicit false set_option relaxedAutoImplicit false set_option Elab.async false
Formal statement
theorem ThreeSum.LayerCounts.edgeSet_card : ∀ (L h : Nat),
@Eq.{1} Nat
(@Finset.card.{0} (Prod.{0, 0} (Finset.{0} (Fin L)) (Finset.{0} (Fin L))) (ThreeSum.LayerCounts.edgeSet L h))
(@HMul.hMul.{0, 0, 0} Nat Nat Nat (@instHMul.{0} Nat instMulNat)
(L.choose
(@HMul.hMul.{0, 0, 0} Nat Nat Nat (@instHMul.{0} Nat instMulNat)
(@OfNat.ofNat.{0} Nat (nat_lit 2) (instOfNatNat (nat_lit 2))) h))
((@HMul.hMul.{0, 0, 0} Nat Nat Nat (@instHMul.{0} Nat instMulNat)
(@OfNat.ofNat.{0} Nat (nat_lit 2) (instOfNatNat (nat_lit 2))) h).choose
h)) := by
sorry
Source