Package

at.logic.gapt.proofs.gaptic

tactics

Permalink

package tactics

Content Hierarchy
Visibility
  1. Public
  2. All

Type Members

  1. case class AndLeftTactic(mode: TacticApplyMode = UniqueFormula) extends Tactic[(String, String)] with Product with Serializable

    Permalink

    Decomposes a conjunction in the antecedent of a goal.

    Decomposes a conjunction in the antecedent of a goal.

    mode

    How to apply the tactic: To a specific label, to the only fitting formula, or to any fitting formula.

  2. case class AndRightTactic(mode: TacticApplyMode = UniqueFormula) extends BinaryTactic[Unit] with Product with Serializable

    Permalink

    Decomposes a conjunction in the succedent of a goal.

    Decomposes a conjunction in the succedent of a goal.

    mode

    How to apply the tactic: To a specific label, to the only fitting formula, or to any fitting formula.

  3. case class ChainTactic(hyp: String, target: Option[String] = None, substitution: Map[Var, LambdaExpression] = Map()) extends Tactic[Unit] with Product with Serializable

    Permalink

    Performs backwards chaining: A goal of the form ∀x (P(x) → Q(x)), Γ :- Δ, Q(t) is replaced by the goal ∀x (P(x) → Q(x)), Γ :- Δ, P(t).

  4. case class CutTactic(cutLabel: String, cutFormula: HOLFormula) extends BinaryTactic[Unit] with Product with Serializable

    Permalink

    Introduces a cut, creating two new subgoals.

    Introduces a cut, creating two new subgoals.

    cutLabel

    The label for the cut formula.

    cutFormula

    The cut formula.

  5. case class DestructTactic(applyToLabel: String) extends Tactic[Any] with Product with Serializable

    Permalink

    Attempts to decompose a formula by trying all tactics that don't require additional information.

    Attempts to decompose a formula by trying all tactics that don't require additional information.

    Note that this tactic only decomposes the outermost symbol, i.e. it only performs one step.

    applyToLabel

    The label of the formula to be decomposed.

  6. case class EqualityTactic(equationLabel: String, formulaLabel: String, leftToRight: Option[Boolean] = None, targetFormula: Option[HOLFormula] = None) extends Tactic[Unit] with Product with Serializable

    Permalink

    Applies an equation in a goal.

    Applies an equation in a goal.

    equationLabel

    The label of the equation.

    formulaLabel

    The label of the formula the equation is to be used on.

    leftToRight

    If Some(true), the equation s = t will be used to rewrite s to t, and the other way around for Some(false). If None, the tactic will attempt to decide the direction automatically.

    targetFormula

    If Some(f), the tactic will attempt to produce f through application of the equality. Otherwise it will replace as many occurrences as possible according to leftToRight.

  7. case class ExistsLeftTactic(mode: TacticApplyMode = UniqueFormula, eigenVariable: Option[Var] = None) extends StrongQuantTactic with Product with Serializable

    Permalink

    Decomposes an existential quantifier in the antecedent of a goal.

    Decomposes an existential quantifier in the antecedent of a goal.

    mode

    How to apply the tactic: To a specific label, to the only fitting formula, or to any fitting formula.

    eigenVariable

    If Some(v), the rule will attempt to use v as the eigenvariable. Otherwise it will automatically pick one.

  8. case class ExistsRightTactic(mode: TacticApplyMode = UniqueFormula, terms: Seq[LambdaExpression], instantiateOnce: Boolean) extends Tactic[String] with Product with Serializable

    Permalink

    Decomposes a block of existential quantifiers in the antecedent of a goal.

    Decomposes a block of existential quantifiers in the antecedent of a goal.

    mode

    How to apply the tactic: To a specific label, to the only fitting formula, or to any fitting formula.

    terms

    Instantiations for the quantifiers in the block.

    instantiateOnce

    Whether the quantified formula should be forgotten after instantiating.

  9. case class FocusTactical(index: Either[Int, OpenAssumptionIndex]) extends Tactical[Unit] with Product with Serializable

    Permalink
  10. case class ForallLeftTactic(mode: TacticApplyMode = UniqueFormula, terms: Seq[LambdaExpression], instantiateOnce: Boolean) extends Tactic[String] with Product with Serializable

    Permalink

    Decomposes a block of universal quantifiers in the succedent of a goal.

    Decomposes a block of universal quantifiers in the succedent of a goal.

    mode

    How to apply the tactic: To a specific label, to the only fitting formula, or to any fitting formula.

    terms

    Instantiations for the quantifiers in the block.

    instantiateOnce

    Whether the quantified formula should be forgotten after instantiating.

  11. case class ForallRightTactic(mode: TacticApplyMode = UniqueFormula, eigenVariable: Option[Var] = None) extends StrongQuantTactic with Product with Serializable

    Permalink

    Decomposes a universal quantifier in the succedent of a goal.

    Decomposes a universal quantifier in the succedent of a goal.

    mode

    How to apply the tactic: To a specific label, to the only fitting formula, or to any fitting formula.

    eigenVariable

    If Some(v), the rule will attempt to use v as the eigenvariable. Otherwise it will automatically pick one.

  12. case class ImpLeftTactic(mode: TacticApplyMode = UniqueFormula) extends BinaryTactic[Unit] with Product with Serializable

    Permalink

    Decomposes an implication in the antecedent of a goal.

    Decomposes an implication in the antecedent of a goal.

    mode

    How to apply the tactic: To a specific label, to the only fitting formula, or to any fitting formula.

  13. case class ImpRightTactic(mode: TacticApplyMode = UniqueFormula) extends Tactic[(String, String)] with Product with Serializable

    Permalink

    Decomposes an implication in the succedent of a goal.

    Decomposes an implication in the succedent of a goal.

    mode

    How to apply the tactic: To a specific label, to the only fitting formula, or to any fitting formula.

  14. case class InductionTactic(mode: TacticApplyMode)(implicit ctx: Context) extends Tactic[Unit] with Product with Serializable

    Permalink

    Reduces a subgoal via induction.

    Reduces a subgoal via induction.

    mode

    How to apply the tactic: To a specific label, to the only fitting formula, or to any fitting formula.

    ctx

    A at.logic.gapt.proofs.Context. Used to find the constructors of inductive types.

  15. case class InsertTactic(insertion: LKProof) extends Tactic[Unit] with Product with Serializable

    Permalink

    Inserts an at.logic.gapt.proofs.lk.LKProof if the insertion sequent subsumes the sequent of the subgoal.

    Inserts an at.logic.gapt.proofs.lk.LKProof if the insertion sequent subsumes the sequent of the subgoal.

    insertion

    The at.logic.gapt.proofs.lk.LKProof to be inserted. Its end sequent must subsume the current goal.

  16. case class NegLeftTactic(mode: TacticApplyMode = UniqueFormula) extends Tactic[String] with Product with Serializable

    Permalink

    Decomposes a negation in the antecedent of a goal.

    Decomposes a negation in the antecedent of a goal.

    mode

    How to apply the tactic: To a specific label, to the only fitting formula, or to any fitting formula.

  17. case class NegRightTactic(mode: TacticApplyMode = UniqueFormula) extends Tactic[String] with Product with Serializable

    Permalink

    Decomposes a negation in the succedent of a goal.

    Decomposes a negation in the succedent of a goal.

    mode

    How to apply the tactic: To a specific label, to the only fitting formula, or to any fitting formula.

  18. case class OrLeftTactic(mode: TacticApplyMode = UniqueFormula) extends BinaryTactic[Unit] with Product with Serializable

    Permalink

    Decomposes a disjunction in the antecedent of a goal.

    Decomposes a disjunction in the antecedent of a goal.

    mode

    How to apply the tactic: To a specific label, to the only fitting formula, or to any fitting formula.

  19. case class OrRightTactic(mode: TacticApplyMode = UniqueFormula) extends Tactic[(String, String)] with Product with Serializable

    Permalink

    Decomposes a disjunction in the succedent of a goal.

    Decomposes a disjunction in the succedent of a goal.

    mode

    How to apply the tactic: To a specific label, to the only fitting formula, or to any fitting formula.

  20. case class RenameTactic(oldLabel: String, newLabel: String) extends Tactic[Unit] with Product with Serializable

    Permalink
  21. case class RepeatTactic[T](tact: Tactical[T]) extends Tactical[Unit] with Product with Serializable

    Permalink

    Applies the given Tactical to the proof state until it fails.

    Applies the given Tactical to the proof state until it fails.

    Note that the tactical is not required to succeed at least once, i.e. it might fail immediately.

    tact

    The Tactical to be repeated.

  22. case class RewriteTactic(equations: Traversable[(String, Boolean)], target: Option[String], once: Boolean) extends Tactic[Unit] with Product with Serializable

    Permalink

    Rewrites using the specified equations at the target, either once or as often as possible.

    Rewrites using the specified equations at the target, either once or as often as possible.

    equations

    Universally quantified equations on the antecedent, with direction (left-to-right?)

    target

    Formula to rewrite.

    once

    Rewrite exactly once?

  23. abstract class StrongQuantTactic extends Tactic[Var]

    Permalink
  24. case class UnfoldTactic(target: String, definition: String, definitions: Seq[String])(implicit ctx: Context) extends Tactic[Unit] with Product with Serializable

    Permalink
  25. case class UnfoldTacticHelper(definition: String, definitions: Seq[String])(implicit ctx: Context) extends Product with Serializable

    Permalink
  26. case class WeakeningLeftTactic(applyToLabel: String) extends Tactic[Unit] with Product with Serializable

    Permalink

    Removes a formula from the antecedent of a goal.

    Removes a formula from the antecedent of a goal.

    applyToLabel

    The label of the formula to be removed.

  27. case class WeakeningRightTactic(applyToLabel: String) extends Tactic[Unit] with Product with Serializable

    Permalink

    Removes a formula from the succedent of a goal.

    Removes a formula from the succedent of a goal.

    applyToLabel

    The label of the formula to be removed.

