Packages

package axioms

Source
package.scala
Linear Supertypes
Content Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. axioms
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. trait Axiom extends AnyRef
  2. trait AxiomFactory extends AnyRef
  3. case class DomainClosureAxioms(types: List[TBase] = Nil) extends AxiomFactory with Product with Serializable
  4. type FormulaSelector = (Sequent[(String, Formula)]) => ThrowsError[Formula]
  5. case class GeneralInductionAxioms(vsel: VariableSelector = allVariablesSelector( _ )( _ ), fsel: FormulaSelector = firstFormulaSelector( _ )) extends AxiomFactory with Product with Serializable
  6. case class IndependentInductionAxioms(vsel: VariableSelector = allVariablesSelector( _ )( _ ), fsel: FormulaSelector = firstFormulaSelector( _ )) extends AxiomFactory with Product with Serializable

    Generates independent induction axioms.

    Generates independent induction axioms.

    vsel

    The variables for which induction axioms are generated.

    fsel

    The formula of a sequent for which axioms are generated.

  7. case class SequentialInductionAxioms(vsel: VariableSelector = allVariablesSelector( _ )( _ ), fsel: FormulaSelector = firstFormulaSelector( _ )) extends AxiomFactory with Product with Serializable

    Generates sequential induction axioms.

    Generates sequential induction axioms.

    vsel

    The variables for which an induction axiom is generated.

    fsel

    The formula of a sequent for which induction axioms are generated.

  8. case class StandardInductionAxioms(variableSelector: VariableSelector = allVariablesSelector( _ )( _ ), formulaSelector: FormulaSelector = firstFormulaSelector( _ )) extends AxiomFactory with Product with Serializable
  9. case class TipDomainClosureAxioms(types: List[InductiveType] = Nil) extends AxiomFactory with Product with Serializable
  10. case class UserDefinedInductionAxioms(axioms: List[String]) extends AxiomFactory with Product with Serializable
  11. type VariableSelector = (Formula, Context) => List[Var]

Value Members

  1. def allVariablesSelector(formula: Formula)(implicit ctx: Context): List[Var]

    Selects variables of inductive types.

    Selects variables of inductive types.

    formula

    The formula from which the variables are selected.

    ctx

    The context which fixes constants, types, etc.

    returns

    A list of all free inductive variables and all universally quantified inductive variables that are bound in the universal quantifier prefix of the given formula.

  2. def firstFormulaSelector(sequent: Sequent[(String, Formula)]): ThrowsError[Formula]

    Selects the first formula in the succedent of a sequent.

    Selects the first formula in the succedent of a sequent.

    sequent

    The sequent from which the formula is selected.

    returns

    The formula at the first position of the sequent's succedent.

  3. def inductionAxiom(inductionVariable: Var, formula: Formula, constructors: Seq[Const])(implicit ctx: Context): Formula

    Constructs a standard induction axiom.

    Constructs a standard induction axiom.

    inductionVariable

    The variable on which the induction is carried out.

    formula

    The formula for which the induction axiom is to be generated

    constructors

    The constructors of the induction variable.

    ctx

    The context which fixes constants, types, etc.

    returns

    An induction axiom representing an induction on the specified variable and formula with one induction case for each of the constructors.

  4. def inductionCase(inductionVariable: Var, formula: Formula, constructor: Const): Formula

    Constructs a formula representing an inductive case.

    Constructs a formula representing an inductive case.

    inductionVariable

    The variable on which the induction is carried out.

    formula

    The induction formula.

    constructor

    The constructor associated with the induction case.

    returns

    A formula representing the inductive case for the given constructor for an induction on the specified formula and variable.

  5. def inductionCaseConclusion(freeVariable: Var, constructor: Const, formula: Expr): (List[Var], List[Var], Expr)
  6. def inductionCaseConclusion(freeVariable: Var, constructor: Const, formula: Formula): (List[Var], List[Var], Formula)

    Constructs the conclusion of an inductive case.

    Constructs the conclusion of an inductive case.

    freeVariable

    The free variable which is to be replaced by the given constructor.

    constructor

    The constructor to be inserted at all occurrences of the specified freeVariable.

    formula

    The formula in which the substitution is to be carried out.

    returns

    A three tuple whose first component contains a list of all newly introduced free variables that are of the same type as the type to which the constructor belongs, the second component contains a list of all newly introduced variables that are of a different type than the constructor's type, the third component contains the result of the substitution.

  7. object StandardInductionAxioms extends Serializable
  8. case object UntrustedFunctionalInductionAxioms extends AxiomFactory with Product with Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped