Defining interpolants (Section 9) #
Note that we can skip much of Subsection 8.2 because we worked already with split tableaux anyway.
NOTE: We may need extra work for uniformity though.
Interpolants for PdlRules applied to free nodes #
The only rule treated here is (L+), i.e. loadL and loadR.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Cluster tools #
Loaded nodes "below" the given one, also allowing ♥ steps.
Equations
- loadedBelow = sorry
Instances For
Loaded nodes "above" the given one, also allowing backwards ♥ steps.
Equations
- loadedAbove = sorry
Instances For
List of all other nodes in the same cluster, essentially a constructive version of clusterOf.
Computed as the intersection of loadedAbove and loadedBelow.
Equations
- clusterListOf p = loadedBelow p ∩ loadedBelow p
Instances For
Equations
- instDecidableIsExitIn = sorry
Quasi-Tableaux #
Equations
Instances For
Quasi-Tableau from Def 9.8. Here we "start the construction", then use Qchildren.
No names for the nodes as we use an inductive type, so we just write X for Δₓ
Equations
Instances For
Interpolants for proper clusters #
Starting at root, return the list of earliest free (i.e. unloaded nodes). These are the "exits" from a loaded cluster. A repeat has no exit (because to ensure termination we do not rewind here.) Free nodes are their own (only) exit.
Equations
Instances For
Equations
- PathIn.children = sorry
Instances For
Specific version of clusterInterpolation where loaded formula is on the right side.
This may need additional hypotheses to say that we start at the root of the cluster.
Equations
- clusterInterpolation_right tab exitIPs = sorry
Instances For
Helper lemmas for mem_existsOf_of_flip (dependent-type / HEq plumbing) #
Equations
- One or more equations did not get rendered due to their size.
Instances For
When X is an interpolant for X, then ~θ is an interpolant for X.flip.
Cluster Interpolation #
Given a tableau where the root is loaded, and exit interpolants, interpolate the root.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Ideally this would be a computable def and not an existential.
But currently PathIn.strong_upwards_inductionOn only works with Prop motive.