Value Members

  1. object BottomAxiomTactic extends Tactic[Unit] with Product with Serializable

    Permalink

    Closes a goal of the form ⊥, Γ :- Δ

  2. object DecomposeTactic extends Tactical[Unit] with Product with Serializable

    Permalink

    Repeatedly applies unambiguous unary rules to the entire goal.

  3. object EscargotTactic extends Tactic[Unit] with Product with Serializable

    Permalink

    Calls Escargot on the subgoal.

  4. object LogicalAxiomTactic extends Tactic[Unit] with Product with Serializable

    Permalink

    Closes a goal of the form A, Γ :- Δ, Δ

  5. object PropTactic extends Tactic[Unit] with Product with Serializable

    Permalink

    Calls the GAPT tableau prover on the subgoal.

  6. object Prover9Tactic extends Tactic[Unit] with Product with Serializable

    Permalink

    Calls prover9 on the subgoal.

  7. object ReflexivityAxiomTactic extends Tactic[Unit] with Product with Serializable

    Permalink

    Closes a goal of the form Γ :- Δ, s = s

  8. object SkipTactical extends Tactical[Unit] with Product with Serializable

    Permalink

    Trivial "unit" tactical.

  9. object TopAxiomTactic extends Tactic[Unit] with Product with Serializable

    Permalink

    Closes a goal of the form Γ :- Δ, ⊤

Ungrouped