Boolean cube basics #
This file defines Boolean-cube vertices, Hamming distance, closed neighborhoods,
simplicial order, initial segments, slicing maps, and the Harper boundary
function H.
A vertex of the n-dimensional Boolean cube, represented by its active coordinates.
Equations
- BooleanIsoperimetry.Cube n = Finset (Fin n)
Instances For
The Hamming distance between two Boolean-cube vertices.
Equations
- BooleanIsoperimetry.hDist x y = Finset.card (symmDiff x y)
Instances For
The closed Hamming r-neighborhood of a family of cube vertices.
Equations
- BooleanIsoperimetry.neighborhood r A = {v : BooleanIsoperimetry.Cube n | ∃ u ∈ A, BooleanIsoperimetry.hDist u v ≤ r}
Instances For
The closed Hamming ball of radius r centered at the origin.
Equations
- BooleanIsoperimetry.hammingBall r = {v : BooleanIsoperimetry.Cube n | Finset.card v ≤ r}
Instances For
The binary encoding used to break ties in the simplicial order.
Equations
- BooleanIsoperimetry.cubeToNat x = ∑ i ∈ x, 2 ^ ↑i
Instances For
The non-strict simplicial order: first by weight, then by reverse binary order.
Equations
Instances For
The strict simplicial order on Boolean-cube vertices.
Equations
Instances For
The zero-based position of a vertex in the simplicial order.
Equations
Instances For
The first k vertices of the n-cube in simplicial order.
Equations
- BooleanIsoperimetry.simplicialInitSeg n k = {x : BooleanIsoperimetry.Cube n | BooleanIsoperimetry.rank x < k}
Instances For
Embed an n-cube vertex in dimension n + 1 with last coordinate zero.
Equations
Instances For
Embed an n-cube vertex in dimension n + 1 with last coordinate one.
Equations
Instances For
The lower slice of a family in dimension n + 1.
Equations
- BooleanIsoperimetry.slice0 A = {x : BooleanIsoperimetry.Cube n | BooleanIsoperimetry.embed0 x ∈ A}
Instances For
The upper slice of a family in dimension n + 1.
Equations
- BooleanIsoperimetry.slice1 A = {x : BooleanIsoperimetry.Cube n | BooleanIsoperimetry.embed1 x ∈ A}
Instances For
The size of the radius-one neighborhood of the simplicial initial segment of size k.
Equations
Instances For
Remove the least active coordinate, giving the lowest-rank vertex in the closed unit ball.
Equations
- BooleanIsoperimetry.gShift v = if h : Finset.Nonempty v then Finset.erase v (Finset.min' v h) else v
Instances For
The sum of the first r binomial coefficients in row n.
Equations
- BooleanIsoperimetry.binomPrefix n r = ∑ i ∈ Finset.range r, n.choose i