Interpolants for Partitions (big part of Section 7) #
Equations
- Olf.toForms none = []
- Olf.toForms (some (Sum.inl (~'lf))) = [~lf.unload]
- Olf.toForms (some (Sum.inr (~'lf))) = [~lf.unload]
Instances For
Equations
- isPartInterpolant X θ = (θ.voc ⊆ jvoc X ∧ ¬HasSat.satisfiable ((~θ) :: X.left) ∧ ¬HasSat.satisfiable (θ :: X.right))
Instances For
Equations
Instances For
def
localInterpolantStep
{C : List Sequent}
(L R : List Formula)
(o : Olf)
(ruleA : LocalRuleApp (L, R, o) C)
(subθs : (c : Sequent) → c ∈ C → PartInterpolant c)
:
PartInterpolant (L, R, o)
Maehara's method for local rule applications.
This is itpLeaves
for singleton clusters in the notes, but not only.
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
exitsOf
{Hist : History}
{L R : List Formula}
{nlf : NegLoadFormula ⊕ NegLoadFormula}
(tab : Tableau Hist (L, R, some nlf))
:
The exits of a cluster: (C \ C+).
Equations
- exitsOf (Tableau.rep lpr) = []
- exitsOf (Tableau.loc lt next) = sorry
- exitsOf (Tableau.pdl r next) = sorry
Instances For
Equations
- PathIn.children = sorry
Instances For
def
clusterInterpolation_right
{Hist : History}
{L R : List Formula}
{nlf : NegLoadFormula}
(tab : Tableau Hist (L, R, some (Sum.inr nlf)))
(exitIPs : (e : PathIn tab) → e ∈ exitsOf tab → PartInterpolant (nodeAt e))
:
PartInterpolant (L, R, some (Sum.inr nlf))
W.l.o.g version of clusterInterpolation
.
Equations
- clusterInterpolation_right tab exitIPs = sorry
Instances For
def
clusterInterpolation
{Hist : History}
{L R : List Formula}
{snlf : NegLoadFormula ⊕ NegLoadFormula}
(tab : Tableau Hist (L, R, some snlf))
(exitIPs : (e : PathIn tab) → e ∈ exitsOf tab → PartInterpolant (nodeAt e))
:
PartInterpolant (L, R, some snlf)
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.