Finite Boolean Hamming geometry -- definitions #
This module fixes absolute Hamming distance on n-bit words, finite spheres
and balls, their binomial volume, and a minimum-distance predicate for finite
codes. The rational relative-distance bridge remains compatible with the
existing Boolean list-decoding API.
@[reducible, inline]
A fixed-length Boolean word.
Equations
- Complexity.BooleanHamming.Word length = (Fin length → Bool)
Instances For
Coordinates on which two Boolean words disagree.
Equations
- Complexity.BooleanHamming.disagreement left right = {coordinate : Fin length | left coordinate ≠ right coordinate}
Instances For
Absolute Hamming distance.
Equations
- Complexity.BooleanHamming.distance left right = (Complexity.BooleanHamming.disagreement left right).card
Instances For
Translate a Boolean word by coordinatewise XOR with a fixed center.
Equations
- Complexity.BooleanHamming.translate center word coordinate = (word coordinate ^^ center coordinate)
Instances For
Words at absolute distance exactly radius from center.
Equations
- Complexity.BooleanHamming.sphere center radius = {word : Complexity.BooleanHamming.Word length | Complexity.BooleanHamming.distance word center = radius}
Instances For
Words at absolute distance at most radius from center.
Equations
- Complexity.BooleanHamming.ball center radius = {word : Complexity.BooleanHamming.Word length | Complexity.BooleanHamming.distance word center ≤ radius}
Instances For
Binomial volume of a Boolean Hamming ball. Terms above length vanish.
Equations
- Complexity.BooleanHamming.volume length radius = ∑ weight ∈ Finset.range (radius + 1), length.choose weight