A bipartion of G is a partition of the vertex set into two parts such that every edge
crosses the partition.
Instances For
Equations
Instances For
@[simp]
theorem Graph.Bipartition.symm_right {α : Type u_1} {β : Type u_2} {G : Graph α β} (B : G.Bipartition) :
@[simp]
theorem Graph.Bipartition.symm_left {α : Type u_1} {β : Type u_2} {G : Graph α β} (B : G.Bipartition) :
theorem Graph.Bipartition.left_subset {α : Type u_1} {β : Type u_2} {G : Graph α β} (B : G.Bipartition) :
theorem Graph.Bipartition.right_subset {α : Type u_1} {β : Type u_2} {G : Graph α β} (B : G.Bipartition) :
theorem Graph.Bipartition.notMem_right {α : Type u_1} {β : Type u_2} {G : Graph α β} {x : α} {B : G.Bipartition} (hx : x ∈ B.left) :
x ∉ B.right
theorem Graph.Bipartition.notMem_left {α : Type u_1} {β : Type u_2} {G : Graph α β} {x : α} {B : G.Bipartition} (hx : x ∈ B.right) :
x ∉ B.left
structure Graph.Bipartition.Same {α : Type u_1} {β : Type u_2} {G : Graph α β} (B : G.Bipartition) (x y : α) :
B.Same x y means that x and y are on the same side of B.
If G is connected, this is equivalent to x and y having even distance; see
Bipartiton.same_iff_dist_even.
Instances For
theorem Graph.Bipartition.Same.symm {α : Type u_1} {β : Type u_2} {G : Graph α β} {x y : α} {B : G.Bipartition} (h : B.Same x y) :
B.Same y x
theorem Graph.Bipartition.same_comm {α : Type u_1} {β : Type u_2} {G : Graph α β} {x y : α} {B : G.Bipartition} :
@[simp]
theorem Graph.Bipartition.same_self_iff {α : Type u_1} {β : Type u_2} {G : Graph α β} {x : α} {B : G.Bipartition} :
@[simp]
theorem Graph.Bipartition.symm_same {α : Type u_1} {β : Type u_2} {G : Graph α β} {B : G.Bipartition} :
structure Graph.Bipartition.Opp {α : Type u_1} {β : Type u_2} {G : Graph α β} (B : G.Bipartition) (x y : α) :
B.Opp x y means that x and y are on opposite sides of B.
If G is connected, this is equivalent to x and y having odd distance; see
Bipartiton.opp_iff_dist_odd.
Instances For
theorem Graph.Bipartition.Opp.symm {α : Type u_1} {β : Type u_2} {G : Graph α β} {x y : α} {B : G.Bipartition} (h : B.Opp x y) :
B.Opp y x
theorem Graph.Bipartition.opp_comm {α : Type u_1} {β : Type u_2} {G : Graph α β} {x y : α} {B : G.Bipartition} :
theorem Graph.Bipartition.Same.not_opp {α : Type u_1} {β : Type u_2} {G : Graph α β} {x y : α} {B : G.Bipartition} (hB : B.Same x y) :
theorem Graph.Bipartition.Opp.not_same {α : Type u_1} {β : Type u_2} {G : Graph α β} {x y : α} {B : G.Bipartition} (hB : B.Opp x y) :
theorem Graph.Bipartition.opp_of_adj {α : Type u_1} {β : Type u_2} {G : Graph α β} {x y : α} (B : G.Bipartition) (hxy : G.Adj x y) :
B.Opp x y
@[simp]
theorem Graph.Bipartition.symm_opp {α : Type u_1} {β : Type u_2} {G : Graph α β} {B : G.Bipartition} :
theorem Graph.Bipartition.Opp.trans {α : Type u_1} {β : Type u_2} {G : Graph α β} {x y z : α} {B : G.Bipartition} (hxy : B.Opp x y) (hyz : B.Opp y z) :
B.Same x z
theorem Graph.Bipartition.Same.trans {α : Type u_1} {β : Type u_2} {G : Graph α β} {x y z : α} {B : G.Bipartition} (hxy : B.Same x y) (hyz : B.Same y z) :
B.Same x z
@[simp]
theorem Graph.not_opp_self {α : Type u_1} {β : Type u_2} {G : Graph α β} (B : G.Bipartition) (x : α) :
def Graph.Bipartition.of_isSpanningSubgraph {α : Type u_1} {β : Type u_2} {G H : Graph α β} (B : H.Bipartition) (hHG : H ≤s G) (h_isLink : ∀ ⦃x y : α⦄ ⦃e : β⦄, e ∉ H.edgeSet → G.IsLink e x y → B.Opp x y) :
Equations
Instances For
def Graph.Bipartition.iUnion {α : Type u_1} {β : Type u_2} {ι : Type u_3} {H : ι → Graph α β} (B : (i : ι) → (H i).Bipartition) (hdj : Pairwise (Function.onFun StronglyDisjoint H)) :
(Graph.iUnion H ⋯).Bipartition
Equations
Instances For
def Graph.Bipartition.sUnion {α : Type u_1} {β : Type u_2} {s : Set (Graph α β)} (B : (G : Graph α β) → G ∈ s → G.Bipartition) (hs : s.Pairwise StronglyDisjoint) :
(Graph.sUnion s ⋯).Bipartition
Equations
Instances For
noncomputable def Graph.Bipartition.union {α : Type u_1} {β : Type u_2} (G H : Graph α β) (B₁ : G.Bipartition) (B₂ : H.Bipartition) (hGH : G.StronglyDisjoint H) :
(G ∪ H).Bipartition
Equations
- One or more equations did not get rendered due to their size.
Instances For
noncomputable def Graph.Bipartition.symm_on {α : Type u_1} {β : Type u_2} {G : Graph α β} (B : G.Bipartition) (x : α) (_hx : x ∈ G.vertexSet) :
Rather than switching the entire bipartition, we can switch the bipartition for the component
containing x.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A graph with a bipartition is bipartite.
Equations
Instances For
theorem Graph.Bipartition.bipartite {α : Type u_1} {β : Type u_2} {G : Graph α β} (B : G.Bipartition) :
theorem Graph.iUnion_stronglyDisjoint_bipartite {α : Type u_1} {β : Type u_2} {ι : Type u_3} {H : ι → Graph α β} (hdj : Pairwise (Function.onFun StronglyDisjoint H)) (hbp : ∀ (i : ι), (H i).Bipartite) :
(Graph.iUnion H ⋯).Bipartite
A disjoint union of bipartite graphs is bipartite.
theorem Graph.sUnion_stronglyDisjoint_bipartite {α : Type u_1} {β : Type u_2} {s : Set (Graph α β)} (hdj : s.Pairwise StronglyDisjoint) (hbp : ∀ G ∈ s, G.Bipartite) :
(Graph.sUnion s ⋯).Bipartite
theorem Graph.union_stronglyDisjoint_bipartite {α : Type u_1} {β : Type u_2} {G H : Graph α β} (hG : G.Bipartite) (hH : H.Bipartite) (hGH : G.StronglyDisjoint H) :
theorem Graph.Bipartition.vertex_isChain_opp {α : Type u_1} {β : Type u_2} {G : Graph α β} {W : WList α β} (B : G.Bipartition) (hW : G.IsWalk W) :
List.IsChain (fun (x1 x2 : α) => B.Opp x1 x2) W.vertex
The obvious bipartition of a complete bipartite graph.
Equations
Instances For
@[simp]
@[simp]
@[simp]
@[simp]
theorem Graph.edgeSet_completeBipartiteGraphOn {α : Type u_1} {β : Type u_2} (A : Set α) (B : Set β) :
@[simp]
instance Graph.completeBipartiteGraphOn_simple {α : Type u_1} {β : Type u_2} (A : Set α) (B : Set β) :
@[simp]
theorem Graph.completeBipartiteGraphOn_loopless {α : Type u_1} {β : Type u_2} (A : Set α) (B : Set β) :
theorem Graph.completeBipartiteGraphOn_map_swap {α : Type u_1} {β : Type u_2} (A : Set α) (B : Set β) :
theorem Graph.completeBipartiteGraphOn_preconnected_iff {α : Type u_1} {β : Type u_2} {A : Set α} {B : Set β} :
theorem Graph.completeBipartiteGraphOn_deleteVerts {α : Type u_1} {β : Type u_2} (A : Set α) (B : Set β) (X : Set (α ⊕ β)) :
(completeBipartiteGraphOn A B).deleteVerts X = completeBipartiteGraphOn (A \ Sum.inl ⁻¹' X) (B \ Sum.inr ⁻¹' X)
theorem Graph.completeBipartiteGraphOn_sdiff_left {α : Type u_1} {β : Type u_2} (A X : Set α) (B : Set β) :
theorem Graph.completeBipartiteGraphOn_sdiff_right {α : Type u_1} {β : Type u_2} (A : Set α) (B X : Set β) :
theorem Graph.completeBipartiteGraphOn_mono_left {α : Type u_1} {A A' : Set α} (hA' : A' ⊆ A) (B : Set α) :
theorem Graph.completeBipartiteGraphOn_mono_right {α : Type u_1} {β : Type u_2} {B B' : Set β} (A : Set α) (hB' : B' ⊆ B) :