@[simp]
theorem
Graph.Inc.isNonloopAt
{α : Type u_1}
{β : Type u_2}
{x : α}
{e : β}
{G : Graph α β}
[G.Loopless]
(h : G.Inc e x)
:
G.IsNonloopAt e x
instance
Graph.instLooplessDeleteVerts
{α : Type u_1}
{β : Type u_2}
{G : Graph α β}
[G.Loopless]
(X : Set α)
:
(G.deleteVerts X).Loopless
instance
Graph.instLooplessDeleteEdges
{α : Type u_1}
{β : Type u_2}
{G : Graph α β}
[G.Loopless]
(F : Set β)
:
(G.deleteEdges F).Loopless
@[simp]
theorem
Graph.le_loopRemove
{α : Type u_1}
{β : Type u_2}
{G H : Graph α β}
[H.Loopless]
(h : H ≤ G)
:
Proof that loopRemove is the maximally loopless subgraph of G.
@[simp]
@[simp]
theorem
Graph.IsPath.loopRemove
{α : Type u_1}
{β : Type u_2}
{G : Graph α β}
{P : WList α β}
(hP : G.IsPath P)
:
G.loopRemove.IsPath P
theorem
Graph.loopRemove_isSpanningSubgraph_deleteEdges_isLoopAt
{α : Type u_1}
{β : Type u_2}
(G : Graph α β)
(x : α)
:
theorem
Graph.loopRemove_le_deleteEdges_isLoopAt
{α : Type u_1}
{β : Type u_2}
(G : Graph α β)
(x : α)
:
theorem
Graph.IsLoopAt.loopRemove_isSpanningSubgraph_deleteEdges
{α : Type u_1}
{β : Type u_2}
{x : α}
{e : β}
{G : Graph α β}
(h : G.IsLoopAt e x)
:
theorem
Graph.IsLoopAt.loopRemove_le_deleteEdges
{α : Type u_1}
{β : Type u_2}
{x : α}
{e : β}
{G : Graph α β}
(h : G.IsLoopAt e x)
:
instance
Graph.instSimpleDeleteEdges
{α : Type u_1}
{β : Type u_2}
{F : Set β}
{G : Graph α β}
[G.Simple]
:
(G.deleteEdges F).Simple
instance
Graph.instSimpleDeleteVerts
{α : Type u_1}
{β : Type u_2}
{X : Set α}
{G : Graph α β}
[G.Simple]
:
(G.deleteVerts X).Simple
theorem
Graph.singleEdge_simple
{α : Type u_1}
{β : Type u_2}
{x y : α}
(hne : x ≠ y)
(e : β)
:
(Graph.singleEdge x y e).Simple
theorem
Graph.adjIncFun_injective
{α : Type u_1}
{β : Type u_2}
(G : Graph α β)
(x : α)
:
Function.Injective (G.adjIncFun x)
noncomputable def
Graph.incAdjEquiv
{α : Type u_1}
{β : Type u_2}
(G : Graph α β)
[G.Simple]
(x : α)
:
In a simple graph, the bijection between edges at x and neighbours of x.