class TemplateLemmas extends TaylorModel
- Alphabetic
- By Inheritance
- TemplateLemmas
- TaylorModel
- Serializable
- Serializable
- Product
- Equals
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new TemplateLemmas(ode: DifferentialProgram, order: Int)
Type Members
-
class
TimeStep extends AnyRef
Infrastructure for a concrete Taylor model time step:
Infrastructure for a concrete Taylor model time step:
Input: (linearly) preconditioned Taylor model (TM_l o RM_r), initial time t0, x0.provable: context |- x = TM_l(r) (zero interval term) r0.provable: context |- r = TM_r(e) t0: context |- t = t0 (implicitly) context |- e \in [-1, 1] (suitable for IntervalArithmeticV2) // @todo: make these assumptions more explicit
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
val
boxTMEnclosure: Box
- Definition Classes
- TaylorModel
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
def
cutTM(prec: Integer, antepos: AntePosition, qeTool: QETacticTool, remainder_estimation: IndexedSeq[(BigDecimal, BigDecimal)] = ...): DependentPositionTactic
- Definition Classes
- TaylorModel
-
val
dim: Int
- Attributes
- protected
- Definition Classes
- TaylorModel
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
getBoundees(fml: Formula): List[Term]
- Attributes
- protected
- Definition Classes
- TaylorModel
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
val
initial_condition: And
- Definition Classes
- TaylorModel
-
def
instantiateLemma(prec: Integer, t0: Term, timebound: Term, precond: (Integer, Integer) ⇒ Term, precondC: (Integer) ⇒ Term, lowers: (Integer) ⇒ Term, uppers: (Integer) ⇒ Term, remainder_estimation: (Integer) ⇒ (BigDecimal, BigDecimal)): USubstOne
- Definition Classes
- TaylorModel
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
iterateTimeSteps(x0: Seq[TM], r0: Seq[TM], t0: ProvableSig, h: BigDecimal, prv: ProvableSig, n: Int)(implicit options: TaylorModelOptions, timeStepOptions: TimeStepOptions): (Seq[TM], Seq[TM], ProvableSig, ProvableSig)
the iteration of timeStepAndPrecondition
-
lazy val
lemma: ProvableSig
- Definition Classes
- TaylorModel
-
val
names: TMNames
- Definition Classes
- TaylorModel
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
val
numbericCondition: And
- Definition Classes
- TaylorModel
-
val
numericAssumption: And
- Definition Classes
- TaylorModel
-
def
numericPicardIteration(prec: Integer, boundees: IndexedSeq[Term], timebound: Term, right_bounds: List[Formula], remainder_estimation: IndexedSeq[(BigDecimal, BigDecimal)], constant_errors: IndexedSeq[(BigDecimal, BigDecimal)]): Option[IndexedSeq[(BigDecimal, BigDecimal)]]
- Definition Classes
- TaylorModel
-
val
ode: DifferentialProgram
- Definition Classes
- TaylorModel
-
val
order: Int
- Definition Classes
- TaylorModel
-
val
params: Set[FuncOf]
- Attributes
- protected
- Definition Classes
- TaylorModel
-
lazy val
postEq: ProvableSig
- Definition Classes
- TaylorModel
-
val
state: List[Variable]
- Attributes
- protected
- Definition Classes
- TaylorModel
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
val
time: Variable
- Attributes
- protected
- Definition Classes
- TaylorModel
-
def
timeStepAndPrecondition(x0: Seq[TM], r0: Seq[TM], t0: ProvableSig, h: BigDecimal, prv: ProvableSig)(implicit options: TaylorModelOptions, timeStepOptions: TimeStepOptions): (Seq[TM], Seq[TM], ProvableSig, ProvableSig)
- returns
(x1, r1, t1) suitable input to iterate this function (identity preconditioned) t1: proof of "t = t0 + h" prv1: Provable with one subgoal of the form x = x1 o r1, t = t0 +h |- [{x'=ode(x)}]P(x)
-
lazy val
timestepLemma: ProvableSig
- Definition Classes
- TaylorModel
-
def
tmMonomial(coeff: Term, exponents: List[Int]): Term
Just a template polynomial whose coefficients are supposed to be close to picard_iterationR only uses those coefficients that are actually used
Just a template polynomial whose coefficients are supposed to be close to picard_iterationR only uses those coefficients that are actually used
- Definition Classes
- TaylorModel
-
val
vars: List[Variable]
- Attributes
- protected
- Definition Classes
- TaylorModel
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
KeYmaera X: An aXiomatic Tactical Theorem Prover
KeYmaera X is a theorem prover for differential dynamic logic (dL), a logic for specifying and verifying properties of hybrid systems with mixed discrete and continuous dynamics. Reasoning about complicated hybrid systems requires support for sophisticated proof techniques, efficient computation, and a user interface that crystallizes salient properties of the system. KeYmaera X allows users to specify custom proof search techniques as tactics, execute tactics in parallel, and interface with partial proofs via an extensible user interface.
http://keymaeraX.org/
Concrete syntax for input language Differential Dynamic Logic
Package Structure
Main documentation entry points for KeYmaera X API:
edu.cmu.cs.ls.keymaerax.core- KeYmaera X kernel, proof certificates, main data structuresExpression- Differential dynamic logic expressions:Term,Formula,ProgramSequent- Sequents of formulasProvable- Proof certificates transformed by rules/axiomsRule- Proof rules as well asUSubstOnefor (one-pass) uniform substitutions and renaming.StaticSemantics- Static semantics with free and bound variable analysisKeYmaeraXParser.edu.cmu.cs.ls.keymaerax.parser- Parser and pretty printer with concrete syntax and notation for differential dynamic logic.KeYmaeraXPrettyPrinter- Pretty printer producing concrete KeYmaera X syntaxKeYmaeraXParser- Parser reading concrete KeYmaera X syntaxKeYmaeraXArchiveParser- Parser reading KeYmaera X model and proof archive.kyxfilesDLParser- Combinator parser reading concrete KeYmaera X syntaxDLArchiveParser- Combinator parser reading KeYmaera X model and proof archive.kyxfilesedu.cmu.cs.ls.keymaerax.infrastruct- Prover infrastructure outside the kernelUnificationMatch- Unification algorithmRenUSubst- Renaming Uniform Substitution quickly combining kernel's renaming and substitution.Context- Representation for contexts of formulas in which they occur.Augmentors- Augmenting formula and expression data structures with additional functionalityExpressionTraversal- Generic traversal functionality for expressionsedu.cmu.cs.ls.keymaerax.bellerophon- Bellerophon tactic language and tactic interpreterBelleExpr- Tactic language expressionsSequentialInterpreter- Sequential tactic interpreter for Bellerophon tacticsedu.cmu.cs.ls.keymaerax.btactics- Bellerophon tactic library for conducting proofs.TactixLibrary- Main KeYmaera X tactic library including many proof tactics.HilbertCalculus- Hilbert Calculus for differential dynamic logicSequentCalculus- Sequent Calculus for propositional and first-order logicHybridProgramCalculus- Hybrid Program Calculus for differential dynamic logicDifferentialEquationCalculus- Differential Equation Calculus for differential dynamic logicUnifyUSCalculus- Unification-based uniform substitution calculus underlying the other calculi[edu.cmu.cs.ls.keymaerax.btactics.UnifyUSCalculus.ForwardTactic ForwardTactic]- Forward tactic framework for conducting proofs from premises to conclusionsedu.cmu.cs.ls.keymaerax.lemma- Lemma mechanismLemma- Lemmas are Provables stored under a name, e.g., in files.LemmaDB- Lemma database stored in files or database etc.edu.cmu.cs.ls.keymaerax.tools.qe- Real arithmetic back-end solversMathematicaQETool- Mathematica interface for real arithmetic.Z3QETool- Z3 interface for real arithmetic.edu.cmu.cs.ls.keymaerax.tools.ext- Extended back-ends for noncritical ODE solving, counterexamples, algebra, simplifiers, etc.Mathematica- Mathematica interface for ODE solving, algebra, simplification, invariant generation, etc.Z3- Z3 interface for real arithmetic including simplifiers.Entry Points
Additional entry points and usage points for KeYmaera X API:
edu.cmu.cs.ls.keymaerax.launcher.KeYmaeraX- Command-line launcher for KeYmaera X supports command-line argument-helpto obtain usage informationedu.cmu.cs.ls.keymaerax.btactics.AxIndex- Axiom indexing data structures with keys and recursors for canonical proof strategies.edu.cmu.cs.ls.keymaerax.btactics.DerivationInfo- Meta-information on all derivation steps (axioms, derived axioms, proof rules, tactics) with user-interface info.edu.cmu.cs.ls.keymaerax.bellerophon.UIIndex- Index determining which canonical reasoning steps to display on the KeYmaera X User Interface.edu.cmu.cs.ls.keymaerax.btactics.Ax- Registry for derived axioms and axiomatic proof rules that are proved from the core.References
Full references on KeYmaera X are provided at http://keymaeraX.org/. The main references are the following:
1. André Platzer. A complete uniform substitution calculus for differential dynamic logic. Journal of Automated Reasoning, 59(2), pp. 219-265, 2017.
2. Nathan Fulton, Stefan Mitsch, Jan-David Quesel, Marcus Völp and André Platzer. KeYmaera X: An axiomatic tactical theorem prover for hybrid systems. In Amy P. Felty and Aart Middeldorp, editors, International Conference on Automated Deduction, CADE'15, Berlin, Germany, Proceedings, volume 9195 of LNCS, pp. 527-538. Springer, 2015.
3. André Platzer. Logical Foundations of Cyber-Physical Systems. Springer, 2018. Videos