package tactics
- Alphabetic
- Public
- All
Type Members
-
case class
AnalyticInductionTactic(axioms: AxiomFactory, prover: ResolutionProver)(implicit ctx: MutableContext) extends Tactical1[Unit] with Product with Serializable
Calls the analytic induction prover on the subgoal
-
case class
AndLeftTactic(mode: TacticApplyMode = UniqueFormula) extends Tactical1[(String, String)] with Product with Serializable
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.
-
case class
AndRightTactic(mode: TacticApplyMode = UniqueFormula) extends Tactical1[Unit] with BinaryTactic[Unit] with Product with Serializable
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.
-
case class
ChainTactic(hyp: String, target: TacticApplyMode = UniqueFormula, substitution: Map[Var, Expr] = Map()) extends Tactical1[Unit] with Product with Serializable
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)
. -
case class
CutTactic(cutLabel: String, cutFormula: Formula) extends Tactical1[Unit] with BinaryTactic[Unit] with Product with Serializable
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.
-
case class
EqualityTactic(equationLabel: String, formulaLabel: String, leftToRight: Option[Boolean] = None, targetFormula: Option[Formula] = None) extends Tactical1[Unit] with Product with Serializable
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 equations = t
will be used to rewrites
tot
, and the other way around for Some(false). IfNone
, the tactic will attempt to decide the direction automatically.- targetFormula
If
Some(f)
, the tactic will attempt to producef
through application of the equality. Otherwise it will replace as many occurrences as possible according toleftToRight
.
-
case class
ExistsLeftTactic(mode: TacticApplyMode = UniqueFormula, eigenVariable: Option[Var] = None) extends StrongQuantTactic with Product with Serializable
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.
-
case class
ExistsRightTactic(mode: TacticApplyMode = UniqueFormula, terms: Seq[Expr], instantiateOnce: Boolean) extends Tactical1[String] with Product with Serializable
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.
- case class FocusTactic(index: Either[Int, OpenAssumptionIndex]) extends Tactic[Unit] with Product with Serializable
-
case class
ForallLeftTactic(mode: TacticApplyMode = UniqueFormula, terms: Seq[Expr], instantiateOnce: Boolean) extends Tactical1[String] with Product with Serializable
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.
-
case class
ForallRightTactic(mode: TacticApplyMode = UniqueFormula, eigenVariable: Option[Var] = None) extends StrongQuantTactic with Product with Serializable
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.
-
case class
ImpLeftTactic(mode: TacticApplyMode = UniqueFormula) extends Tactical1[Unit] with BinaryTactic[Unit] with Product with Serializable
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.
-
case class
ImpRightTactic(mode: TacticApplyMode = UniqueFormula) extends Tactical1[(String, String)] with Product with Serializable
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.
-
case class
InductionTactic(mode: TacticApplyMode, v: Var, eigenVariables: Map[Const, Vector[Var]] = Map())(implicit ctx: Context) extends Tactical1[Unit] with Product with Serializable
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 gapt.proofs.Context. Used to find the constructors of inductive types.
-
case class
InsertTactic(insertion: LKProof) extends Tactical1[Unit] with Product with Serializable
Inserts an gapt.proofs.lk.LKProof if the insertion sequent subsumes the sequent of the subgoal.
Inserts an gapt.proofs.lk.LKProof if the insertion sequent subsumes the sequent of the subgoal.
- insertion
The gapt.proofs.lk.LKProof to be inserted. Its end sequent must subsume the current goal.
-
case class
NegLeftTactic(mode: TacticApplyMode = UniqueFormula) extends Tactical1[String] with Product with Serializable
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.
-
case class
NegRightTactic(mode: TacticApplyMode = UniqueFormula) extends Tactical1[String] with Product with Serializable
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.
-
case class
OrLeftTactic(mode: TacticApplyMode = UniqueFormula) extends Tactical1[Unit] with BinaryTactic[Unit] with Product with Serializable
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.
-
case class
OrRightTactic(mode: TacticApplyMode = UniqueFormula) extends Tactical1[(String, String)] with Product with Serializable
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.
-
case class
ProofLinkTactic(proofName: String)(implicit ctx: Context) extends Tactical1[Unit] with Product with Serializable
Closes a goal with a proof link
Closes a goal with a proof link
- proofName
The name of the proof proving the goal.
- case class RenameTactic(oldLabel: String, newLabel: String) extends Tactical1[Unit] with Product with Serializable
-
case class
RepeatTactic[T](tact: Tactic[T]) extends Tactic[Unit] with Product with Serializable
Applies the given Tactic to the proof state until it fails.
- case class ResolutionProverTactic(prover: Prover, viaExpansionProof: Boolean = true, deskolemize: Boolean = false)(implicit ctx: MutableContext) extends Tactical1[Unit] with Product with Serializable
-
case class
RewriteTactic(equations: Traversable[(String, Boolean)], target: Option[String], fixedSubst: Map[Var, Expr], once: Boolean) extends Tactical1[Unit] with Product with Serializable
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?
- abstract class StrongQuantTactic extends Tactical1[Var]
- case class SubstTactic(mode: TacticApplyMode) extends Tactical1[Unit] with Product with Serializable
- case class UnfoldTactic(target: String, definitions: Seq[String], maxSteps: Option[Int])(implicit ctx: Context) extends Tactical1[Unit] with Product with Serializable
- case class UnfoldTacticHelper(definitions: Seq[String], maxSteps: Option[Int] = None)(implicit ctx: Context) extends Product with Serializable
-
case class
WeakeningLeftTactic(applyToLabel: String) extends Tactical1[Unit] with Product with Serializable
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.
-
case class
WeakeningRightTactic(applyToLabel: String) extends Tactical1[Unit] with Product with Serializable
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
- object AnalyticInductionTactic extends Serializable
-
object
BottomAxiomTactic extends Tactical1[Unit] with Product with Serializable
Closes a goal of the form ⊥, Γ :- Δ
-
object
LogicalAxiomTactic extends Tactical1[Unit] with Product with Serializable
Closes a goal of the form A, Γ :- Δ, Δ
-
object
PropTactic extends Tactical1[Unit] with Product with Serializable
Calls the GAPT tableau prover on the subgoal.
- object QuasiPropTactic extends Tactical1[Unit] with Product with Serializable
-
object
ReflexivityAxiomTactic extends Tactical1[Unit] with Product with Serializable
Closes a goal of the form Γ :- Δ, s = s
-
object
TopAxiomTactic extends Tactical1[Unit] with Product with Serializable
Closes a goal of the form Γ :- Δ, ⊤
This is the API documentation for GAPT.
The main package is gapt.