package gaptic

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. gaptic
  2. TacticCommands
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. trait BinaryTactic [+T] extends Tactic[T]

    Trait for tactics that create two new subgoals.

    Trait for tactics that create two new subgoals. Provides the left and right methods.

  2. case class OnLabel (label: String) extends TacticApplyMode with Product with Serializable

    Apply a tactic to a specific label.

    Apply a tactic to a specific label.

    label

    The label that the tactic should be applied to.

  3. case class OpenAssumption (labelledSequent: Sequent[(String, Formula)], index: OpenAssumptionIndex = new OpenAssumptionIndex) extends InitialSequent with Product with Serializable

    Defines the case class open assumption which considers an arbitrary labelled sequence an axiom.

  4. class OpenAssumptionIndex extends AnyRef

    The globally unique index of an open assumption in a proof state.

  5. case class ProofState extends Product with Serializable
  6. class QedFailureException extends Throwable
  7. trait Tactic [+T] extends Tactical[T]
  8. sealed abstract class TacticApplyMode extends AnyRef

    Class that describes how a tactic should be applied: to a label, to the unique fitting formula, or to any fitting formula.

  9. trait TacticCommands extends AnyRef
  10. class TacticFailureException extends Throwable
  11. trait Tactical [+T] extends AnyRef
  12. case class TacticalFailure (tactical: Tactical[_], state: Option[ProofState], message: String) extends Product with Serializable
  13. implicit class TacticalOptionOps [T] extends AnyRef
  14. class TacticsProof extends AnyRef

