Boundary conditions for bond configurations
InductiveBoundary conditions for a bond model#✓fully proved
Boundary conditions for a bond model on a finite graph.
inductive BoundaryCondition
| free
| wired
| periodic
deriving DecidableEq, Repr
Used by 1
DefinitionOpen edge in a bond configuration#✓fully proved
The edge {x, y} of G is open in the configuration ω.
Used by 6
DefinitionOpen subgraph of a bond configuration#✓fully proved
The spanning subgraph of G consisting of the open edges of ω.
def openGraph (ω : Sym2 V → Bool) : SimpleGraph V where
Adj x y := IsOpen G ω x y
symm := ⟨fun _ _ h => isOpen_symm G h⟩
loopless := ⟨fun x h => isOpen_irrefl G x h⟩
def IsOpen (ω : Sym2 V → Bool) (x y : V) : Prop :=
G.Adj x y ∧ ω s(x, y) = true
MathlibExt/Combinatorics/SimpleGraph/Lattice/BoundaryConditions.lean:70
theorem isOpen_symm {ω : Sym2 V → Bool} {x y : V} (h : IsOpen G ω x y) :
IsOpen G ω y x
MathlibExt/Combinatorics/SimpleGraph/Lattice/BoundaryConditions.lean:73
theorem isOpen_irrefl {ω : Sym2 V → Bool} (x : V) : ¬ IsOpen G ω x x
MathlibExt/Combinatorics/SimpleGraph/Lattice/BoundaryConditions.lean:79
Uses 1 · Used by 21
DefinitionNumber of open clusters with free boundary conditions#✓fully proved
The number of open clusters (connected components of the open graph) with free boundary conditions.
noncomputable def numClustersFree (ω : Sym2 V → Bool) : ℕ :=
Nat.card (openGraph G ω).ConnectedComponent
def openGraph (ω : Sym2 V → Bool) : SimpleGraph V where
Adj x y := IsOpen G ω x y
symm := ⟨fun _ _ h => isOpen_symm G h⟩
loopless := ⟨fun x h => isOpen_irrefl G x h⟩
MathlibExt/Combinatorics/SimpleGraph/Lattice/BoundaryConditions.lean:87
DefinitionBoundary wiring relation#✓fully proved
Both vertices lie on the boundary.
def wireRel (x y : V) : Prop := bdry x ∧ bdry y
Used by 61
DefinitionComplete graph on the boundary vertices#✓fully proved
The complete graph on the boundary vertices, used to wire the boundary together.
def boundaryCliqueGraph : SimpleGraph V := SimpleGraph.fromRel (wireRel bdry)
def wireRel (x y : V) : Prop := bdry x ∧ bdry y
MathlibExt/Combinatorics/SimpleGraph/Lattice/BoundaryConditions.lean:114
Uses 1 · Used by 71
DefinitionWired open graph#✓fully proved
The wired open graph: the open edges of ω together with an edge between every two distinct
boundary vertices.
def wiredGraph (ω : Sym2 V → Bool) : SimpleGraph V :=
openGraph G ω ⊔ boundaryCliqueGraph bdry
def openGraph (ω : Sym2 V → Bool) : SimpleGraph V where
Adj x y := IsOpen G ω x y
symm := ⟨fun _ _ h => isOpen_symm G h⟩
loopless := ⟨fun x h => isOpen_irrefl G x h⟩
MathlibExt/Combinatorics/SimpleGraph/Lattice/BoundaryConditions.lean:87
def boundaryCliqueGraph : SimpleGraph V := SimpleGraph.fromRel (wireRel bdry)
MathlibExt/Combinatorics/SimpleGraph/Lattice/BoundaryConditions.lean:121
Uses 2 · Used by 22
DefinitionNumber of open clusters with wired boundary conditions#✓fully proved
The number of open clusters with wired boundary conditions: all boundary vertices lie in a single cluster.
noncomputable def numClustersWired (ω : Sym2 V → Bool) : ℕ :=
Nat.card (wiredGraph G bdry ω).ConnectedComponent
def wiredGraph (ω : Sym2 V → Bool) : SimpleGraph V :=
openGraph G ω ⊔ boundaryCliqueGraph bdry
MathlibExt/Combinatorics/SimpleGraph/Lattice/BoundaryConditions.lean:138
Uses 1 · Used by 38
DefinitionNumber of open clusters under a boundary condition#✓fully proved
The number of open clusters under a boundary condition. The periodic case uses the free count:
the periodic identification is built into the graph G.
noncomputable def numClusters (bc : BoundaryCondition) (ω : Sym2 V → Bool) : ℕ :=
match bc with
| BoundaryCondition.free => numClustersFree G ω
| BoundaryCondition.wired => numClustersWired G bdry ω
| BoundaryCondition.periodic => numClustersFree G ω
inductive BoundaryCondition
| free
| wired
| periodic
deriving DecidableEq, Repr
MathlibExt/Combinatorics/SimpleGraph/Lattice/BoundaryConditions.lean:47
noncomputable def numClustersFree (ω : Sym2 V → Bool) : ℕ :=
Nat.card (openGraph G ω).ConnectedComponent
MathlibExt/Combinatorics/SimpleGraph/Lattice/BoundaryConditions.lean:104
noncomputable def numClustersWired (ω : Sym2 V → Bool) : ℕ :=
Nat.card (wiredGraph G bdry ω).ConnectedComponent
MathlibExt/Combinatorics/SimpleGraph/Lattice/BoundaryConditions.lean:162
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.