InformationTheory.Shannon.HypercubeEdge.Boundary
Boolean hypercube edge-boundary bound #
The edge boundary of a subset of the Boolean cube Fin n → Bool, defined combinatorially
via directed coordinate-flip pairs, together with an edge-isoperimetric lower bound obtained
from Loomis–Whitney and AM-GM.
Main definitions #
flipCoord i x— flip thei-th coordinate ofx : Fin n → Bool, i.e.Function.update x i (!x i).edgeBoundaryCount A— the number of pairs(x, i)withx ∈ AandflipCoord i x ∉ A, in bijection with the unordered edges of the cube having exactly one endpoint inA.internalEdgePairCount A— the number of pairs(x, i)withx ∈ AandflipCoord i x ∈ A; it counts each unordered internal edge twice.
Main statements #
edge_total_count—edgeBoundaryCount A + internalEdgePairCount A = n * A.card.internal_pair_count_eq_projection_sum—internalEdgePairCount A + 2 * ∑ i, (projectionExcept i A).card = 2 * (n * A.card).edgeBoundary_count_eq—edgeBoundaryCount A + n * A.card = 2 * ∑ i, (projectionExcept i A).card.sum_projection_card_ge_amgm—(n : ℝ) * (A.card)^((n-1)/n) ≤ ∑ i, ((projectionExcept i A).card : ℝ), from Loomis–Whitney and AM-GM.edgeBoundary_ge_AMGM— for nonemptyA,2 * n * (A.card)^((n-1)/n) ≤ edgeBoundaryCount A + n * A.card, the additive form of|∂_e A| ≥ 2n · |A|^{(n-1)/n} − n · |A|.
Implementation notes #
The definitions avoid SimpleGraph and Sym2, working with naive combinatorial pairs to
sidestep the SimpleGraph.edgeBoundary API. Counting identities are stated additively to
avoid natural-number subtraction.
Coordinate flip and edge counts #
InformationTheory.Shannon.flipCoord
sourceEquations
- InformationTheory.Shannon.flipCoord i x = Function.update x i !x i
Instances For
Used by
InformationTheory.Shannon.flipCoord_apply_same
sourceUsed by
InformationTheory.Shannon.flipCoord_apply_other
sourceUsed by
InformationTheory.Shannon.flipCoord_flipCoord
sourceUsed by
InformationTheory.Shannon.edgeBoundaryCount
sourceThe number of pairs (x, i) with x ∈ A and flipCoord i x ∉ A, in bijection with the
cube edges having exactly one endpoint in A.
Equations
- InformationTheory.Shannon.edgeBoundaryCount A = {p : (Fin n → Bool) × Fin n | p.1 ∈ A ∧ InformationTheory.Shannon.flipCoord p.2 p.1 ∉ A}.card
Instances For
Used by
InformationTheory.Shannon.internalEdgePairCount
sourceThe number of pairs (x, i) with x ∈ A and flipCoord i x ∈ A, counting each internal
edge twice.
Equations
Instances For
Used by
Counting identities #
InformationTheory.Shannon.edge_total_count
sourceThe pairs (x, i) with x ∈ A number n * A.card, split disjointly by whether
flipCoord i x ∈ A: edgeBoundaryCount A + internalEdgePairCount A = n * A.card.
Used by
Projection identity #
For each direction i, every fibre of projectionExcept i A is covered once or twice in A;
double-counting these coverages relates ∑ i, (projectionExcept i A).card to A.card and the
edge boundary count, stated additively to avoid natural-number subtraction.
InformationTheory.Shannon.flipCoord_mem_iff
sourceflipCoord i x ∈ A ↔ Function.update x i (!x i) ∈ A, the definitional unfolding of
flipCoord.
Used by
InformationTheory.Shannon.projMap
sourceThe projection (Fin n → Bool) → ({j // j ≠ i} → Bool) dropping coordinate i.
Equations
- InformationTheory.Shannon.projMap i x j = x ↑j
Instances For
Used by
InformationTheory.Shannon.extension
sourceExtend a projection by the bit b at coordinate i.
Equations
- InformationTheory.Shannon.extension i b y j = if h : j = i then b else y ⟨j, h⟩
Instances For
Used by
InformationTheory.Shannon.extension_apply_eq
sourceUsed by
InformationTheory.Shannon.extension_apply_ne
sourceUsed by
InformationTheory.Shannon.projMap_extension
sourceUsed by
InformationTheory.Shannon.projectionExcept_eq_image
sourceUsed by
InformationTheory.Shannon.extension_projMap_flip
sourceUsed by
InformationTheory.Shannon.projMap_eq_iff
sourceUsed by
InformationTheory.Shannon.boundaryDirSet
sourceThe boundary contribution in direction i: elements x ∈ A with flipCoord i x ∉ A.
Equations
- InformationTheory.Shannon.boundaryDirSet A i = {x ∈ A | InformationTheory.Shannon.flipCoord i x ∉ A}
Instances For
Used by
InformationTheory.Shannon.fiber_projMap_eq_union
sourceUsed by
InformationTheory.Shannon.boundaryDirSet_fiber_projMap_eq_union
sourceUsed by
InformationTheory.Shannon.extension_false_ne_extension_true
sourceUsed by
InformationTheory.Shannon.extension_mem_of_mem_projectionExcept
sourceUsed by
InformationTheory.Shannon.two_eq_fiber_card_add_boundaryDirSet_fiber_card
sourceUsed by
InformationTheory.Shannon.boundaryPairCount_eq_boundaryDirSet_card
sourceUsed by
InformationTheory.Shannon.two_mul_projectionExcept_card_eq
sourceUsed by
InformationTheory.Shannon.two_sum_projection_eq
source2 * ∑ i, (projectionExcept i A).card = n * A.card + edgeBoundaryCount A, obtained by
classifying each projection fibre as singly or doubly covered in A.
Used by
InformationTheory.Shannon.internal_pair_count_eq_projection_sum
sourceThe internal edge pair count in projection-sum form:
internalEdgePairCount A + 2 * ∑ i, (projectionExcept i A).card = 2 * (n * A.card).
Used by
InformationTheory.Shannon.edgeBoundary_count_eq
sourceThe edge boundary in projection-sum form:
edgeBoundaryCount A + n * A.card = 2 * ∑ i, (projectionExcept i A).card.
Used by
Loomis–Whitney and AM-GM corollary #
InformationTheory.Shannon.sum_projection_card_ge_amgm
source(n : ℝ) * (A.card)^((n-1)/n) ≤ ∑ i, ((projectionExcept i A).card : ℝ), combining the
Loomis–Whitney bound ∏ i, (projectionExcept i A).card ≥ A.card^(n-1) with AM-GM.
Used by
InformationTheory.Shannon.edgeBoundary_ge_AMGM
sourceThe edge-isoperimetric lower bound: for nonempty A ⊆ Fin n → Bool,
2 * n * (A.card)^((n-1)/n) ≤ edgeBoundaryCount A + n * A.card, the additive form of
|∂_e A| ≥ 2n · |A|^{(n-1)/n} − n · |A|.