CSS data and a three-identity degree-two tensor word
DefinitionZengPryadkoConjecture18CounterexampleThis definition package starts from two surjective binary linear maps
whose standard-coordinate transposes satisfy and . It also stores vectors with , , and . From these data it defines the finite based binary chain complexes
with zero chain groups above degree two.
Finally it defines one degree-two binary word in the full tensor product . Under the three matrix-block identifications corresponding to bidegrees , , and , this word is exactly
The package reuses the chain-complex, tensor-boundary, homological-distance, and component-minimum conventions already published in ZengPryadko2019.
import Definitions.Def_ZengPryadko2019
import Mathlib.Algebra.Field.ZMod
open ZengPryadko2019
namespace ZengPryadkoConjecture18Counterexample
/-- The transpose of a linear map between standard finite binary coordinate spaces. -/
noncomputable def transposeMap {m n : ℕ}
(f : BinaryWord (Fin n) →ₗ[ZMod 2] BinaryWord (Fin m)) :
BinaryWord (Fin m) →ₗ[ZMod 2] BinaryWord (Fin n) :=
Matrix.toLin' (m := Fin n) (n := Fin m)
((LinearMap.toMatrix' f).transpose)
/--
Full-row-rank binary CSS check data together with a paired logical X/Z pair.
-/
structure CSSSwapProductData (n rX rZ : ℕ) where
boundaryX : BinaryWord (Fin n) →ₗ[ZMod 2] BinaryWord (Fin rX)
boundaryZ : BinaryWord (Fin n) →ₗ[ZMod 2] BinaryWord (Fin rZ)
boundaryXZ : boundaryX.comp (transposeMap boundaryZ) = 0
boundaryZX : boundaryZ.comp (transposeMap boundaryX) = 0
boundaryX_surjective : Function.Surjective boundaryX
boundaryZ_surjective : Function.Surjective boundaryZ
logicalX : BinaryWord (Fin n)
logicalZ : BinaryWord (Fin n)
logicalX_cycle : boundaryZ logicalX = 0
logicalZ_cycle : boundaryX logicalZ = 0
logical_pair : dotProduct logicalX logicalZ = 1
/-- The three-term chain complex with boundaries `boundaryX` and `boundaryZᵀ`. -/
noncomputable def leftComplex {n rX rZ : ℕ} (D : CSSSwapProductData n rX rZ) :
BasedBinaryChainComplex where
dimension
| 0 => rX
| 1 => n
| 2 => rZ
| _ + 3 => 0
boundary
| 0 => 0
| 1 => D.boundaryX
| 2 => transposeMap D.boundaryZ
| _ + 3 => 0
boundary_boundary := by
intro i
rcases i with _ | _ | i
· simp
· exact D.boundaryXZ
· simp
length := 2
dimension_eq_zero_of_length_lt := by
intro i hi
rcases i with _ | _ | _ | i
· omega
· omega
· omega
· rfl
/-- The X/Z-swapped three-term chain complex. -/
noncomputable def rightComplex {n rX rZ : ℕ} (D : CSSSwapProductData n rX rZ) :
BasedBinaryChainComplex where
dimension
| 0 => rZ
| 1 => n
| 2 => rX
| _ + 3 => 0
boundary
| 0 => 0
| 1 => D.boundaryZ
| 2 => transposeMap D.boundaryX
| _ + 3 => 0
boundary_boundary := by
intro i
rcases i with _ | _ | i
· simp
· exact D.boundaryZX
· simp
length := 2
dimension_eq_zero_of_length_lt := by
intro i hi
rcases i with _ | _ | _ | i
· omega
· omega
· omega
· rfl
/--
The degree-two tensor-product word whose three matrix blocks are
`I_{rZ}`, `I_n`, and `I_{rX}`.
-/
noncomputable def threeIdentityElement {n rX rZ : ℕ}
(D : CSSSwapProductData n rX rZ) :
BinaryWord (TensorDegreeIndex (leftComplex D) (rightComplex D) 2) :=
fun z => if z.2.1.val = z.2.2.val then 1 else 0
end ZengPryadkoConjecture18Counterexample
Read-back
What the Lean code literally says, in plain math · gpt-5.6-sol
transposeMap. For all natural numbers and every -linear map , where , this defines the linear map whose standard-coordinate matrix is the transpose of the standard-coordinate matrix of . Explicitly, if is the -th standard basis word, then for and , , with all arithmetic in . The parameters may be zero: an empty-index sum is , and if or , the corresponding source or target is the zero-dimensional binary coordinate space and the definition gives the uniquely determined linear map of the stated type.
CSSSwapProductData. For every triple , this structure consists of two -linear maps and ; proofs of both equations and , where each transpose is the standard-coordinate matrix transpose described by ; proofs that both and are surjective; two words ; and proofs that , , and in . The last equation says that the two words overlap in an odd number of coordinates and forces both to be nonzero; together with the cycle and surjectivity requirements, any inhabitant must satisfy and , so in particular there is no inhabitant when . Either or may nevertheless be ; for such a zero-sized codomain, the corresponding map is uniquely zero and surjective, and its associated zero-composition and cycle equations are automatic.
leftComplex. For all and every datum consisting of surjective maps , satisfying and , together with words satisfying , , and , this defines a based binary chain complex in nonnegative degrees with , , , and for every . Its degree- boundary has source and target for , while the degree-zero target is the space of functions on the empty index type; specifically, , , , and for . It includes the assertion for every , whose only potentially nonzero case is , and records length together with whenever . Zero values of or produce zero-dimensional endpoint groups; parameter triples admitting no such datum , including , supply no input at which this definition can be instantiated.
rightComplex. For all and every datum consisting of surjective maps , satisfying and , together with words satisfying , , and , this defines a based binary chain complex with , , , and for every . Its boundaries are , , , and for , with the usual degree- source and degree- target for and the empty-index zero-dimensional target in degree . It includes for every , whose only potentially nonzero case is , and records length together with vanishing dimensions above degree . Zero values of or give zero-dimensional endpoint groups; if no datum exists for a parameter triple, as when , the definition has no input at those parameters.
threeIdentityElement. For all and every datum consisting of the maps and words above with both surjectivity conditions, both transpose-composition equations, both cycle equations, and dot product , let be the complex with dimensions in degrees and let be the complex with dimensions . This defines a binary word on the degree- tensor-product coordinate set: an index is a decomposition with , together with and , and the word’s value at that index is exactly when the underlying natural numbers represented by and are equal, and otherwise. Thus the components are respectively the Kronecker-delta arrays ; these are the only degree decompositions. The value uses none of ’s boundary maps or distinguished words beyond the dimensions supplied by its parameters. If or , the corresponding component has no coordinates and is empty; parameter triples with no possible datum give no instance of the definition.
Confirmed by the mission captain (proposal self-audit).