Packages

c

edu.cmu.cs.ls.keymaerax.core

BoundRenaming

final case class BoundRenaming(what: Variable, repl: Variable, pos: SeqPos) extends PositionRule with Product with Serializable

Performs bound renaming renaming all occurrences of variable what (and its associated DifferentialSymbol) to repl. Proper bound renaming requires the replacement to be a fresh variable that does not occur previously.

 G |- [repl:=e]r(P), D
------------------------ BR (where what',repl,repl' do not occur in P)
 G |- [what:=e]P,    D

where r(P) is the result of uniformly renaming what to the (fresh) repl in P. The proof rule works accordingly for diamond modalities, nondeterministic assignments, or quantifiers, or in the antecedent.

 G |- <repl:=e>r(P), D
------------------------ BR (where what',repl,repl' do not occur in P)
 G |- <what:=e>P,    D
 G |- \forall repl r(P), D
--------------------------- BR (where what',repl,repl' do not occur in P)
 G |- \forall what P,    D
 G |- \exists repl r(P), D
--------------------------- BR (where what',repl,repl' do not occur in P)
 G |- \exists what P,    D
 G, [repl:=e]r(P) |- D
------------------------ BR (where what',repl,repl' do not occur in P)
 G, [what:=e]P    |- D
what

What variable (and its associated DifferentialSymbol) to replace.

repl

The target variable to replace what with.

pos

The position at which to perform a bound renaming.

Note

soundness-critical: For bound renaming purposes semantic renaming would be unsound.

See also

UniformRenaming

RenamingClashException

Linear Supertypes
Serializable, Serializable, Product, Equals, PositionRule, Rule, (Sequent) ⇒ List[Sequent], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. BoundRenaming
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. PositionRule
  7. Rule
  8. Function1
  9. AnyRef
  10. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new BoundRenaming(what: Variable, repl: Variable, pos: SeqPos)

    what

    What variable (and its associated DifferentialSymbol) to replace.

    repl

    The target variable to replace what with.

    pos

    The position at which to perform a bound renaming.

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def andThen[A](g: (List[Sequent]) ⇒ A): (Sequent) ⇒ A
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  5. def apply(f: Formula): Formula

    Performs bound renaming what~>repl for a fresh repl on a formula.

    Performs bound renaming what~>repl for a fresh repl on a formula.

    Exceptions thrown

    RenamingClashException if this bound renaming is not admissible for f because repl,repl',what' already occurred, or because a semantic symbol occurs, or because the formula has the wrong shape.

  6. def apply(s: Sequent): List[Sequent]

    Performs bound renaming what~>repl for a fresh repl on a sequent.

    Performs bound renaming what~>repl for a fresh repl on a sequent.

    Definition Classes
    BoundRenaming → Function1
    Exceptions thrown

    RenamingClashException if this bound renaming is not admissible for s at the indicated position because repl,repl',what' already occurred, or because a semantic symbol occurs, or because the formula at pos has the wrong shape.

  7. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  8. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  9. def compose[A](g: (A) ⇒ Sequent): (A) ⇒ List[Sequent]
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  10. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  11. def finalize(): scala.Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  12. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  13. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  14. val name: String

    Name of this proof rule

    Name of this proof rule

    Definition Classes
    BoundRenamingRule
  15. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. final def notify(): scala.Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  17. final def notifyAll(): scala.Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  18. val pos: SeqPos

    The position where this rule will be applied at.

    The position where this rule will be applied at.

    Definition Classes
    BoundRenamingPositionRule
  19. val repl: Variable
  20. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  21. def toString(): String
    Definition Classes
    BoundRenamingPositionRuleRule → Function1 → AnyRef → Any
  22. final def wait(): scala.Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  23. final def wait(arg0: Long, arg1: Int): scala.Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. final def wait(arg0: Long): scala.Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  25. val what: Variable

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from PositionRule

Inherited from Rule

Inherited from (Sequent) ⇒ List[Sequent]

Inherited from AnyRef

Inherited from Any

Ungrouped