Documentation

Mathlib.Combinatorics.SimpleGraph.Hasse

The Hasse diagram as a graph #

This file defines the Hasse diagram of an order (graph of CovBy, the covering relation) and the path graph on n vertices.

Main declarations #

def SimpleGraph.hasse (α : Type u_1) [Preorder α] :

The Hasse diagram of an order as a simple graph. The graph of the covering relation.

Instances For
    @[simp]
    theorem SimpleGraph.hasse_adj {α : Type u_1} [Preorder α] {a b : α} :
    (hasse α).Adj a b ↔ a ⋖ b ∨ b ⋖ a

    αᵒᵈ and α have the same Hasse diagram.

    Instances For

      The Hasse diagram of a preorder is triangle-free. This is the graph-theoretic formulation of not_covBy_of_lt_of_lt: if a ⋖ b and b ⋖ c then ¬a ⋖ c.

      @[simp]
      theorem SimpleGraph.hasse_prod (α : Type u_1) (β : Type u_2) [PartialOrder α] [PartialOrder β] :
      hasse (α × β) = hasse α □ hasse β
      theorem SimpleGraph.Walk.mem_support_hasse_of_ge_of_le (α : Type u_1) [LinearOrder α] {u v : α} (w : (hasse α).Walk u v) {x : α} (hu : u ≤ x) (hv : x ≤ v) :

      A discrete form of the intermediate value theorem – a walk in a linear graph visits all of the vertices between its endpoints.

      theorem SimpleGraph.Walk.mem_darts_hasse_of_ge_of_le_of_le (α : Type u_1) [LinearOrder α] {u v : α} (w : (hasse α).Walk u v) {d : (hasse α).Dart} (hu : u ≤ d.toProd.1) (hd : d.toProd.1 ≤ d.toProd.2) (hv : d.toProd.2 ≤ v) :

      A discrete form of the intermediate value theorem – a walk in a linear graph visits all of the darts between its endpoints, oriented from the walk's start to its end.

      @[deprecated SimpleGraph.preconnected_hasse_of_succOrder (since := "2026-10-01")]

      Alias of SimpleGraph.preconnected_hasse_of_succOrder.

      @[deprecated SimpleGraph.preconnected_hasse_of_predOrder (since := "2026-10-01")]

      Alias of SimpleGraph.preconnected_hasse_of_predOrder.

      The path graph on n vertices.

      Instances For
        theorem SimpleGraph.pathGraph_adj {n : ℕ} {u v : Fin n} :
        (pathGraph n).Adj u v ↔ ↑u + 1 = ↑v ∨ ↑v + 1 = ↑u
        @[deprecated SimpleGraph.preconnected_pathGraph (since := "2026-10-01")]

        Alias of SimpleGraph.preconnected_pathGraph.

        @[deprecated SimpleGraph.connected_pathGraph_add_one (since := "2026-10-01")]

        Alias of SimpleGraph.connected_pathGraph_add_one.

        def SimpleGraph.Walk.pathGraphHomToSubgraph {V : Type u_3} {G : SimpleGraph V} {u v : V} (w : G.Walk u v) :

        The subgraph of a walk contains the path graph with the same number of vertices

        Instances For
          def SimpleGraph.Walk.pathGraphHom {V : Type u_3} {G : SimpleGraph V} {u v : V} (w : G.Walk u v) :

          A walk induces a homomorphism from a path graph to the graph

          Instances For
            def SimpleGraph.Walk.IsPath.pathGraphIsoToSubgraph {V : Type u_3} [DecidableEq V] {G : SimpleGraph V} {u v : V} {w : G.Walk u v} (hw : w.IsPath) :

            The subgraph of a path is isomorphic to the path graph with the same number of vertices

            Instances For
              def SimpleGraph.Walk.IsPath.pathGraphCopy {V : Type u_3} [DecidableEq V] {G : SimpleGraph V} {u v : V} {w : G.Walk u v} (hw : w.IsPath) :

              A path induces an injective homomorphism from a path graph to the graph

              Instances For
                theorem SimpleGraph.Walk.IsPath.isContained_pathGraph {V : Type u_3} {G : SimpleGraph V} {u v : V} {w : G.Walk u v} (hw : w.IsPath) :