The odd balancing theorem #
This file proves the parity lemma at the heart of the compatibility argument: for a symmetric,
row-cancelling interaction b over a finite vertex set, the number of frame assignments with no
obstruction at any vertex is odd, and in particular nonzero. The proof counts frame assignments
modulo two, expands the count over choices of partner vertices, and cancels the non-covering and
derangement contributions in pairs.
The field with two elements, used for the parity counting argument.
Equations
Instances For
The interaction obstruction at a vertex v: the sum over all other vertices u of the
pairwise interaction of the chosen frames at v and u.
Equations
- Sabidussi.OddBalance.obstruction b x v = ∑ u ∈ Finset.univ.erase v, b v u (x v) (x u)
Instances For
The set of frame choices for which every vertex obstruction vanishes.
Equations
- Sabidussi.OddBalance.solutions b = {x : V → Fin 3 | ∀ (v : V), Sabidussi.OddBalance.obstruction b x v = 0}
Instances For
The product over S of the pairwise interactions along a choice of partners.
Equations
- Sabidussi.OddBalance.choiceTerm b S f x = ∏ v : ↥S, b (↑v) (↑(f v)) (x ↑v) (x ↑(f v))
Instances For
The sum over all frame assignments of the choice term of a fixed choice of partners.
Equations
- Sabidussi.OddBalance.totalChoiceTerm b S f = ∑ x : V → Fin 3, Sabidussi.OddBalance.choiceTerm b S f x
Instances For
A derangement of the vertices of S: a fixed-point-free permutation.
Equations
- Sabidussi.OddBalance.Derangement S = { σ : Equiv.Perm ↥S // ∀ (v : ↥S), σ v ≠ v }
Instances For
Equations
- Sabidussi.OddBalance.Derangement.instFintype S = Fintype.ofInjective (fun (d : Sabidussi.OddBalance.Derangement S) => ⇑↑d) ⋯
The choice of partners induced by a derangement: each vertex is sent to its image.
Instances For
The inverse derangement.
Equations
- d.inv = ⟨Equiv.symm ↑d, ⋯⟩
Instances For
A choice of partners whose image covers every vertex of S.
Equations
- Sabidussi.OddBalance.CoveredChoice S = { f : Sabidussi.OddBalance.Choice S // ∀ (w : ↥S), ∃ (v : ↥S), ↑(f v) = ↑w }
Instances For
Equations
- Sabidussi.OddBalance.CoveredChoice.instFintype S = Fintype.ofInjective (fun (f : Sabidussi.OddBalance.CoveredChoice S) => ↑f) ⋯
A covering choice of partners is a bijection, hence a derangement.
Equations
- c.toDerangement = ⟨Equiv.ofBijective (fun (v : ↥S) => ⟨↑(↑c v), ⋯⟩) ⋯, ⋯⟩
Instances For
The covering choice of partners underlying a derangement.
Equations
- d.toCoveredChoice = ⟨d.choice, ⋯⟩
Instances For
Covering choices of partners and derangements are in bijection.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A symmetric row-cancelling interaction has a balanced choice at every vertex.