package qe
- Alphabetic
- Public
- All
Type Members
-
abstract
class
BaseMathematicaCommandRunner extends MathematicaCommandRunner
Base class for running Mathematica commands synchronously.
-
case class
BinaryMathOpSpec(op: Expr) extends MathematicaOpSpec with Product with Serializable
Binary Math operators.
-
case class
InterpretedMathOpSpec(op: Expr) extends MathematicaOpSpec with Product with Serializable
Interpreted functions.
-
case class
JLinkMathematicaCommandRunner(ml: KernelLink) extends BaseMathematicaCommandRunner with Logging with Product with Serializable
Runs a command using the supplied JLink
ml
. -
trait
K2MConverter[T] extends (T) ⇒ MExpr
Converts KeYmaera X -> Mathematica.
Converts KeYmaera X -> Mathematica.
- T
usually Expression, but also other source types for non-soundness-critical conversions.
-
class
KMComparator extends AnyRef
Compares Mathematica expressions for equality (handles conversion differences, since Mathematica silently converts some expressions, e.g.
Compares Mathematica expressions for equality (handles conversion differences, since Mathematica silently converts some expressions, e.g. division 2/5 into rational 2/5).
- class KeYmaeraToMathematica extends K2MConverter[KExpr]
-
case class
LiteralMathOpSpec(op: Expr) extends MathematicaOpSpec with Product with Serializable
Math literals.
-
trait
M2KConverter[T] extends (MExpr) ⇒ T
Converts Mathematica -> KeYmaera X.
Converts Mathematica -> KeYmaera X.
- T
usually Expression, but also other target types for non-soundness-critical conversions.
- class MKComparator[T] extends AnyRef
-
trait
MathematicaCommandRunner extends AnyRef
Interface for running and cancelling a Mathematica command.
-
trait
MathematicaOpSpec extends AnyRef
Mathematica operator notation.
-
class
MathematicaQETool extends QETool
A QE tool implementation using the provided link to Mathematica/Wolfram Engine.
- class MathematicaToKeYmaera extends M2KConverter[KExpr]
-
case class
NameMathOpSpec(k2m: (NamedSymbol, Array[Expr]) ⇒ Expr, applies: (Expr) ⇒ Boolean) extends Product with Serializable
NamedSymbol operators, with
k2m
converterNamedSymbol operators, with
k2m
converter(name, args) => Expr
. (name, args) => Expr }}}
-
case class
NaryMathOpSpec(op: Expr) extends MathematicaOpSpec with Product with Serializable
Nary Math operators.
-
case class
QuantifiedMathOpSpec(op: Expr) extends MathematicaOpSpec with Product with Serializable
Quantifier Math operators.
-
abstract
class
SMTConverter extends (Formula) ⇒ String
Base class for SMT converters with conversion per SMTLib specification.
Base class for SMT converters with conversion per SMTLib specification. Created by ran on 8/24/15.
-
case class
UnaryMathOpSpec(op: Expr) extends MathematicaOpSpec with Product with Serializable
Unary Math operators.
-
final
class
Z3QETool extends Tool with QETool with ToolOperationManagement
Z3 trusted quantifier elimination tool.
Z3 trusted quantifier elimination tool.
- See also
edu.cmu.cs.ls.keymaerax.btactics.Z3ToolProvider to obtain instances of Z3 that are properly initialized and installed/updated. Created by smitsch on 4/27/15.
-
class
Z3Solver extends ToolOperationManagementBase with Logging
Starts a Z3 process with the binary at
z3Path
, converting KeYmaera X datastructures to SMT-Lib format withconverter
.
Value Members
-
object
BigDecimalQETool extends Tool with QETool
Proves quantifier- and variable-free arithmetic formulas by exact arithmetic evaluation using java.math.BigDecimal.
Proves quantifier- and variable-free arithmetic formulas by exact arithmetic evaluation using java.math.BigDecimal. Ground term evaluation for formulas with concrete number arithmetic.
- Note
Java's BigDecimal is clearer and has less indirection than Scala's BigDecimal.
-
object
DefaultSMTConverter extends SMTConverter
A default SMT converter with output as preferred by KeYmaera X.
-
object
ExprFactory
Creates Expr objects.
-
object
JLinkMathematicaCommandRunner extends Serializable
JLink command runner companion: keeps track of issued queries.
-
object
KMComparator
Implicit conversion from Mathematica expressions to comparator.
-
object
KeYmaeraToMathematica extends KeYmaeraToMathematica
Converts KeYmaeara X expression data structures to Mathematica Expr objects.
-
object
MKComparator
Implicit conversion from KeYmaera expressions to comparator.
-
object
MathematicaConversion
Mathematica conversion support to check results for having failed/being aborted, and safely importing Mathematica expressions into KeYmaera X.
Mathematica conversion support to check results for having failed/being aborted, and safely importing Mathematica expressions into KeYmaera X.
- See also
M2KConverter for converting Mathematica -> KeYmaera X
K2MConverter for converting KeYmaera X -> Mathematica
-
object
MathematicaOpSpec
Mathematica operator specifications with conversions.
-
object
MathematicaToKeYmaera extends MathematicaToKeYmaera
Converts com.wolfram.jlink.Expr to Expression.
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
,Program
Sequent
- Sequents of formulasProvable
- Proof certificates transformed by rules/axiomsRule
- Proof rules as well asUSubstOne
for (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.kyx
filesDLParser
- Combinator parser reading concrete KeYmaera X syntaxDLArchiveParser
- Combinator parser reading KeYmaera X model and proof archive.kyx
filesedu.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-help
to 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