Package

at.logic.gapt.proofs

expansionTrees

Permalink

package expansionTrees

Created by sebastian on 7/15/15.

Linear Supertypes
AnyRef, Any
Content Hierarchy Learn more about scaladoc diagrams
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. expansionTrees
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Type Members

  1. trait BinaryExpansionTree extends ExpansionTreeWithMerges with NonTerminalNodeAWithEquality[Option[HOLFormula], Option[LambdaExpression]]

    Permalink
  2. class ETAnd extends BinaryExpansionTree

    Permalink
    Attributes
    protected
  3. case class ETAtom(atom: HOLAtom) extends ExpansionTree with TerminalNodeAWithEquality[Option[HOLAtom], Option[LambdaExpression]] with Product with Serializable

    Permalink
  4. class ETImp extends BinaryExpansionTree

    Permalink
    Attributes
    protected
  5. case class ETMerge(left: ExpansionTreeWithMerges, right: ExpansionTreeWithMerges) extends BinaryExpansionTree with Product with Serializable

    Permalink
  6. class ETNeg extends UnaryExpansionTree

    Permalink
    Attributes
    protected
  7. class ETOr extends BinaryExpansionTree

    Permalink
    Attributes
    protected
  8. class ETSkolemQuantifier extends ExpansionTreeWithMerges with NonTerminalNodeAWithEquality[Option[HOLFormula], Option[LambdaExpression]]

    Permalink

    Represents Skolemized form of Qx A +u E:

  9. class ETStrongQuantifier extends ExpansionTreeWithMerges with NonTerminalNodeAWithEquality[Option[HOLFormula], Option[LambdaExpression]]

    Permalink

    Represents Qx A +u E:

  10. class ETWeakQuantifier extends ExpansionTreeWithMerges with NonTerminalNodeAWithEquality[Option[HOLFormula], Option[LambdaExpression]]

    Permalink

    Represents Qx A +u1 E_1 ...

    Represents Qx A +u1 E_1 ... +u_n E_n this way:

  11. case class ETWeakening(formula: HOLFormula) extends ExpansionTree with TerminalNodeAWithEquality[Option[HOLFormula], Option[LambdaExpression]] with Product with Serializable

    Permalink

    Represents a weakening in an expansion tree, i.e.

    Represents a weakening in an expansion tree, i.e. a subformula which is not needed for making the deep formula a tautology.

    formula

    the (weak) formula at this node

  12. type ExpansionSequent = Sequent[ExpansionTree]

    Permalink
  13. trait ExpansionTree extends ExpansionTreeWithMerges

    Permalink

    Feigns being a subclass of ExpansionTreeWithMerges.

    Feigns being a subclass of ExpansionTreeWithMerges. The apply methods in the pseudo case classes return ETs in case the arguments forming the children are ETs. As the children are immutable, this ensures that the tree does not contain merges. The classes also contain methods that have ETs as formal input and output parameters, which eliminates the need for a lot of casting in client code.

  14. trait ExpansionTreeWithMerges extends TreeA[Option[HOLFormula], Option[LambdaExpression]]

    Permalink

    General class for expansion trees with pseudo case classes including for MergeNodes, which only occur during merging/substituting

  15. case class InstanceTermEncoding(endSequent: HOLSequent) extends Product with Serializable

    Permalink

    Encodes instances of a prenex FOL Sigma_1 end-sequent as FOL terms.

    Encodes instances of a prenex FOL Sigma_1 end-sequent as FOL terms.

    In the case of cut-introduction, the end-sequent has no free variables and we're encoding a Herbrand sequent as a set of terms. A term r_i(t_1,...,t_n) encodes an instance of the formula "forall x_1 ... x_n, phi(x_1,...,x_n)" using the instances (t_1,...,t_n).

    In the case of simple inductive proofs, the end-sequent contains one free variable (alpha). Here, we consider proofs of instance sequents, which are obtained by substituting a numeral for alpha. Hence the formulas occuring in the end-sequents of instance proofs are substitution instances of endSequent; the encoded terms still only capture the instances used in the instance proofs--i.e. not alpha.

  16. case class METAnd(left: MultiExpansionTree, right: MultiExpansionTree) extends MultiExpansionTree with T1 with Product with Serializable

    Permalink

    Models a conjunction.

    Models a conjunction.

    E1 ∧ E2

    left

    The tree E1.

    right

    The tree E2.

  17. case class METAtom(atom: HOLAtom) extends MultiExpansionTree with TerminalNodeA[Option[HOLFormula], Option[Seq[LambdaExpression]]] with Product with Serializable

    Permalink

    Models an atomic expansion tree.

    Models an atomic expansion tree.

    Atom(f)

    atom

    The formula f.

  18. case class METImp(left: MultiExpansionTree, right: MultiExpansionTree) extends MultiExpansionTree with T1 with Product with Serializable

    Permalink

    Models an implication.

    Models an implication.

    E1 → E2

    left

    The tree E1.

    right

    The tree E2.

  19. case class METNeg(tree: MultiExpansionTree) extends MultiExpansionTree with T1 with Product with Serializable

    Permalink

    Models a negation.

    Models a negation.

    ¬ E

    tree

    The tree E.

  20. case class METOr(left: MultiExpansionTree, right: MultiExpansionTree) extends MultiExpansionTree with T1 with Product with Serializable

    Permalink

    Models a disjunction.

    Models a disjunction.

    E1 ∨ E2

    left

    The tree E1.

    right

    The tree E2.

  21. case class METSkolemQuantifier(formula: HOLFormula, skolemSymbols: Seq[LambdaExpression], selection: MultiExpansionTree) extends MultiExpansionTree with T1 with Product with Serializable

    Permalink

    Models a block of Skolem quantifiers.

    Models a block of Skolem quantifiers.

    Qx1 … Qxn F +c E

    formula

    The formula expanded by this tree.

    skolemSymbols

    The vector c of skolem symbols used for the quantifiers.

    selection

    The expansion tree E.

  22. case class METStrongQuantifier(formula: HOLFormula, variables: Seq[Var], selection: MultiExpansionTree) extends MultiExpansionTree with T1 with Product with Serializable

    Permalink

    Models a block of strong quantifiers.

    Models a block of strong quantifiers.

    Qx1 … Qxn F +α E

    formula

    The formula expanded by this tree.

    variables

    The vector α of eigenvariables used for the quantifiers.

    selection

    The expansion tree E.

  23. case class METWeakQuantifier(formula: HOLFormula, instances: Seq[Instance]) extends MultiExpansionTree with T1 with Product with Serializable

    Permalink

    Models a block of weak quantifiers.

    Models a block of weak quantifiers.

    Qx1 … Qxn F +t1 E1 … +tn En

    formula

    The formula expanded by this tree.

    instances

    The instance blocks used for the weak quantifiers.

  24. case class METWeakening(formula: HOLFormula) extends MultiExpansionTree with TerminalNodeA[Option[HOLFormula], Option[Seq[LambdaExpression]]] with Product with Serializable

    Permalink

    Models a weakening in an expansion tree.

  25. type MultiExpansionSequent = Sequent[MultiExpansionTree]

    Permalink
  26. trait MultiExpansionTree extends TreeA[Option[HOLFormula], Option[Seq[LambdaExpression]]]

    Permalink
  27. trait NonTerminalNodeAWithEquality[+V, +E] extends NonTerminalNodeA[V, E]

    Permalink
  28. implicit class RichExpansionSequent extends AnyRef

    Permalink
  29. implicit class RichMultiExpansionSequent extends AnyRef

    Permalink
  30. trait TerminalNodeAWithEquality[+V, +E] extends TerminalNodeA[V, E]

    Permalink
  31. trait UnaryExpansionTree extends ExpansionTreeWithMerges with NonTerminalNodeAWithEquality[Option[HOLFormula], Option[LambdaExpression]]

    Permalink

