If every row of B' is an integer row combination of rows of B, then
membership in the lattice generated by B' implies membership for B.
The rows of b are linearly independent, witnessed by positivity of each
executable leading Gram determinant.
Equations
Instances For
Independence is decidable (via GramSchmidt.Int.independent), so it can be
tested at runtime.
memLattice_of_rowSwap_memLattice states that any vector in the lattice
generated by rowSwap b i j also lies in the lattice generated by b.
rowSwap_memLattice_iff states that swapping rows i and j of b
preserves lattice membership in both directions.
memLattice_of_rowAdd_memLattice states that any vector in the lattice
generated by rowAdd b src dst c also lies in the lattice generated by b.
rowAdd_memLattice_iff states that adding c times row src to a distinct
row dst of b preserves lattice membership in both directions.