G ↾ F is the subgraph of G restricted to the edges in F. Vertices are not changed.
Equations
- Graph.«term_↾_» = Lean.ParserDescr.trailingNode `Graph.«term_↾_» 65 65 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ↾ ") (Lean.ParserDescr.cat `term 66))
Instances For
G \ F is the subgraph of G with the edges in F deleted. Vertices are not changed.
Equations
- Graph.«term_\_» = Lean.ParserDescr.trailingNode `Graph.«term_\_» 75 75 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " \ ") (Lean.ParserDescr.cat `term 76))
Instances For
G[X] is the subgraph of G induced by the set X of vertices.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Graph.«term_-_» = Lean.ParserDescr.trailingNode `Graph.«term_-_» 51 100 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " - ") (Lean.ParserDescr.cat `term 100))
Instances For
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
Used to simplify the definition of the union of a pair.
The intersection of a nonempty set of pairwise compatible graphs.
Equations
- Graph.sInter s hne = Graph.iInter fun (G : ↑s) => ↑G
Instances For
The intersection of two graphs G and H. There seems to be no good way to
defined junk values so that this has the right edge and vertex set, so the
edges are precisely those on which G and H agree, and the edge set is a subset
of E(G) ∩ E(H),
with equality if G and H are compatible.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Graph.instInter_matroid = { inter := Graph.inter }
Equations
- Graph.instSemilatticeInf_matroid = { toPartialOrder := Graph.instPartialOrder, inf := Graph.inter, inf_le_left := ⋯, inf_le_right := ⋯, le_inf := ⋯ }
The union of an indexed family of pairwise compatible graphs.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The union of a set of pairwise compatible graphs.
Equations
- Graph.sUnion s hs = Graph.iUnion (fun (G : ↑s) => ↑G) ⋯
Instances For
The union of two graphs G and H. If there is an edge e whose G-ends differ from
its H-ends, then G is favoured, so this is not commutative in general.
If G and H are Compatible, this doesn't occur.
We define this in terms of sUnion and Graph.copy so the vertex and edge sets are
definitionally unions.
Equations
- G.union H = (Graph.sUnion {G, H.deleteEdges G.edgeSet} ⋯).copy ⋯ ⋯ ⋯
Instances For
Equations
- Graph.instUnion_matroid = { union := Graph.union }
Add a new edge e between vertices a and b. If e is already in the graph,
its ends change to a and b.
Equations
- G.addEdge e a b = Graph.singleEdge a b e ∪ G