trait TacticCommands extends AnyRef

Source
TacticCommands.scala
Linear Supertypes
Known Subclasses
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. TacticCommands
  2. AnyRef
  3. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String
    Implicit
    This member is added by an implicit conversion from TacticCommands to any2stringadd[TacticCommands] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (TacticCommands, B)
    Implicit
    This member is added by an implicit conversion from TacticCommands to ArrowAssoc[TacticCommands] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  6. def allL(terms: LambdaExpression*): 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.

  7. def allL(applyToLabel: String, terms: LambdaExpression*): 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.

  8. 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!

  9. 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.

  10. 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 α.

  11. 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 α.

  12. 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!

  13. 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.

  14. 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!

  15. 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.

  16. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  17. def axiomBot: BottomAxiomTactic.type

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

  18. def axiomLog: LogicalAxiomTactic.type

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

  19. def axiomRefl: ReflexivityAxiomTactic.type

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

  20. def axiomTop: TopAxiomTactic.type

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

  21. def chain(h: String): ChainTactic
  22. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  23. def currentGoal: Tactic[OpenAssumption]

    Retrieves the current subgoal.

  24. def cut(label: String, cutFormula: HOLFormula): 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.

  25. 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

  26. def destruct(label: String): DestructTactic
  27. def ensuring(cond: (TacticCommands) ⇒ Boolean, msg: ⇒ Any): TacticCommands
    Implicit
    This member is added by an implicit conversion from TacticCommands to Ensuring[TacticCommands] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  28. def ensuring(cond: (TacticCommands) ⇒ Boolean): TacticCommands
    Implicit
    This member is added by an implicit conversion from TacticCommands to Ensuring[TacticCommands] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  29. def ensuring(cond: Boolean, msg: ⇒ Any): TacticCommands
    Implicit
    This member is added by an implicit conversion from TacticCommands to Ensuring[TacticCommands] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  30. def ensuring(cond: Boolean): TacticCommands
    Implicit
    This member is added by an implicit conversion from TacticCommands to Ensuring[TacticCommands] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  31. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  32. 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.

  33. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  34. def escargot: EscargotTactic.type

    Calls escargot on the current subgoal.

  35. 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!

  36. 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.

  37. 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 α.

  38. 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 α.

  39. def exR(terms: LambdaExpression*): 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.

  40. def exR(applyToLabel: String, terms: LambdaExpression*): 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.

  41. def fail: Tactical[Nothing]

    Tactic that immediately fails.

  42. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  43. 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.

  44. 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.

  45. 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.

  46. 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.

  47. def formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from TacticCommands to StringFormat[TacticCommands] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  48. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  49. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  50. def haveInstance(formula: HOLFormula, polarity: Polarity): Tactical[String]

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

  51. def haveInstances(sequent: HOLSequent): Tactical[Sequent[String]]
  52. 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!

  53. 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.

  54. 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!

  55. 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.

  56. 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.

  57. 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.

  58. 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.

  59. 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.

  60. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  61. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  62. 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!

  63. 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.

  64. 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!

  65. 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.

  66. final def notify(): Unit
    Definition Classes
    AnyRef
  67. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  68. 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!

  69. 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.

  70. 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!

  71. 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.

  72. 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.

  73. def prover9: Prover9Tactic.type

    Calls prover9 on the current subgoal.

  74. def quasiprop: QuasiPropTactic.type
  75. def refl: ReflexivityAxiomTactic.type

    Synonym for axiomRefl.

  76. def renameLabel(oldLabel: String): RenameTactic

    Changes the provided label.

    Changes the provided label. Syntax:

    renameLabel("foo") to "bar"
    oldLabel

    The label to be renamed.

  77. def repeat[T](t: Tactical[T]): RepeatTactic[T]

    Repeats a tactical until it fails.

    Repeats a tactical until it fails.

    t

    A tactical.

  78. 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)

  79. def skip: SkipTactical.type

    Does nothing.

  80. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  81. 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.

  82. def toString(): String
    Definition Classes
    AnyRef → Any
  83. def trivial: Tactic[Unit]

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

  84. def unfold(definition: String, 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.

    definition

    The definition def1.

    definitions

    The definitions def2,...,defn.

    ctx

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

  85. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  86. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  87. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  88. def [B](y: B): (TacticCommands, B)
    Implicit
    This member is added by an implicit conversion from TacticCommands to ArrowAssoc[TacticCommands] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Deprecated Value Members

  1. def sorry: Tactic[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.

    Annotations
    @deprecated
    Deprecated

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

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from TacticCommands to any2stringadd[TacticCommands]

Inherited by implicit conversion StringFormat from TacticCommands to StringFormat[TacticCommands]

Inherited by implicit conversion Ensuring from TacticCommands to Ensuring[TacticCommands]

Inherited by implicit conversion ArrowAssoc from TacticCommands to ArrowAssoc[TacticCommands]

Ungrouped