Packages

c

edu.cmu.cs.ls.keymaerax.core

SubstitutionPair

final case class SubstitutionPair(what: Expression, repl: Expression) extends Product with Serializable

Representation of a substitution replacing what with repl uniformly, everywhere. Data structure invariant: Only substitutable expressions will be accepted for what with compatible repl.

what

the expression to be replaced. what can have one of the following forms:

repl

the expression to be used in place of what.

See also

USubstOne

USubstChurch

Andre Platzer. A complete uniform substitution calculus for differential dynamic logic. Journal of Automated Reasoning, 59(2), pp. 219-266, 2017.

Andre Platzer. Uniform substitution at one fell swoop. In Pascal Fontaine, editor, International Conference on Automated Deduction, CADE'19, Natal, Brazil, Proceedings, volume 11716 of LNCS, pp. 425-441. Springer, 2019.

Linear Supertypes
Serializable, Serializable, Product, Equals, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SubstitutionPair
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new SubstitutionPair(what: Expression, repl: Expression)

    what

    the expression to be replaced. what can have one of the following forms:

    repl

    the expression to be used in place of what.

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. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. lazy val boundVars: SetLattice[Variable]

    The (new) bound variables that this substitution introduces.

    The (new) bound variables that this substitution introduces. That is the (new) bound variables introduces by this substitution, i.e. all bound variables of repl. These are all the bound variables of the formula or program repl (and irrelevant bottom for terms).

    See also

    StaticSemantics.boundVars(a:edu\.cmu\.cs\.ls\.keymaerax\.core\.Program):edu\.cmu\.cs\.ls\.keymaerax\.core\.SetLattice[edu\.cmu\.cs\.ls\.keymaerax\.core\.Variable]*

  6. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def finalize(): scala.Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. lazy val freeVars: SetLattice[Variable]

    The (new) free variables that this substitution introduces (without DotTerm/DotFormula arguments).

    The (new) free variables that this substitution introduces (without DotTerm/DotFormula arguments). That is the (new) free variables introduced by this substitution, i.e. free variables of repl that are not bound as arguments in what.

    returns

    essentially freeVars(repl) except for special handling of UnitFunctional and UnitPredicational arguments.

    See also

    Definition 19 in Andre Platzer. A complete uniform substitution calculus for differential dynamic logic. Journal of Automated Reasoning, 59(2), pp. 219-266, 2017.

    StaticSemantics.freeVars(f:edu\.cmu\.cs\.ls\.keymaerax\.core\.Formula):edu\.cmu\.cs\.ls\.keymaerax\.core\.SetLattice[edu\.cmu\.cs\.ls\.keymaerax\.core\.Variable]*

  10. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. final def notify(): scala.Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  14. final def notifyAll(): scala.Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  15. val repl: Expression
  16. lazy val signature: Set[NamedSymbol]

    The signature of the replacement introduced by this substitution.

    The signature of the replacement introduced by this substitution.

    Note

    DotTerm and DotFormula arguments don't literally occur if bound by p(DotTerm) ~> DotTerm>5

  17. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  18. def toString(): String
    Definition Classes
    SubstitutionPair → AnyRef → Any
  19. final def wait(): scala.Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  20. final def wait(arg0: Long, arg1: Int): scala.Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  21. final def wait(arg0: Long): scala.Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  22. val what: Expression

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped