Documentation

Matroid.Graph.Constructions.Basic

def Graph.copy {α : Type u_1} {β : Type u_2} [CompleteLattice α] {X : Set α} {P : Partition α} {l : βααProp} (G : Graph α β) {E : Set β} (hP : G.vertexPartition = P) (hV : G.vertexSet = X) (hE : G.edgeSet = E) (h_isLink : ∀ (e : β) (x y : α), G.IsLink e x y l e x y) :
Graph α β

Copy creates an identical graph with different definitions for its vertex set and edge set. This is mainly used to create graphs with improved definitional properties.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    @[simp]
    theorem Graph.copy_vertexSet {α : Type u_1} {β : Type u_2} [CompleteLattice α] {X : Set α} {P : Partition α} {l : βααProp} (G : Graph α β) {E : Set β} (hP : G.vertexPartition = P) (hV : G.vertexSet = X) (hE : G.edgeSet = E) (h_isLink : ∀ (e : β) (x y : α), G.IsLink e x y l e x y) :
    (G.copy hP hV hE h_isLink).vertexSet = X
    @[simp]
    theorem Graph.copy_edgeSet {α : Type u_1} {β : Type u_2} [CompleteLattice α] {X : Set α} {P : Partition α} {l : βααProp} (G : Graph α β) {E : Set β} (hP : G.vertexPartition = P) (hV : G.vertexSet = X) (hE : G.edgeSet = E) (h_isLink : ∀ (e : β) (x y : α), G.IsLink e x y l e x y) :
    (G.copy hP hV hE h_isLink).edgeSet = E
    @[simp]
    theorem Graph.copy_vertexPartition {α : Type u_1} {β : Type u_2} [CompleteLattice α] {X : Set α} {P : Partition α} {l : βααProp} (G : Graph α β) {E : Set β} (hP : G.vertexPartition = P) (hV : G.vertexSet = X) (hE : G.edgeSet = E) (h_isLink : ∀ (e : β) (x y : α), G.IsLink e x y l e x y) :
    (G.copy hP hV hE h_isLink).vertexPartition = P
    theorem Graph.copy_eq_self {α : Type u_1} {β : Type u_2} [CompleteLattice α] {X : Set α} {P : Partition α} {l : βααProp} (G : Graph α β) {E : Set β} (hP : G.vertexPartition = P) (hV : G.vertexSet = X) (hE : G.edgeSet = E) (h_isLink : ∀ (e : β) (x y : α), G.IsLink e x y l e x y) :
    G.copy hP hV hE h_isLink = G
    def Graph.mk_of_symm {α : Type u_1} {β : Type u_2} [CompleteLattice α] (P : Partition α) (l : βααProp) [∀ (e : β), IsSymm α (l e)] :
    Graph α β
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      @[simp]
      theorem Graph.mk_of_symm_vertexPartition {α : Type u_1} {β : Type u_2} [CompleteLattice α] (P : Partition α) (l : βααProp) [∀ (e : β), IsSymm α (l e)] :
      @[simp]
      theorem Graph.mk_of_symm_edgeSet {α : Type u_1} {β : Type u_2} [CompleteLattice α] (P : Partition α) (l : βααProp) [∀ (e : β), IsSymm α (l e)] :
      (mk_of_symm P l).edgeSet = {e : β | ∃ (x : α) (y : α), (fun (e : β) (x y : α) => have l' := Relation.restrict (l e) P.parts; (∀ ⦃a b c d : α⦄, l' a bl' c da = c a = d) l' x y) e x y}
      @[simp]
      theorem Graph.mk_of_symm_vertexSet {α : Type u_1} {β : Type u_2} [CompleteLattice α] (P : Partition α) (l : βααProp) [∀ (e : β), IsSymm α (l e)] :
      theorem Graph.IsLink.of_mk_of_symm {α : Type u_1} {β : Type u_2} [CompleteLattice α] {x y : α} {e : β} {P : Partition α} {l : βααProp} [∀ (e : β), IsSymm α (l e)] (h : (mk_of_symm P l).IsLink e x y) :
      l e x y
      theorem Graph.mk_of_symm_eq_self {α : Type u_1} {β : Type u_2} [CompleteLattice α] (G : Graph α β) :
      def Graph.mk' {α : Type u_1} {β : Type u_2} [CompleteLattice α] (V : Partition α) (l : βααProp) :
      Graph α β
      Equations
      Instances For
        @[simp]
        theorem Graph.mk'_vertexPartition {α : Type u_1} {β : Type u_2} [CompleteLattice α] (V : Partition α) (l : βααProp) :
        @[simp]
        theorem Graph.mk'_vertexSet {α : Type u_1} {β : Type u_2} [CompleteLattice α] (V : Partition α) (l : βααProp) :
        @[simp]
        theorem Graph.mk'_edgeSet {α : Type u_1} {β : Type u_2} [CompleteLattice α] (V : Partition α) (l : βααProp) :
        (mk' V l).edgeSet = {e : β | (∀ ⦃a b c d : α⦄, Relation.restrict (Relation.SymmClosure (l e)) V.parts a bRelation.restrict (Relation.SymmClosure (l e)) V.parts c da = c a = d) ∃ (x : α) (x_1 : α), Relation.restrict (Relation.SymmClosure (l e)) V.parts x x_1}
        def Graph.noEdge {α : Type u_1} [CompleteLattice α] (P : Partition α) (β : Type u_3) :
        Graph α β

        The graph with vertex set V and no edges

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          @[simp]
          theorem Graph.noEdge_vertexSet {α : Type u_1} [CompleteLattice α] (P : Partition α) (β : Type u_3) :
          @[simp]
          theorem Graph.noEdge_edgeSet {α : Type u_1} [CompleteLattice α] (P : Partition α) (β : Type u_3) :
          @[simp]
          theorem Graph.noEdge_vertexPartition {α : Type u_1} [CompleteLattice α] (P : Partition α) (β : Type u_3) :
          @[simp]
          theorem Graph.noEdge_le_iff {α : Type u_1} {β : Type u_2} [CompleteLattice α] {G : Graph α β} {P : Partition α} :
          @[simp]
          theorem Graph.noEdge_not_inc {α : Type u_1} {β : Type u_2} [CompleteLattice α] {x : α} {e : β} {P : Partition α} :
          ¬(Graph.noEdge P β).Inc e x
          @[simp]
          theorem Graph.noEdge_not_isLoopAt {α : Type u_1} {β : Type u_2} [CompleteLattice α] {x : α} {e : β} {P : Partition α} :
          @[simp]
          theorem Graph.noEdge_not_isNonloopAt {α : Type u_1} {β : Type u_2} [CompleteLattice α] {x : α} {e : β} {P : Partition α} :
          @[simp]
          theorem Graph.noEdge_not_adj {α : Type u_1} {β : Type u_2} [CompleteLattice α] {x y : α} {P : Partition α} :
          ¬(Graph.noEdge P β).Adj x y
          theorem Graph.edgeSet_eq_empty_iff {α : Type u_1} {β : Type u_2} [CompleteLattice α] {G : Graph α β} :
          @[simp]
          theorem Graph.le_noEdge_iff {α : Type u_1} {β : Type u_2} [CompleteLattice α] {G : Graph α β} {P : Partition α} :
          instance Graph.instOrderBot {α : Type u_1} {β : Type u_2} [CompleteLattice α] :
          OrderBot (Graph α β)
          Equations
          @[simp]
          theorem Graph.bot_vertexSet {α : Type u_1} {β : Type u_2} [CompleteLattice α] :
          @[simp]
          theorem Graph.bot_edgeSet {α : Type u_1} {β : Type u_2} [CompleteLattice α] :
          @[simp]
          theorem Graph.bot_isClosedSubgraph {α : Type u_1} {β : Type u_2} [CompleteLattice α] (G : Graph α β) :
          @[simp]
          theorem Graph.bot_isInducedSubgraph {α : Type u_1} {β : Type u_2} [CompleteLattice α] (G : Graph α β) :
          @[simp]
          theorem Graph.noEdge_empty {α : Type u_1} {β : Type u_2} [CompleteLattice α] :
          @[simp]
          theorem Graph.vertexSet_eq_empty_iff {α : Type u_1} {β : Type u_2} [CompleteLattice α] {G : Graph α β} :
          @[simp]
          theorem Graph.vertexSet_nonempty_iff {α : Type u_1} {β : Type u_2} [CompleteLattice α] {G : Graph α β} :

          Complete graphs #

          The complete graph on n vertices.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            @[simp]
            theorem Graph.CompleteGraph_edgeSet (n : ℕ+) :
            (CompleteGraph n).edgeSet = {s : Sym2 | (∀ is, i < n) ¬s.IsDiag}
            @[simp]
            theorem Graph.CompleteGraph_adj (n : ℕ+) (x y : ) (hx : x < n) (hy : y < n) :