Generate a tikz diagram of a hierarchy, for use in reverse mathematics
A model is a triple
(name, low, high), where
name is a string, and
high are frozen sets of formulae.
A proof is a tuple
(premise1, ..., premisen, conclusion).
A separation is a model, but is used only in the hierarchy context.
An edge is a proof, but is used only in the hierarchy context.
A path tree from
w gives the edges that connect
T(V, v) = () T(V, w) = ((t1, ..., tn, w), T(V, t1), ..., T(V, tn))
v is in
The downward closure for a vertex set
V is a dictionary mapping each vertex
w reachable from
V to the path tree from
From a separation
(name, low, high), a vertex set
V, and an edge set
(name, closed, comphigh) satisfies that
- If a member of
lowis in the downward closure of
wis in the downward closure of
A separating triple for
w is a triple
(sep_name, to_low, from_high)
sep_name is the name of a separation
(sep_name, low, high),
is a pathtree from
V to some element of
from_high is a pathtree