Graphs for the order tactic #
This module defines the Graph structure and basic operations on it. The order tactic uses
≤-graphs, where the vertices represent atoms, and an edge (x, y) exists if x ≤ y.
@[reducible, inline]
If g is a Graph, then for a vertex with index v, g[v] is an array containing
the edges starting from this vertex.
Instances For
Constructs a directed Graph using ≤ facts. It ignores all other facts.
Equations
- One or more equations did not get rendered due to their size.
Instances For
State for the DFS algorithm.
- visited : Std.HashSet ℕ
visited.contains vif and only if the algorithm has already entered vertexv.
Instances For
partial def
Mathlib.Tactic.Order.Graph.buildTransitiveLeProofDFS
(g : Graph)
(v t : ℕ)
(tExpr : Lean.Expr)
:
DFS algorithm for constructing a proof that x ≤ y by finding a path from x to y in the
≤-graph.
Given a ≤-graph g, finds a proof of s ≤ t using transitivity.