Documentation

Pdl.PartInterpolation

Interpolants for Partitions (big part of Section 7) #

Equations
Instances For
    Equations
    • X.left = X.L ++ X.O.toForms
    Instances For
      Equations
      • X.right = X.R ++ X.O.toForms
      Instances For
        def jvoc (X : Sequent) :

        Joint vocabulary of all parts of a Sequent.

        Equations
        Instances For
          Equations
          Instances For
            theorem unfoldBox_voc {x : } {α : Program} {φ : Formula} {L : List Formula} (L_in : L unfoldBox α φ) {ψ : Formula} (ψ_in : ψ L) (x_in_voc_ψ : x ψ.voc) :
            x α.voc x φ.voc
            theorem unfoldDiamond_voc {x : } {α : Program} {φ : Formula} {L : List Formula} (L_in : L unfoldDiamond α φ) {ψ : Formula} (ψ_in : ψ L) (x_in_voc_ψ : x ψ.voc) :
            x α.voc x φ.voc
            theorem localRule_does_not_increase_vocab_L {Lcond Rcond : List Formula} {Ocond : Olf} {ress : List Sequent} (rule : LocalRule (Lcond, Rcond, Ocond) ress) (res : Sequent) :
            res ressres.1.fvoc Lcond.fvoc
            theorem localRule_does_not_increase_vocab_R {Lcond Rcond : List Formula} {Ocond : Olf} {ress : List Sequent} (rule : LocalRule (Lcond, Rcond, Ocond) ress) (res : Sequent) :
            res ressres.2.1.fvoc Rcond.fvoc
            theorem localRule_does_not_increase_vocab_O {Lcond Rcond : List Formula} {Ocond : Olf} {ress : List Sequent} (rule : LocalRule (Lcond, Rcond, Ocond) ress) (res : Sequent) :
            res ressres.2.2.voc Ocond.voc
            theorem localRuleApp_does_not_increase_jvoc {X : Sequent} {C : List Sequent} (ruleA : LocalRuleApp X C) (Y : Sequent) :
            Y Cjvoc Y jvoc X
            def localInterpolantStep {C : List Sequent} (L R : List Formula) (o : Olf) (ruleA : LocalRuleApp (L, R, o) C) (subθs : (c : Sequent) → c CPartInterpolant 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)) :
              List (PathIn tab)

              The exits of a cluster: (C \ C+).

              Equations
              Instances For
                def PathIn.children {a✝ : History} {a✝¹ : Sequent} {tab : Tableau a✝ a✝¹} (p : PathIn tab) :
                List (PathIn tab)
                Equations
                Instances For
                  def plus_exits {X : Sequent} {tab : Tableau [] X} (C : List (PathIn tab)) :
                  List (PathIn tab)

                  C+

                  Equations
                  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 tabPartInterpolant (nodeAt e)) :

                    W.l.o.g version of clusterInterpolation.

                    Equations
                    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 tabPartInterpolant (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.
                      Instances For
                        def tabToInt {X : Sequent} (tab : Tableau [] X) :
                        Equations
                        Instances For