Strongly disjointness #
structure
Graph.StronglyDisjoint
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
(G H : Graph α β)
:
Two graphs are strongly disjoint if their edge sets and vertex sets are disjoint.
This is a stronger notion of disjointness than Disjoint
,
see disjoint_iff_vertexSet_disjoint
.
Instances For
theorem
Graph.stronglyDisjoint_iff
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
(G H : Graph α β)
:
theorem
Graph.StronglyDisjoint.symm
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{G H : Graph α β}
(h : G.StronglyDisjoint H)
:
H.StronglyDisjoint G
theorem
Graph.StronglyDisjoint_iff_of_le_le
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{G H₁ H₂ : Graph α β}
(h₁ : H₁ ≤ G)
(h₂ : H₂ ≤ G)
:
theorem
Graph.StronglyDisjoint.disjoint
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{G H : Graph α β}
(h : G.StronglyDisjoint H)
:
Disjoint G H
Compatibility #
theorem
Graph.compatibleAt_def
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{e : β}
{G H : Graph α β}
:
theorem
Graph.CompatibleAt.symm
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{e : β}
{G H : Graph α β}
(h : CompatibleAt e G H)
:
CompatibleAt e H G
theorem
Graph.CompatibleAt.comm
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{e : β}
{G H : Graph α β}
:
theorem
Graph.compatibleAt_self
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{e : β}
{G : Graph α β}
:
CompatibleAt e G G
instance
Graph.instIsReflCompatibleAt
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{e : β}
:
IsRefl (Graph α β) (CompatibleAt e)
instance
Graph.instIsSymmCompatibleAt
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{e : β}
:
IsSymm (Graph α β) (CompatibleAt e)
theorem
Graph.CompatibleAt.isLink_iff
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{x y : α}
{e : β}
{G H : Graph α β}
(h : CompatibleAt e G H)
(heG : e ∈ G.edgeSet)
(heH : e ∈ H.edgeSet)
:
theorem
Graph.compatibleAt_of_notMem_left
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{e : β}
{G H : Graph α β}
(he : e ∉ G.edgeSet)
:
CompatibleAt e G H
theorem
Graph.compatibleAt_of_notMem_right
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{e : β}
{G H : Graph α β}
(he : e ∉ H.edgeSet)
:
CompatibleAt e G H
theorem
Graph.IsLink.compatibleAt_iff_left
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{x y : α}
{e : β}
{G H : Graph α β}
(hIsLink : G.IsLink e x y)
:
theorem
Graph.IsLink.compatibleAt_iff_right
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{x y : α}
{e : β}
{G H : Graph α β}
(h : H.IsLink e x y)
:
theorem
Graph.IsLink.of_compatibleAt
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{x y : α}
{e : β}
{G H : Graph α β}
(he : G.IsLink e x y)
(h : CompatibleAt e G H)
(heH : e ∈ H.edgeSet)
:
H.IsLink e x y
theorem
Graph.CompatibleAt.mono_left
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{e : β}
{G H G₀ : Graph α β}
(h : CompatibleAt e G H)
(hle : G₀ ≤ G)
:
CompatibleAt e G₀ H
theorem
Graph.CompatibleAt.mono_right
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{e : β}
{G H H₀ : Graph α β}
(h : CompatibleAt e G H)
(hH₀ : H₀ ≤ H)
:
CompatibleAt e G H₀
theorem
Graph.CompatibleAt.mono
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{e : β}
{G H G₀ H₀ : Graph α β}
(h : CompatibleAt e G H)
(hG : G₀ ≤ G)
(hH : H₀ ≤ H)
:
CompatibleAt e G₀ H₀
theorem
Graph.CompatibleAt.induce_left
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{e : β}
{G H : Graph α β}
(h : CompatibleAt e G H)
(X : Set α)
:
CompatibleAt e G[X] H
theorem
Graph.CompatibleAt.induce_right
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{e : β}
{G H : Graph α β}
(h : CompatibleAt e G H)
(X : Set α)
:
CompatibleAt e G H[X]
theorem
Graph.CompatibleAt.induce
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{e : β}
{G H : Graph α β}
(h : CompatibleAt e G H)
(X : Set α)
:
CompatibleAt e G[X] H[X]
Two graphs are Compatible
if the edges in their intersection agree on their ends
Instances For
theorem
Graph.Compatible.compatibleAt
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{G H : Graph α β}
(h : G.Compatible H)
(e : β)
:
CompatibleAt e G H
theorem
Graph.Compatible.isLink_eq
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{e : β}
{G H : Graph α β}
(h : G.Compatible H)
(heG : e ∈ G.edgeSet)
(heH : e ∈ H.edgeSet)
:
theorem
Graph.Compatible.symm
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{G H : Graph α β}
(h : G.Compatible H)
:
H.Compatible G
instance
Graph.instIsSymmCompatible
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
:
IsSymm (Graph α β) Compatible
@[simp]
theorem
Graph.compatible_of_le_le
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{G H₁ H₂ : Graph α β}
(h₁ : H₁ ≤ G)
(h₂ : H₂ ≤ G)
:
H₁.Compatible H₂
Two subgraphs of the same graph are compatible.
theorem
Graph.compatible_of_forall_map_le
{α : Type u_1}
{β : Type u_2}
{ι : Type u_3}
[CompleteLattice α]
{G : Graph α β}
{Gι : ι → Graph α β}
(h : ∀ (i : ι), Gι i ≤ G)
:
theorem
Graph.compatible_of_forall_mem_le
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{G : Graph α β}
{s : Set (Graph α β)}
(h : ∀ ⦃H : Graph α β⦄, H ∈ s → H ≤ G)
:
theorem
Graph.compatible_of_le
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{G H : Graph α β}
(h : H ≤ G)
:
H.Compatible G
theorem
Graph.IsLink.of_compatible
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{x y : α}
{e : β}
{G H : Graph α β}
(h : G.IsLink e x y)
(hGH : G.Compatible H)
(heH : e ∈ H.edgeSet)
:
H.IsLink e x y
theorem
Graph.Inc.of_compatible
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{x : α}
{e : β}
{G H : Graph α β}
(h : G.Inc e x)
(hGH : G.Compatible H)
(heH : e ∈ H.edgeSet)
:
H.Inc e x
theorem
Graph.IsLoopAt.of_compatible
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{x : α}
{e : β}
{G H : Graph α β}
(h : G.IsLoopAt e x)
(hGH : G.Compatible H)
(heH : e ∈ H.edgeSet)
:
H.IsLoopAt e x
theorem
Graph.IsNonloopAt.of_compatible
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{x : α}
{e : β}
{G H : Graph α β}
(h : G.IsNonloopAt e x)
(hGH : G.Compatible H)
(heH : e ∈ H.edgeSet)
:
H.IsNonloopAt e x
@[simp]
theorem
Graph.compatible_self
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
(G : Graph α β)
:
G.Compatible G
instance
Graph.instIsReflCompatible
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
:
IsRefl (Graph α β) Compatible
theorem
Graph.Compatible.of_disjoint_edgeSet
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{G H : Graph α β}
(h : Disjoint G.edgeSet H.edgeSet)
:
G.Compatible H
@[simp]
theorem
Graph.compatible_edgeDelete_right
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{G H : Graph α β}
:
G.Compatible (H.edgeDelete G.edgeSet)
theorem
Graph.Compatible.pair
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{G H : Graph α β}
(h : G.Compatible H)
:
@[simp]
theorem
Graph.pairwise_compatible_edgeDelete
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{G H : Graph α β}
:
Used to simplify the definition of the union of a pair.
theorem
Graph.Compatible.mono_left
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{G H G₀ : Graph α β}
(h : G.Compatible H)
(hG₀ : G₀ ≤ G)
:
G₀.Compatible H
theorem
Graph.Compatible.mono_right
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{G H H₀ : Graph α β}
(h : G.Compatible H)
(hH₀ : H₀ ≤ H)
:
G.Compatible H₀
theorem
Graph.Compatible.mono
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{G H G₀ H₀ : Graph α β}
(h : G.Compatible H)
(hG : G₀ ≤ G)
(hH : H₀ ≤ H)
:
G₀.Compatible H₀
theorem
Graph.Compatible.induce_left
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{G H : Graph α β}
(h : G.Compatible H)
(X : Set α)
:
G[X].Compatible H
theorem
Graph.Compatible.induce_right
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{G H : Graph α β}
(h : G.Compatible H)
(X : Set α)
:
G.Compatible H[X]
theorem
Graph.Compatible.induce
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{G H : Graph α β}
{X : Set α}
(h : G.Compatible H)
:
G[X].Compatible H[X]
theorem
Graph.Compatible.vertexDelete
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{G H : Graph α β}
{X : Set α}
(h : G.Compatible H)
:
(G - X).Compatible H - X
theorem
Graph.Compatible.edgeDelete
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{G H : Graph α β}
{F : Set β}
(h : G.Compatible H)
:
(G.edgeDelete F).Compatible (H.edgeDelete F)
theorem
Graph.Compatible.edgeRestrict
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{G H : Graph α β}
{F : Set β}
(h : G.Compatible H)
:
(G.edgeRestrict F).Compatible (H.edgeRestrict F)
@[simp]
theorem
Graph.Compatible.induce_induce
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{G : Graph α β}
{X Y : Set α}
:
G[X].Compatible G[Y]
theorem
Graph.Compatible.stronglyDisjoint_of_vertexSet_disjoint
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{G H : Graph α β}
(h : G.Compatible H)
(hV : Disjoint G.vertexSet H.vertexSet)
:
G.StronglyDisjoint H
theorem
Graph.Compatible.disjoint_iff_vertexSet_disjoint
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{G H : Graph α β}
(h : G.Compatible H)
:
theorem
Graph.StronglyDisjoint.compatible
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{G H : Graph α β}
(h : G.StronglyDisjoint H)
:
G.Compatible H
theorem
Graph.Compatible.edgeSet_disjoint_of_vertexSet_disjoint
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{G H : Graph α β}
(h : G.Compatible H)
(hV : Disjoint G.vertexSet H.vertexSet)
:
theorem
Graph.stronglyDisjoint_iff_vertexSet_disjoint_compatible
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{G H : Graph α β}
:
@[deprecated "Pairwise.const_of_refl" (since := "2025-07-30")]
theorem
Graph.pairwise_compatible_const
{α : Type u_1}
{β : Type u_2}
{ι : Type u_3}
[CompleteLattice α]
(G : Graph α β)
:
Pairwise (Function.onFun Compatible fun (x : ι) => G)
@[deprecated "Pairwise.onFun_comp_of_refl" (since := "2025-07-30")]
theorem
Graph.pairwise_compatible_comp
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{ι : Type u_5}
{ι' : Type u_6}
{G : ι → Graph α β}
(hG : Pairwise (Function.onFun Compatible G))
(f : ι' → ι)
:
Pairwise (Function.onFun Compatible (G ∘ f))
@[simp]
useful with Pairwise
and Set.Pairwise
.
Equations
Instances For
@[simp]
theorem
Graph.dup_agree_rfl
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{G : Graph α β}
:
G.Dup_agree G
theorem
Graph.Dup_agree.symm
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{G H : Graph α β}
(h : G.Dup_agree H)
:
H.Dup_agree G
@[simp]
@[deprecated "Pairwise.onFun_comp_of_refl" (since := "2025-07-30")]
theorem
Graph.pairwise_dup_agree_comp
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{ι : Type u_5}
{ι' : Type u_6}
{G : ι → Graph α β}
(hG : Pairwise (Function.onFun Dup_agree G))
(f : ι' → ι)
:
Pairwise (Function.onFun Dup_agree (G ∘ f))
theorem
Graph.Dup_agree.mono_left
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{G H G₀ : Graph α β}
(h : G.Dup_agree H)
(hG₀ : G₀ ≤ G)
:
G₀.Dup_agree H
theorem
Graph.Dup_agree.mono_right
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{G H H₀ : Graph α β}
(h : G.Dup_agree H)
(hH₀ : H₀ ≤ H)
:
G.Dup_agree H₀
theorem
Graph.Dup_agree.mono
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{G H G₀ H₀ : Graph α β}
(h : G.Dup_agree H)
(hG : G₀ ≤ G)
(hH : H₀ ≤ H)
:
G₀.Dup_agree H₀
theorem
Graph.dup_agree_of_le_le
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{G H₁ H₂ : Graph α β}
(h₁ : H₁ ≤ G)
(h₂ : H₂ ≤ G)
:
H₁.Dup_agree H₂
theorem
Graph.dup_agree_of_forall_map_le
{α : Type u_1}
{β : Type u_2}
{ι : Type u_3}
[CompleteLattice α]
{G : Graph α β}
{Gι : ι → Graph α β}
(h : ∀ (i : ι), Gι i ≤ G)
:
theorem
Graph.dup_agree_of_le
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{G H : Graph α β}
(h : H ≤ G)
:
H.Dup_agree G
theorem
Graph.Dup_agree.pair_edgeDelete
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{G H : Graph α β}
(h : G.Dup_agree H)
:
Used to simplify the definition of the union of a pair.
theorem
Graph.Dup_agree.edgeDelete
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{G H : Graph α β}
(F : Set β)
(h : G.Dup_agree H)
:
(G.edgeDelete F).Dup_agree (H.edgeDelete F)
theorem
Graph.Dup_agree.edgeRestrict
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{G H : Graph α β}
(F : Set β)
(h : G.Dup_agree H)
:
(G.edgeRestrict F).Dup_agree (H.edgeRestrict F)
theorem
Graph.pairwise_dup_agree_eq_pairwise_image
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{S : Set (Graph α β)}
:
@[simp]
theorem
Graph.pairwise_dup_agree_edgeDelete
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{G H : Graph α β}
(hG' : G.Dup_agree H)
:
theorem
Graph.Pairwise.induce_dup_agree
{α : Type u_1}
{β : Type u_2}
{ι : Type u_3}
[CompleteLattice α]
{G : ι → Graph α β}
(h : Pairwise (Function.onFun Dup_agree G))
(P : Set α)
:
Pairwise (Function.onFun Dup_agree fun (i : ι) => (G i)[P])
theorem
Graph.Pairwise.vertexDelete_dup_agree
{α : Type u_1}
{β : Type u_2}
{ι : Type u_3}
[CompleteLattice α]
{G : ι → Graph α β}
(h : Pairwise (Function.onFun Dup_agree G))
(X : Set α)
:
Pairwise (Function.onFun Dup_agree fun (i : ι) => (G i) - X)
theorem
Graph.Pairwise.edgeDelete_dup_agree
{α : Type u_1}
{β : Type u_2}
{ι : Type u_3}
[CompleteLattice α]
{G : ι → Graph α β}
(h : Pairwise (Function.onFun Dup_agree G))
(F : Set β)
:
Pairwise (Function.onFun Dup_agree fun (i : ι) => (G i).edgeDelete F)
theorem
Graph.Pairwise.edgeRestrict_dup_agree
{α : Type u_1}
{β : Type u_2}
{ι : Type u_3}
[CompleteLattice α]
{G : ι → Graph α β}
(h : Pairwise (Function.onFun Dup_agree G))
(F : Set β)
:
Pairwise (Function.onFun Dup_agree fun (i : ι) => (G i).edgeRestrict F)
theorem
Graph.Set.Pairwise.edgeDelete_dup_agree
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{S : Set (Graph α β)}
(h : S.Pairwise Dup_agree)
(F : Set β)
:
((fun (x : Graph α β) => x.edgeDelete F) '' S).Pairwise Dup_agree
theorem
Graph.Set.Pairwise.edgeRestrict_dup_agree
{α : Type u_1}
{β : Type u_2}
[CompleteLattice α]
{S : Set (Graph α β)}
(h : S.Pairwise Dup_agree)
(F : Set β)
:
((fun (x : Graph α β) => x.edgeRestrict F) '' S).Pairwise Dup_agree