Solution Groups for Binary Linear Systems #
This module defines the solution group attached to a binary linear system. For a
system with variables g_j and distinguished generator J, the presentation is
generated by the four standard families of relations:
- every
g_jandJis an involution; - each
g_jcommutes withJ; - variables that occur in a common equation commute;
- each equation imposes the product relation
∏_{j ∈ support(i)} g_j = J ^ b_i.
The main construction is SolutionGroup S, together with quotient elements
SolutionGroup.var and SolutionGroup.J and lemmas showing that the four
families of defining constraints hold in the presented group.
Generators for the solution group of a binary linear system.
- var {S : LinearSystem} : Fin S.layout.s → SolutionGen S
- J {S : LinearSystem} : SolutionGen S
Instances For
Equations
- MIPRE.LCS.instDecidableEqSolutionGen.decEq (MIPRE.LCS.SolutionGen.var a) (MIPRE.LCS.SolutionGen.var b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
- MIPRE.LCS.instDecidableEqSolutionGen.decEq (MIPRE.LCS.SolutionGen.var a) MIPRE.LCS.SolutionGen.J = isFalse ⋯
- MIPRE.LCS.instDecidableEqSolutionGen.decEq MIPRE.LCS.SolutionGen.J (MIPRE.LCS.SolutionGen.var a) = isFalse ⋯
- MIPRE.LCS.instDecidableEqSolutionGen.decEq MIPRE.LCS.SolutionGen.J MIPRE.LCS.SolutionGen.J = isTrue ⋯
Instances For
Defining Constraint Relators #
The next definitions collect the free-group words used to impose the four families of constraints in the solution-group presentation.
The free-group generator attached to variable j.
Equations
Instances For
The distinguished central free-group generator.
Instances For
∏_{j ∈ support(i)} g_j = J ^ b_i #
The next helper lemmas work towards the product for equation i equals J^(b_i)
The left-hand-side word of equation i, ordered by the Finset order.
Equations
- MIPRE.LCS.equationWord S i = (List.map MIPRE.LCS.genVar ((MIPRE.LCS.eqSupport S i).sort fun (x1 x2 : Fin S.layout.s) => x1 ≤ x2)).prod
Instances For
The relator encoding equation i as equationWord = J^(b i).
Equations
- MIPRE.LCS.equationRelator S i = MIPRE.LCS.equationWord S i * (MIPRE.LCS.genJ ^ (S.b i).val)⁻¹
Instances For
List of the defining relators of the solution group of S.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Defining the relations as a set #
The defining relators of the solution group of S.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The computable same-equation test agrees with the propositional predicate.
The list presentation has the same membership as the direct set presentation.
The solution group of a binary linear system: the group presented by the defining
relators of solutionRelators.
Equations
Instances For
The distinguished quotient element attached to variable j.
Equations
Instances For
The distinguished quotient element J.