Packages

p

gapt.proofs

context

package context

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Package Members

  1. package facet
  2. package immutable
  3. package mutable
  4. package update

Type Members

  1. trait Context extends BabelSignature

    Captures constants, types, definitions, and background theory used in a proof.

    Captures constants, types, definitions, and background theory used in a proof.

    Each of these different kinds of information is stored in a separate facet.Facet of the context. Each modification or addition to the context is recorded as an update.Update. Adding information is only possible by adding it as an update.Update. (Basically a Context is an extensible LCF-style kernel.)

    There are several inferences in our LK proofs for which it is not enough that are syntactically valid: An induction inference might follow the syntactical scheme of an induction inference and satisfy the eigenvariable criterion, however if it excludes a constructor of the inductive type, then it still allows us to prove non-theorems. The same is also true for definition rules and theory axioms.

    Hence we store all information necessary to validate these inferences inside a Context object. For completeness, it also includes the collection of constant symbols.

    Having this information available is also important for a second reason: it allows us make decisions based on the current context:

    • The induction tactic uses the information about inductive types to create the necessary subgoals.
    • The Babel parser uses the information about constants to decide whether a free identifier is a variable or a constant, and if it is a constant, what type it should have.
    • The unfold tactic uses the information about definitions to unfold them.
    • The inductive prover can automatically generate random instances for base types.
    • gapt.proofs.expansion.ExpansionProofToLK uses the information about the background theory to produce LK proofs modulo the background theory.
  2. case class ProofDefinition(proofNameTerm: Expr, connector: SequentConnector, proof: LKProof) extends Product with Serializable
  3. class State extends AnyRef

    The state of a context.

    The state of a context.

    A context remembers both its history (what elements were added to it), as well as their effect: the current state (the values of the facets).

    State is basically a Cartesian product of all possible facets, where all except finitely many facets still have their initial value. The get method returns the value of a facet, the update method changes the value.

Value Members

  1. object Context
  2. object State
  3. object simplificationRules

Ungrouped