Value Members

  1. object BinaryExpansionTree

    Permalink
  2. object CleanStructure

    Permalink
  3. object ETAnd

    Permalink
  4. object ETBottom extends ExpansionTree with Product with Serializable

    Permalink
  5. object ETImp

    Permalink
  6. object ETInitialNode

    Permalink
  7. object ETNeg

    Permalink
  8. object ETOr

    Permalink
  9. object ETSkolemQuantifier

    Permalink
  10. object ETStrongQuantifier

    Permalink
  11. object ETTop extends ExpansionTree with Product with Serializable

    Permalink
  12. object ETWeakQuantifier

    Permalink
  13. object ExpansionProofToLK

    Permalink
  14. object ExpansionSequent

    Permalink
  15. object METBottom extends MultiExpansionTree with Product with Serializable

    Permalink
  16. object METTop extends MultiExpansionTree with Product with Serializable

    Permalink
  17. object MultiExpansionSequent

    Permalink
  18. object UnaryExpansionTree

    Permalink
  19. object Utility

    Permalink

    These trees are the same as expansion trees but consider sequential quantifiers of the same type as quantification over a vector of variables.

    These trees are the same as expansion trees but consider sequential quantifiers of the same type as quantification over a vector of variables. I.e. an expansion tree having two strong quantifiers over x and y will have a StrongQuantifer child over x and a Strong Quantifier grandchild over y while a multi expansion tree over the same formula will have only StrongQuantifier child over the vector <x,y>

  20. object addSymmetry

    Permalink

    Given an expansion sequent S which is a quasi-tautology (modulo symmetry), returns an expansion sequent S' which is S extended by the symmetry instances needed to make it a tautology.

  21. object compressQuantifiers

    Permalink

    Converts an ExpansionTree to a MultiExpansionTree by squishing quantifiers together into blocks.

    Converts an ExpansionTree to a MultiExpansionTree by squishing quantifiers together into blocks. Can also be called on ExpansionSequents.

  22. object decompressQuantifiers

    Permalink

    Converts a MultiExpansionTree to an ExpansionTree by picking quantifier blocks apart.

    Converts a MultiExpansionTree to an ExpansionTree by picking quantifier blocks apart. Can also be called on MultiExpansionSequents. The interesting parts happen in the private methods decompress{Strong,Weak,Skolem}.

  23. object extractInstanceTerms

    Permalink

    Extracts the instance terms used in a prenex FOL Pi_1 expansion tree / Sigma_1 expansion sequent.

    Extracts the instance terms used in a prenex FOL Pi_1 expansion tree / Sigma_1 expansion sequent.

    Each expansion tree is transformed into a list of pairs of its shallow formula and a tuple containing the terms used to instantiate the outermost weak quantifier block.

  24. object extractInstances

    Permalink

    Extracts the instances used in a prenex FOL Pi_1 expansion tree / Sigma_1 expansion sequent.

    Extracts the instances used in a prenex FOL Pi_1 expansion tree / Sigma_1 expansion sequent.

    Each expansion tree is transformed into a list of instances of its shallow formula.

    In contrast to toDeep, this function doesn't produce conjunctions of instances, but instead increases the number of formulas in the antecedent/succedent.

  25. object formulaToExpansionTree

    Permalink

    Builds an expansion tree from a formula and a map from variables to terms.

    Builds an expansion tree from a formula and a map from variables to terms. The paremeter pos is true if the formula is to be considered positive (right side of the sequent).

  26. object getETOfFormula

    Permalink

    Gets expansion tree of a formula from expansion sequent.

  27. object getStatistics

    Permalink

    Counts the number of instances of the expansion trees in a MultiExpansionSequent and provides human-readable formatting of this data.

  28. object groundTerms

    Permalink
  29. object isQuantified

    Permalink
  30. object merge extends Logger

    Permalink
  31. object minimalExpansionSequent

    Permalink

    Given an expansion sequent S, this algorithm computes a single expansion sequents below S that is valid and minimal.

    Given an expansion sequent S, this algorithm computes a single expansion sequents below S that is valid and minimal. This algorithm is considerably faster than the one implemented in minimalExpansionSequents.

  32. object minimalExpansionSequents

    Permalink

    Given an expansion sequent S, this algorithm computes the list of expansion sequents below S that are valid and minimal.

  33. object quantRulesNumber

    Permalink

    Returns number of quantifiers

  34. object removeFromExpansionSequent

    Permalink

    Returns the expansion sequent with certain expansions trees removed

  35. object replace

    Permalink
  36. object replaceAtHOLPosition

    Permalink
  37. object substitute extends Logger

    Permalink
  38. object toDeep

    Permalink
  39. object toShallow

    Permalink

Inherited from AnyRef

Inherited from Any

Ungrouped