Documentation

LeanPool.Sabidussi.OddBalance

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.

@[reducible, inline]

The field with two elements, used for the parity counting argument.

Equations
Instances For
    def Sabidussi.OddBalance.obstruction {V : Type u_1} [Fintype V] [DecidableEq V] (b : VVFin 3Fin 3F2) (x : VFin 3) (v : V) :

    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
    Instances For
      def Sabidussi.OddBalance.solutions {V : Type u_1} [Fintype V] [DecidableEq V] (b : VVFin 3Fin 3F2) :
      Finset (VFin 3)

      The set of frame choices for which every vertex obstruction vanishes.

      Equations
      Instances For
        theorem Sabidussi.OddBalance.cast_solutions_card {V : Type u_1} [Fintype V] [DecidableEq V] (b : VVFin 3Fin 3F2) :
        (solutions b).card = x : VFin 3, v : V, (1 + obstruction b x v)
        theorem Sabidussi.OddBalance.prod_one_add_expand {V : Type u_1} [Fintype V] (q : VF2) :
        v : V, (1 + q v) = SFinset.univ.powerset, vS, q v
        theorem Sabidussi.OddBalance.sum_prod_one_add_expand {V : Type u_1} [Fintype V] [DecidableEq V] (q : (VFin 3)VF2) :
        x : VFin 3, v : V, (1 + q x v) = SFinset.univ.powerset, x : VFin 3, vS, q x v
        theorem Sabidussi.OddBalance.prod_sum_expand {V : Type u_1} [DecidableEq V] (S : Finset V) (t : VFinset V) (a : VVF2) :
        vS, ut v, a v u = f : (v : S) → (t v), v : S, a v (f v)
        @[reducible, inline]
        abbrev Sabidussi.OddBalance.Choice {V : Type u_1} (S : Finset V) :
        Type u_1

        A choice, for each vertex of S, of a distinct partner vertex.

        Equations
        Instances For
          def Sabidussi.OddBalance.choiceTerm {V : Type u_1} (b : VVFin 3Fin 3F2) (S : Finset V) (f : Choice S) (x : VFin 3) :

          The product over S of the pairwise interactions along a choice of partners.

          Equations
          Instances For
            theorem Sabidussi.OddBalance.obstruction_product_expand {V : Type u_1} [Fintype V] [DecidableEq V] (b : VVFin 3Fin 3F2) (S : Finset V) (x : VFin 3) :
            vS, obstruction b x v = f : Choice S, choiceTerm b S f x
            def Sabidussi.OddBalance.totalChoiceTerm {V : Type u_1} [Fintype V] [DecidableEq V] (b : VVFin 3Fin 3F2) (S : Finset V) (f : Choice S) :

            The sum over all frame assignments of the choice term of a fixed choice of partners.

            Equations
            Instances For
              theorem Sabidussi.OddBalance.sum_obstruction_product_expand {V : Type u_1} [Fintype V] [DecidableEq V] (b : VVFin 3Fin 3F2) (S : Finset V) :
              x : VFin 3, vS, obstruction b x v = f : Choice S, totalChoiceTerm b S f
              theorem Sabidussi.OddBalance.sum_fun_split_at {V : Type u_1} [Fintype V] [DecidableEq V] {A : Type u_2} {M : Type u_3} [Fintype A] [AddCommMonoid M] (w : V) (F : (VA)M) :
              x : VA, F x = a : A, y : { v : V // v w }A, F ((Equiv.funSplitAt w A).symm (a, y))
              theorem Sabidussi.OddBalance.Fintype.prod_eq_mul_mul_prod_compl_pair {M : Type u_2} [CommMonoid M] {ι : Type u_3} [Fintype ι] [DecidableEq ι] (a b : ι) (h : a b) (g : ιM) :
              i : ι, g i = g a * g b * i{a, b}, g i
              theorem Sabidussi.OddBalance.totalChoiceTerm_eq_zero_of_source_leaf {V : Type u_1} [Fintype V] [DecidableEq V] (b : VVFin 3Fin 3F2) (hsymm : ∀ (v u : V) (a c : Fin 3), b v u a c = b u v c a) (hrow : ∀ (v u : V) (a : Fin 3), c : Fin 3, b v u a c = 0) (S : Finset V) (f : Choice S) (v₀ : S) (w : V) (hw : v₀ = w) (hnotTarget : ∀ (v : S), (f v) w) :
              theorem Sabidussi.OddBalance.totalChoiceTerm_eq_zero_of_target_leaf {V : Type u_1} [Fintype V] [DecidableEq V] (b : VVFin 3Fin 3F2) (hrow : ∀ (v u : V) (a : Fin 3), c : Fin 3, b v u a c = 0) (S : Finset V) (f : Choice S) (v₀ : S) (w : V) (hw : (f v₀) = w) (hnotSource : ∀ (v : V), v w) (huniqueTarget : ∀ (v : S), (f v) = wv = v₀) :
              theorem Sabidussi.OddBalance.totalChoiceTerm_eq_zero_of_twoCycle {V : Type u_1} [Fintype V] [DecidableEq V] (b : VVFin 3Fin 3F2) (hsymm : ∀ (v u : V) (a c : Fin 3), b v u a c = b u v c a) (hrow : ∀ (v u : V) (a : Fin 3), c : Fin 3, b v u a c = 0) (S : Finset V) (f : Choice S) (v₀ v₁ : S) (hne : v₀ v₁) (hf₀ : (f v₀) = v₁) (hf₁ : (f v₁) = v₀) (_hu₀ : ∀ (v : S), (f v) = v₀v = v₁) (hu₁ : ∀ (v : S), (f v) = v₁v = v₀) :

              A derangement of the vertices of S: a fixed-point-free permutation.

              Equations
              Instances For

                The choice of partners induced by a derangement: each vertex is sent to its image.

                Equations
                Instances For

                  The inverse derangement.

                  Equations
                  Instances For
                    theorem Sabidussi.OddBalance.choiceTerm_derangement_inv {V : Type u_1} (b : VVFin 3Fin 3F2) (hsymm : ∀ (v u : V) (a c : Fin 3), b v u a c = b u v c a) (S : Finset V) (d : Derangement S) (x : VFin 3) :
                    theorem Sabidussi.OddBalance.totalChoiceTerm_derangement_inv {V : Type u_1} [Fintype V] [DecidableEq V] (b : VVFin 3Fin 3F2) (hsymm : ∀ (v u : V) (a c : Fin 3), b v u a c = b u v c a) (S : Finset V) (d : Derangement S) :
                    theorem Sabidussi.OddBalance.totalChoiceTerm_eq_zero_of_derangement_inv_eq_self {V : Type u_1} [Fintype V] [DecidableEq V] (b : VVFin 3Fin 3F2) (hsymm : ∀ (v u : V) (a c : Fin 3), b v u a c = b u v c a) (hrow : ∀ (v u : V) (a : Fin 3), c : Fin 3, b v u a c = 0) (S : Finset V) (hS : S.Nonempty) (d : Derangement S) (hd : d.inv = d) :

                    A choice of partners whose image covers every vertex of S.

                    Equations
                    Instances For

                      A covering choice of partners is a bijection, hence a derangement.

                      Equations
                      Instances For

                        The covering choice of partners underlying a derangement.

                        Equations
                        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
                            theorem Sabidussi.OddBalance.sum_derangement_totalChoiceTerm_eq_zero {V : Type u_1} [Fintype V] [DecidableEq V] (b : VVFin 3Fin 3F2) (hsymm : ∀ (v u : V) (a c : Fin 3), b v u a c = b u v c a) (hrow : ∀ (v u : V) (a : Fin 3), c : Fin 3, b v u a c = 0) (S : Finset V) (hS : S.Nonempty) :
                            d : Derangement S, totalChoiceTerm b S d.choice = 0
                            theorem Sabidussi.OddBalance.sum_coveredChoice_totalChoiceTerm_eq_zero {V : Type u_1} [Fintype V] [DecidableEq V] (b : VVFin 3Fin 3F2) (hsymm : ∀ (v u : V) (a c : Fin 3), b v u a c = b u v c a) (hrow : ∀ (v u : V) (a : Fin 3), c : Fin 3, b v u a c = 0) (S : Finset V) (hS : S.Nonempty) :
                            c : CoveredChoice S, totalChoiceTerm b S c = 0
                            theorem Sabidussi.OddBalance.sum_choice_totalChoiceTerm_eq_zero {V : Type u_1} [Fintype V] [DecidableEq V] (b : VVFin 3Fin 3F2) (hsymm : ∀ (v u : V) (a c : Fin 3), b v u a c = b u v c a) (hrow : ∀ (v u : V) (a : Fin 3), c : Fin 3, b v u a c = 0) (S : Finset V) (hS : S.Nonempty) :
                            f : Choice S, totalChoiceTerm b S f = 0
                            theorem Sabidussi.OddBalance.sum_obstruction_product_eq_zero {V : Type u_1} [Fintype V] [DecidableEq V] (b : VVFin 3Fin 3F2) (hsymm : ∀ (v u : V) (a c : Fin 3), b v u a c = b u v c a) (hrow : ∀ (v u : V) (a : Fin 3), c : Fin 3, b v u a c = 0) (S : Finset V) (hS : S.Nonempty) :
                            x : VFin 3, vS, obstruction b x v = 0
                            theorem Sabidussi.OddBalance.sum_one_fin3_assignments {V : Type u_1} [Fintype V] [DecidableEq V] :
                            _x : VFin 3, 1 = 1
                            theorem Sabidussi.OddBalance.cast_solutions_card_eq_one {V : Type u_1} [Fintype V] [DecidableEq V] (b : VVFin 3Fin 3F2) (hsymm : ∀ (v u : V) (a c : Fin 3), b v u a c = b u v c a) (hrow : ∀ (v u : V) (a : Fin 3), c : Fin 3, b v u a c = 0) :
                            (solutions b).card = 1
                            theorem Sabidussi.OddBalance.solutions_card_odd {V : Type u_1} [Fintype V] [DecidableEq V] (b : VVFin 3Fin 3F2) (hsymm : ∀ (v u : V) (a c : Fin 3), b v u a c = b u v c a) (hrow : ∀ (v u : V) (a : Fin 3), c : Fin 3, b v u a c = 0) :
                            theorem Sabidussi.OddBalance.exists_balanced {V : Type u_1} [Fintype V] [DecidableEq V] (b : VVFin 3Fin 3F2) (hsymm : ∀ (v u : V) (a c : Fin 3), b v u a c = b u v c a) (hrow : ∀ (v u : V) (a : Fin 3), c : Fin 3, b v u a c = 0) :
                            ∃ (x : VFin 3), ∀ (v : V), obstruction b x v = 0

                            A symmetric row-cancelling interaction has a balanced choice at every vertex.