Value Members

  1. def allL(terms: Expr*): ForallLeftTactic

    Applies the ForallLeft tactic to the current subgoal: The goal

    Applies the ForallLeft tactic to the current subgoal: The goal

    ∀x1,...,∀xn.A, Γ :- Δ

    is reduced to

    A[x1\t1,...,xn\tn], ∀x1,...,∀xn.A, Γ :- Δ.

    This will only work if there is exactly one universal formula in the antecedent!

    terms

    The terms t1,...,tn.

    Definition Classes
    TacticCommands
  2. def allL(applyToLabel: String, terms: Expr*): ForallLeftTactic

    Applies the ForallLeft tactic to the current subgoal: The goal

    Applies the ForallLeft tactic to the current subgoal: The goal

    ∀x1,...,∀xn.A, Γ :- Δ

    is reduced to

    A[x1\t1,...,xn\tn], ∀x1,...,∀xn.A, Γ :- Δ.

    applyToLabel

    The label of the formula ∀x1,...,∀xn.A.

    terms

    The terms t1,...,tn.

    Definition Classes
    TacticCommands
  3. def allR: ForallRightTactic

    Applies the ForallRight tactic to the current subgoal: The goal

    Applies the ForallRight tactic to the current subgoal: The goal

    Γ :- Δ, ∀x.A

    is reduced to

    Γ :- Δ, A.

    This will only work if there is exactly one universal formula in the succedent!

    Definition Classes
    TacticCommands
  4. def allR(applyToLabel: String): ForallRightTactic

    Applies the ForallRight tactic to the current subgoal: The goal

    Applies the ForallRight tactic to the current subgoal: The goal

    Γ :- Δ, ∀x.A

    is reduced to

    Γ :- Δ, A.

    applyToLabel

    The label of the formula ∀x.A.

    Definition Classes
    TacticCommands
  5. def allR(eigenVariable: Var): ForallRightTactic

    Applies the ForallRight tactic to the current subgoal: The goal

    Applies the ForallRight tactic to the current subgoal: The goal

    Γ :- Δ, ∀x.A

    is reduced to

    Γ :- Δ, A[x\α].

    This will only work if there is exactly one universal formula in the succedent!

    eigenVariable

    The variable α.

    Definition Classes
    TacticCommands
  6. def allR(applyToLabel: String, eigenVariable: Var): ForallRightTactic

    Applies the ForallRight tactic to the current subgoal: The goal

    Applies the ForallRight tactic to the current subgoal: The goal

    Γ :- Δ, ∀x.A

    is reduced to

    Γ :- Δ, A[x\α].

    applyToLabel

    The label of the formula ∀x.A.

    eigenVariable

    The variable α.

    Definition Classes
    TacticCommands
  7. def analyticInduction(implicit ctx: Context): AnalyticInductionTactic
    Definition Classes
    TacticCommands
  8. def andL: AndLeftTactic

    Applies the AndLeft tactic to the current subgoal: The goal

    Applies the AndLeft tactic to the current subgoal: The goal

    A ∧ B, Γ :- Δ

    is reduced to

    A, B, Γ :- Δ.

    This will only work if there is exactly one conjunctive formula in the antecedent!

    Definition Classes
    TacticCommands
  9. def andL(applyToLabel: String): AndLeftTactic

    Applies the AndLeft tactic to the current subgoal: The goal

    Applies the AndLeft tactic to the current subgoal: The goal

    A ∧ B, Γ :- Δ

    is reduced to

    A, B, Γ :- Δ.

    applyToLabel

    The label of the formula A ∧ B.

    Definition Classes
    TacticCommands
  10. def andR: AndRightTactic

    Applies the AndRight tactic to the current subgoal: The goal

    Applies the AndRight tactic to the current subgoal: The goal

    Γ :- Δ, A ∧ B

    is reduced to

    Γ :- Δ, A and Γ :- Δ, B.

    This will only work if there is exactly one conjunctive formula in the succedent!

    Definition Classes
    TacticCommands
  11. def andR(applyToLabel: String): AndRightTactic

    Applies the AndRight tactic to the current subgoal: The goal

    Applies the AndRight tactic to the current subgoal: The goal

    Γ :- Δ, A ∧ B

    is reduced to

    Γ :- Δ, A and Γ :- Δ, B.

    applyToLabel

    The label of the formula A ∧ B.

    Definition Classes
    TacticCommands
  12. def axiomBot: BottomAxiomTactic.type

    Applies the BottomAxiom tactic to the current subgoal: A subgoal of the form ⊥, Γ :- Δ will be closed.

    Applies the BottomAxiom tactic to the current subgoal: A subgoal of the form ⊥, Γ :- Δ will be closed.

    Definition Classes
    TacticCommands
  13. def axiomLog: LogicalAxiomTactic.type

    Applies the LogicalAxiom tactic to the current subgoal: A subgoal of the form A, Γ :- Δ, A will be closed.

    Applies the LogicalAxiom tactic to the current subgoal: A subgoal of the form A, Γ :- Δ, A will be closed.

    Definition Classes
    TacticCommands
  14. def axiomRefl: ReflexivityAxiomTactic.type

    Applies the ReflexivityAxiom tactic to the current subgoal: A subgoal of the form Γ :- Δ, s = s will be closed.

    Applies the ReflexivityAxiom tactic to the current subgoal: A subgoal of the form Γ :- Δ, s = s will be closed.

    Definition Classes
    TacticCommands
  15. def axiomTop: TopAxiomTactic.type

    Applies the TopAxiom tactic to the current subgoal: A subgoal of the form Γ :- Δ, ⊤ will be closed.

    Applies the TopAxiom tactic to the current subgoal: A subgoal of the form Γ :- Δ, ⊤ will be closed.

    Definition Classes
    TacticCommands
  16. def chain(h: String): ChainTactic
    Definition Classes
    TacticCommands
  17. def currentGoal: Tactic[OpenAssumption]

    Retrieves the current subgoal.

    Retrieves the current subgoal.

    Definition Classes
    TacticCommands
  18. def cut(label: String, cutFormula: Formula): CutTactic

    Applies the Cut tactic to the current subgoal: The goal

    Applies the Cut tactic to the current subgoal: The goal

    Γ :- Δ

    is reduced to

    Γ :- Δ, C and C, Γ :- Δ.

    label

    The label of C.

    cutFormula

    The formula C.

    Definition Classes
    TacticCommands
  19. def decompose: Tactical[Unit]

    Decomposes the current subgoal by applying all "simple" rules as often as possible.

    Decomposes the current subgoal by applying all "simple" rules as often as possible. These rules are: - ¬:l and ¬:r - ∧:l - ∨:r - ⊃:r - ∀:r - ∃:l

    Definition Classes
    TacticCommands
  20. def destruct(label: String): Tactical[Any]
    Definition Classes
    TacticCommands
  21. def eql(eq: String, fm: String): EqualityTactic

    Applies the Equality tactic to the current subgoal: Given an equation s = t and a formula A, some occurrences of s in A are replaced by t or vice versa.

    Applies the Equality tactic to the current subgoal: Given an equation s = t and a formula A, some occurrences of s in A are replaced by t or vice versa. The exact behavior can be controlled with additional commands:

    - fromLeftToRight: Occurrences of s will be replaced by t. - fromRightToLeft: Occurrences of t will be replaced by s. - yielding(f): The tactic will attempt to replace occurences in such a way that the end result is f.

    If neither fromLeftToRight nor fromRightToLeft is used, the direction of replacement needs to be unambiguous, i.e. s and t may not both occur in A.

    eq

    The label of s = t.

    fm

    The label of A.

    Definition Classes
    TacticCommands
  22. def escargot: EscargotTactic.type

    Calls escargot on the current subgoal.

    Calls escargot on the current subgoal.

    Definition Classes
    TacticCommands
  23. def exL: ExistsLeftTactic

    Applies the ExistsLeft tactic to the current subgoal: The goal

    Applies the ExistsLeft tactic to the current subgoal: The goal

    ∃x.A, Γ :- Δ

    is reduced to

    A, Γ :- Δ.

    This will only work if there is exactly one existential formula in the antecedent!

    Definition Classes
    TacticCommands
  24. def exL(applyToLabel: String): ExistsLeftTactic

    Applies the ExistsLeft tactic to the current subgoal: The goal

    Applies the ExistsLeft tactic to the current subgoal: The goal

    ∃x.A, Γ :- Δ

    is reduced to

    A, Γ :- Δ.

    applyToLabel

    The label of the formula ∃x.A.

    Definition Classes
    TacticCommands
  25. def exL(eigenVariable: Var): ExistsLeftTactic

    Applies the ExistsLeft tactic to the current subgoal: The goal

    Applies the ExistsLeft tactic to the current subgoal: The goal

    ∃x.A, Γ :- Δ

    is reduced to

    A[x\α], Γ :- Δ.

    This will only work if there is exactly one existential formula in the antecedent!

    eigenVariable

    The variable α.

    Definition Classes
    TacticCommands
  26. def exL(applyToLabel: String, eigenVariable: Var): ExistsLeftTactic

    Applies the ExistsLeft tactic to the current subgoal: The goal

    Applies the ExistsLeft tactic to the current subgoal: The goal

    ∃x.A, Γ :- Δ

    is reduced to

    A[x\α], Γ :- Δ.

    applyToLabel

    The label of the formula ∃x.A.

    eigenVariable

    The variable α.

    Definition Classes
    TacticCommands
  27. def exR(terms: Expr*): ExistsRightTactic

    Applies the ExistsRight tactic to the current subgoal: The goal

    Applies the ExistsRight tactic to the current subgoal: The goal

    Γ :- Δ, ∃x1...∃xn.A

    is reduced to

    Γ :- Δ, ∃x1...∃xn.A, A[x1\t1,...,xn\tn].

    This will only work if there is exactly one existential formula in the succedent!

    terms

    The terms t1,...,tn.

    Definition Classes
    TacticCommands
  28. def exR(applyToLabel: String, terms: Expr*): ExistsRightTactic

    Applies the ExistsRight tactic to the current subgoal: The goal

    Applies the ExistsRight tactic to the current subgoal: The goal

    Γ :- Δ, ∃x1...∃xn.A

    is reduced to

    Γ :- Δ, ∃x1...∃xn.A, A[x1\t1,...,xn\tn].

    applyToLabel

    The label of the formula ∃x1...∃xn.A.

    terms

    The terms t1,...,tn.

    Definition Classes
    TacticCommands
  29. def fail: Tactical[Nothing] { def apply(proofState: at.logic.gapt.proofs.gaptic.ProofState): scala.util.Left[at.logic.gapt.proofs.gaptic.TacticalFailure,Nothing] }

    Tactic that immediately fails.

    Tactic that immediately fails.

    Definition Classes
    TacticCommands
  30. def foTheory(implicit ctx: Context): Tactical[Unit]

    Solves the current subgoal as a first-order consequence of the background theory.

    Solves the current subgoal as a first-order consequence of the background theory. This closes the goal.

    ctx

    A at.logic.gapt.proofs.Context. The current subgoal must be contained in its background theory.

    Definition Classes
    TacticCommands
  31. def focus(indexOfSubGoal: OpenAssumptionIndex): FocusTactical

    Moves the specified goal to the front of the goal list.

    Moves the specified goal to the front of the goal list.

    indexOfSubGoal

    The index of the goal.

    Definition Classes
    TacticCommands
  32. def focus(indexOfSubGoal: Int): FocusTactical

    Moves the specified goal to the front of the goal list.

    Moves the specified goal to the front of the goal list.

    indexOfSubGoal

    The index of the goal.

    Definition Classes
    TacticCommands
  33. def forget(ls: String*): Tactical[Unit]

    Lets you "forget" a sequence of formulas, i.e.

    Lets you "forget" a sequence of formulas, i.e. the tactics version of the weakening rule. The formulas with labels L1,...,Ln will be removed from the current goal.

    ls

    The labels L1,...,Ln.

    Definition Classes
    TacticCommands
  34. def haveInstance(formula: Formula, polarity: Polarity): Tactical[String]

    Instantiates prenex quantifiers to obtain a formula in a given polarity.

    Instantiates prenex quantifiers to obtain a formula in a given polarity.

    Definition Classes
    TacticCommands
  35. def haveInstances(sequent: HOLSequent): Tactical[Sequent[String]]
    Definition Classes
    TacticCommands
  36. def impL: ImpLeftTactic

    Applies the ImpLeft tactic to the current subgoal: The goal

    Applies the ImpLeft tactic to the current subgoal: The goal

    A → B, Γ :- Δ

    is reduced to

    Γ :- Δ, A and B, Γ :- Δ.

    This will only work if there is exactly one implicative formula in the antecedent!

    Definition Classes
    TacticCommands
  37. def impL(applyToLabel: String): ImpLeftTactic

    Applies the ImpLeft tactic to the current subgoal: The goal

    Applies the ImpLeft tactic to the current subgoal: The goal

    A → B, Γ :- Δ

    is reduced to

    Γ :- Δ, A and B, Γ :- Δ.

    applyToLabel

    The label of the formula A → B.

    Definition Classes
    TacticCommands
  38. def impR: ImpRightTactic

    Applies the ImpRight tactic to the current subgoal: The goal

    Applies the ImpRight tactic to the current subgoal: The goal

    Γ :- Δ, A → B

    is reduced to

    A, Γ :- Δ, B.

    This will only work if there is exactly one implicative formula in the succedent!

    Definition Classes
    TacticCommands
  39. def impR(applyToLabel: String): ImpRightTactic

    Applies the ImpRight tactic to the current subgoal: The goal

    Applies the ImpRight tactic to the current subgoal: The goal

    Γ :- Δ, A → B

    is reduced to

    A, Γ :- Δ, B.

    applyToLabel

    The label of the formula A → B.

    Definition Classes
    TacticCommands
  40. def include(label: String, proof: LKProof): Tactical[Unit]

    Uses an LKProof as a lemma.

    Uses an LKProof as a lemma.

    If proof ends in Γ :- φ, then the current goal

    Γ, Π :- Λ

    is reduced to

    Γ, Π, φ :- Λ

    label

    the label for φ in the subgoal

    proof

    The proof to insert as a lemma by a cut.

    Definition Classes
    TacticCommands
  41. def induction(on: Var, label: String)(implicit ctx: Context): InductionTactic

    Applies the Induction tactic to the current subgoal: The goal

    Applies the Induction tactic to the current subgoal: The goal

    Γ, :- Δ, ∀x.A

    is reduced to n new subgoals, where n is the number of constructors of the type of x.

    label

    The label of the formula ∀x.A.

    ctx

    A at.logic.gapt.proofs.Context. It must contain an inductive definition of the type of x.

    Definition Classes
    TacticCommands
  42. def induction(on: Var)(implicit ctx: Context): InductionTactic

    Applies the Induction tactic to the current subgoal: The goal

    Applies the Induction tactic to the current subgoal: The goal

    Γ, :- Δ, ∀x.A

    is reduced to n new subgoals, where n is the number of constructors of the type of x.

    This will only work if there is exactly one universal formula in the succedent!

    ctx

    A at.logic.gapt.proofs.Context. It must contain an inductive definition of the type of x.

    Definition Classes
    TacticCommands
  43. def insert(proof: LKProof): InsertTactic

    Inserts an LKProof for the current subgoal.

    Inserts an LKProof for the current subgoal.

    proof

    The proof to be inserted. Its end-sequent must subsume the current goal.

    Definition Classes
    TacticCommands
  44. def negL: NegLeftTactic

    Applies the NegLeft tactic to the current subgoal: The goal

    Applies the NegLeft tactic to the current subgoal: The goal

    ¬A, Γ :- Δ

    is reduced to

    Γ :- Δ, A.

    This will only work if there is exactly one negated formula in the antecedent!

    Definition Classes
    TacticCommands
  45. def negL(applyToLabel: String): NegLeftTactic

    Applies the NegLeft tactic to the current subgoal: The goal

    Applies the NegLeft tactic to the current subgoal: The goal

    ¬A, Γ :- Δ

    is reduced to

    Γ :- Δ, A.

    applyToLabel

    The label of the formula ¬A.

    Definition Classes
    TacticCommands
  46. def negR: NegRightTactic

    Applies the NegRight tactic to the current subgoal: The goal

    Applies the NegRight tactic to the current subgoal: The goal

    Γ :- Δ, A

    is reduced to

    A, Γ :- Δ.

    This will only work if there is exactly one negated formula in the succedent!

    Definition Classes
    TacticCommands
  47. def negR(applyToLabel: String): NegRightTactic

    Applies the NegRight tactic to the current subgoal: The goal

    Applies the NegRight tactic to the current subgoal: The goal

    Γ :- Δ, ¬A

    is reduced to

    A, Γ :- Δ.

    applyToLabel

    The label of the formula ¬A.

    Definition Classes
    TacticCommands
  48. def now: Tactical[Unit]
    Definition Classes
    TacticCommands
  49. def orL: OrLeftTactic

    Applies the OrLeft tactic to the current subgoal: The goal

    Applies the OrLeft tactic to the current subgoal: The goal

    A ∨ B, Γ :- Δ

    is reduced to

    A, Γ :- Δ and B, Γ :- Δ.

    This will only work if there is exactly one disjunctive formula in the antecedent!

    Definition Classes
    TacticCommands
  50. def orL(applyToLabel: String): OrLeftTactic

    Applies the OrLeft tactic to the current subgoal: The goal

    Applies the OrLeft tactic to the current subgoal: The goal

    A ∨ B, Γ :- Δ

    is reduced to

    A, Γ :- Δ and B, Γ :- Δ.

    applyToLabel

    The label of the formula A ∨ B.

    Definition Classes
    TacticCommands
  51. def orR: OrRightTactic

    Applies the OrRight tactic to the current subgoal: The goal

    Applies the OrRight tactic to the current subgoal: The goal

    Γ :- Δ, A ∨ B

    is reduced to

    Γ :- Δ, A, B.

    This will only work if there is exactly one disjunctive formula in the succedent!

    Definition Classes
    TacticCommands
  52. def orR(applyToLabel: String): OrRightTactic

    Applies the OrRight tactic to the current subgoal: The goal

    Applies the OrRight tactic to the current subgoal: The goal

    Γ :- Δ, A ∨ B

    is reduced to

    Γ :- Δ, A, B.

    applyToLabel

    The label of the formula A ∨ B.

    Definition Classes
    TacticCommands
  53. def prop: PropTactic.type

    Calls the builtin tableau prover on the current subgoal.

    Calls the builtin tableau prover on the current subgoal. If the goal is a tautology, a proof will automatically be found and inserted.

    Definition Classes
    TacticCommands
  54. def prover9: Prover9Tactic.type

    Calls prover9 on the current subgoal.

    Calls prover9 on the current subgoal.

    Definition Classes
    TacticCommands
  55. def quasiprop: QuasiPropTactic.type
    Definition Classes
    TacticCommands
  56. def ref(proofName: String)(implicit ctx: Context): ProofLinkTactic

    Applies the LogicalAxiom tactic to the current subgoal: A subgoal of the form A, Γ :- Δ, A will be closed.

    Applies the LogicalAxiom tactic to the current subgoal: A subgoal of the form A, Γ :- Δ, A will be closed.

    Definition Classes
    TacticCommands
  57. def refl: ReflexivityAxiomTactic.type

    Synonym for axiomRefl.

    Synonym for axiomRefl.

    Definition Classes
    TacticCommands
  58. def renameLabel(oldLabel: String): RenameTactic

    Changes the provided label.

    Changes the provided label. Syntax:

    renameLabel("foo") to "bar"
    oldLabel

    The label to be renamed.

    Definition Classes
    TacticCommands
  59. def repeat[T](t: Tactical[T]): RepeatTactic[T]

    Repeats a tactical until it fails.

    Repeats a tactical until it fails.

    t

    A tactical.

    Definition Classes
    TacticCommands
  60. def rewrite: RewriteTactic

    Rewrites the formula specified by target using (possibly universally quantified) equations.

    Rewrites the formula specified by target using (possibly universally quantified) equations.

    rewrite.many ltr "equation1" in "target"
    rewrite.many ltr ("equation1", "eq2") rtl ("eq3", "eq4") in "target" subst (hov"x" -> le"f(f(c))")

    ltr: rewrite left-to-right using this equation rtl: rewrite right-to-left using this equation many: rewrite as long as possible (default is to only rewrite once)

    Definition Classes
    TacticCommands
  61. def skip: Tactical[Unit]

    Does nothing.

    Does nothing.

    Definition Classes
    TacticCommands
  62. def theory(implicit ctx: Context): Tactical[Unit]

    Declares the current subgoal as a theory axiom, i.e.

    Declares the current subgoal as a theory axiom, i.e. a sequent that is contained in the background theory. This closes the goal.

    ctx

    A at.logic.gapt.proofs.Context. The current subgoal must be contained in its background theory.

    Definition Classes
    TacticCommands
  63. def trivial: Tactical[Unit]

    Attempts to apply the tactics axiomTop, axiomBot, axiomRefl, and axiomLog.

    Attempts to apply the tactics axiomTop, axiomBot, axiomRefl, and axiomLog.

    Definition Classes
    TacticCommands
  64. def unfold(definitions: String*)(implicit ctx: Context): UnfoldTacticHelper

    Replaces a defined constant with its definition.

    Replaces a defined constant with its definition. Syntax:

    unfold("def1", "def2",...,"defn") in ("label1", "label2",...,"labelk")

    NB: This will only replace the first definition it finds in each supplied formula. If you want to unfold all definitions, use repeat.

    definitions

    The definitions def1,...,defn.

    ctx

    A at.logic.gapt.proofs.Context. The definitions you want to unfold need to be present in ctx.

    Definition Classes
    TacticCommands
  65. def viper(implicit ctx: Context): ViperTactic
    Definition Classes
    TacticCommands
  66. object AnyFormula extends TacticApplyMode with Product with Serializable

    Apply a tactic if there is a formula that fits.

  67. object IncompleteLemma
  68. object Lemma
  69. object LemmaMacros
  70. object NewLabel
  71. object NewLabels

    Object that wraps helper function to generate new label from an existing one

  72. object ProofState extends Serializable
  73. object Tactic
  74. object TacticCommands extends TacticCommands

    Predefined tactics in gaptic.

  75. object Tactical
  76. object TacticalFailure extends Serializable
  77. implicit object TacticalMonad extends Monad[Tactical]

    Implementation of the cats.Monad typeclass for Tacticals.

  78. object UniqueFormula extends TacticApplyMode with Product with Serializable

    Apply a tactic only if there is exactly one formula that fits.

  79. object guessLabels

Deprecated Value Members

  1. def sorry: Tactical[Unit]

    Leaves a hole in the current proof by inserting a dummy proof of the empty sequent.

    Leaves a hole in the current proof by inserting a dummy proof of the empty sequent.

    Definition Classes
    TacticCommands
    Annotations
    @deprecated
    Deprecated

    (Since version the dawn of time) Proof not finished!

Inherited from TacticCommands

Inherited from AnyRef

Inherited from Any

Ungrouped