KeYmaera X: Documentation

Table of Contents
  1. Documentation
  2. Using KeYmaera X
    1. User Tutorial Video
    2. First-time Setup
    3. Models
    4. Proofs
    5. Tactics
  3. Tool Architecture
  4. How to Cite KeYmaera X
  5. Selected Publications
⇓ Download or get
Source or read
Book or watch
Videos

Documentation

Additional information: Cheat Sheet or
Textbook or
Videos or
User Videos or
Wiki or
API Doc
or
FM tutorial or
LICS tutorial or
LICS slides or
STTT tutorial

Using KeYmaera X

After starting KeYmaera X and signing in, usage information can be obtained from the Help menu on the top right. You also always have the button  ?  for quick help.

User Tutorial Video

KeYmaera X user videos on YouTube
  1. Usage Overview

First-time Setup

  1. When the KeYmaera X Prover opens for the first time in the web browser, register a new user name and password for your logical proof storage database. Choose a password that you are not using anywhere else.
  2. Configure your arithmetic solver from the menu KeYmaera X→Preferences and choose Save Configuration. At present, the support for Mathematica and Wolfram Engine provide more functionality than that of Z3 which ships with KeYmaera X.
  3. To get started you may want to import the textbook examples by going to menu KeYmaera X→Models and then select Import for the LFCPS 2018 Textbook collection.

Models

KeYmaera X→Models menu entry displays your CPS models. Import models from tutorials or load your own models with KeYmaera X→New Model. Choose an action to show or start proofs for a specific model, generate monitors, code, or test cases. As a simple example, remember the bouncing ball from your childhood days.

Illustrates a bouncing ball falling in gravity and bouncing back from the ground
[KeYmaera X Model]

Proofs

KeYmaera X→Proofs menu entry displays all CPS proofs that you've completed or started. Choose an action to open or export a proof. You can start a new proof by selecting the action Start Proof on your favorite model listed from the KeYmaera X→Proofs menu entry.

Tactics

Tactics are used extensively in the implementation of KeYmaera X. They are also useful to customize proof search for a model. One way to learn how KeYmaera X tactics work is to observe how KeYmaera X automatically generates a tactic for you as you interact with a proof. Select the Tactic tab at any time while proving a model to see what tactic program would have performed the same proof you just did per hand.

Several of the tutorial examples also come with a range of different styles of tactics that prove them.

  1. Click KeYmaera X→Models menu entry.
  2. Click on Browse in the tactics column for one of the models.
  3. Click Prove associated model.
These examples are also provable directly with much simpler tactics or fully automatically. But the custom tactics demonstrate different features and give a good idea on the structure of the resulting proof.

The tactics language Bellerophon and its tactic library is also described in the ScalaDoc API.

Tool Architecture

KeYmaera X was designed to achieve powerful automation of hybrid systems theorem proving while ensuring soundness. The architecture of KeYmaera X is separated into a small, soundness-critical kernel and an extensive tactic framework to regain and exceed the convenience of powerful proof rules.
KeYmaera X is powered by multidynamics technology.

How to Cite KeYmaera X

There are many papers about KeYmaera X. Its theory and proof calculus are described in JAR'17:
  1. André Platzer.
    A complete uniform substitution calculus for differential dynamic logic.
    Journal of Automated Reasoning, 59(2), pp. 219-265, 2017. © The author
    [bib | pdf | doi | arXiv]

The system description for the theorem prover KeYmaera X appeared at CADE'15:
  1. 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. © Springer-Verlag
    [bib | pdf | doi | slides | poster | tool]

A very readable textbook appeared with Springer 2018:
  1. André Platzer.
    Logical Foundations of Cyber-Physical Systems.
    Springer, Cham, 2018. 659 pages. ISBN 978-3-319-63587-3.
    [bib | doi | slides | video | book | web | errata]

The tactics framework and tactic library is described at ITP'17:
  1. Nathan Fulton, Stefan Mitsch, Brandon Bohrer and André Platzer.
    Bellerophon: Tactical theorem proving for hybrid systems.
    In Mauricio Ayala-Rincón and César A. Muñoz, editors, Interactive Theorem Proving, International Conference, ITP 2017, volume 10499 of LNCS, pp. 207-224. Springer, 2017. © Springer-Verlag
    [bib | pdf | doi | slides | kyx]

The canonical reference for controller and model monitors generated by KeYmaera X's ModelPlex is in FMSD'16:
  1. Stefan Mitsch and André Platzer.
    ModelPlex: Verified runtime validation of verified cyber-physical system models.
    Formal Methods in System Design, 49(1), pp. 33-74. 2016.
    Special issue for selected papers from RV'14. © The authors
    [bib | pdf | doi | RV'14]

Automatic differential equation proving appeared at LICS'18:
  1. André Platzer and Yong Kiam Tan.
    Differential equation axiomatization:
       The impressive power of differential ghosts.
    In Anuj Dawar and Erich Grädel, editors, Proceedings of the 33rd Annual ACM/IEEE Symposium on Logic in Computer Science, LICS'18, pp. 819-828. ACM 2018. © The authors
    [bib | pdf | doi | slides | arXiv]

The verified toolchain to correctly compile to executables is at PLDI'18:
  1. Brandon Bohrer, Yong Kiam Tan, Stefan Mitsch, Magnus O. Myreen and André Platzer.
    VeriPhy: Verified controller executables from verified cyber-physical system models.
    In Dan Grossmann, editor, Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2018, pp. 617-630. ACM 2018. © The authors
    [bib | pdf | doi | slides | video | tool]

The invariant generator for KeYmaera X is described in FM'19:
  1. Andrew Sogokon, Stefan Mitsch, Yong Kiam Tan, Katherine Cordwell and André Platzer.
    Pegasus: A framework for sound continuous invariant generation.
    In Maurice ter Beek, Annabelle McIver, and José N. Oliviera, editors, FM 2019: Formal Methods - The Next 30 Years, volume 11800 of LNCS, pp. 138-157. Springer, 2019. © Springer
    This paper was awarded the FM Best Tool Paper Award.
    [bib | pdf | doi | slides | tool]

Selected Publications

The differential dynamic logic [2,9] and proof calculus that KeYmaera X implements are described in detail [13,18]. The KeYmaera X theorem prover itself is described in a tool paper [14] and its tactics language Bellerophon at ITP [22]. A tutorial on the modeling language that KeYmaera X uses can be found in STTT [12]. A tutorial on differential dynamic logic and its proof principles appeared at LICS [9]. A comprehensive introduction into the core principles of cyber-physical systems, including their modeling and proving principles can be found in a textbook [23].
  1. Andrew Sogokon, Stefan Mitsch, Yong Kiam Tan, Katherine Cordwell and André Platzer.
    Pegasus: A framework for sound continuous invariant generation.
    In Maurice ter Beek, Annabelle McIver, and José N. Oliviera, editors, FM 2019: Formal Methods - The Next 30 Years, volume 11800 of LNCS, pp. 138-157. Springer, 2019. © Springer
    This paper was awarded the FM Best Tool Paper Award.
    [bib | pdf | doi | slides | tool]

  2. Brandon Bohrer, Manuel Fernández and André Platzer.
    dLɩ Definite descriptions in differential dynamic logic.
    In Pascal Fontaine, editor, International Conference on Automated Deduction, CADE'19, Natal, Brazil, Proceedings, volume 11716 of LNCS, pp. 94-110. Springer, 2019. © Springer-Verlag
    [bib | pdf | doi | slides | TR]

  3. André 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. © The author
    [bib | pdf | doi | slides | Isabelle | arXiv]

  4. André Platzer and Yong Kiam Tan.
    Differential equation axiomatization:
       The impressive power of differential ghosts.
    In Anuj Dawar and Erich Grädel, editors, Proceedings of the 33rd Annual ACM/IEEE Symposium on Logic in Computer Science, LICS'18, pp. 819-828. ACM 2018. © The authors
    [bib | pdf | doi | slides | arXiv]

  5. André Platzer.
    Uniform substitution for differential game logic.
    In Didier Galmiche, Stephan Schulz and Roberto Sebastiani, editors, Automated Reasoning, 9th International Joint Conference, IJCAR 2018, Oxford, UK, Proceedings, volume 10900 of LNCS, pp. 211-227. Springer 2018. © Springer-Verlag
    [bib | pdf | doi | slides | arXiv]

  6. Brandon Bohrer, Yong Kiam Tan, Stefan Mitsch, Magnus O. Myreen and André Platzer.
    VeriPhy: Verified controller executables from verified cyber-physical system models.
    In Dan Grossmann, editor, Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2018, pp. 617-630. ACM 2018. © The authors
    [bib | pdf | doi | slides | video | tool]

  7. Nathan Fulton and André Platzer.
    Safe reinforcement learning via formal methods:
       Toward safe control through proof and learning.
    In Sheila A. McIlraith and Kilian Q. Weinberger, editors, AAAI Conference on Artificial Intelligence, pp. 6485-6492. AAAI 2018. © AAAI Press
    [bib | pdf | eprint | slides]

  8. Stefan Mitsch, Marco Gario, Christof J. Budnik, Michael Golm and André Platzer.
    Formal verification of train control with air pressure brakes.
    In Alessandro Fantechi, Thierry Lecomte and Alexander Romanovsky, editors, RSSRail 2017: Reliability, Safety, and Security of Railway Systems, volume 10598 of LNCS, pp. 173-191. Springer, 2017. © Springer-Verlag
    [bib | pdf | doi | slides]

  9. Stefan Mitsch, Khalil Ghorbal, David Vogelbacher, and André Platzer.
    Formal verification of obstacle avoidance and navigation of ground robots.
    International Journal of Robotics Research. 36(12), pp. 1312-1340, 2017. © The authors
    [bib | pdf | doi | kyx | arXiv]

  10. André Platzer.
    Logical Foundations of Cyber-Physical Systems.
    Springer, Cham, 2018. 659 pages. ISBN 978-3-319-63587-3.
    [bib | doi | slides | video | book | web | errata]

  11. Nathan Fulton, Stefan Mitsch, Brandon Bohrer and André Platzer.
    Bellerophon: Tactical theorem proving for hybrid systems.
    In Mauricio Ayala-Rincón and César A. Muñoz, editors, Interactive Theorem Proving, International Conference, ITP 2017, volume 10499 of LNCS, pp. 207-224. Springer, 2017. © Springer-Verlag
    [bib | pdf | doi | slides | kyx]

  12. Andreas Müller, Stefan Mitsch, Werner Retschitzegger, Wieland Schwinger and André Platzer.
    Change and delay contracts for hybrid system component verification.
    In Marieke Huisman and Julia Rubin, editors, Fundamental Approaches to Software Engineering. FASE 2017, volume 10202 of LNCS, pp. 134-151. Springer, 2017. © Springer-Verlag
    [bib | pdf | doi | slides | study | STTT'18]

  13. Brandon Bohrer, Vincent Rahli, Ivana Vukotic, Marcus Völp, and André Platzer.
    Formally verified differential dynamic logic.
    Certified Programs and Proofs - 6th ACM SIGPLAN Conference, CPP 2017, Paris, France, January 16-17, 2017, pp. 208-221, ACM, 2017. © ACM
    [bib | pdf | doi | slides | Isabelle | Coq]

  14. Jean-Baptiste Jeannin, Khalil Ghorbal, Yanni Kouskoulas, Aurora Schmidt, Ryan Gardner, Stefan Mitsch, and André Platzer.
    A formally verified hybrid system for safe advisories in the next-generation airborne collision avoidance system.
    STTT, 19(6), pp. 717-741, 2017.
    Special issue for selected papers from TACAS'15. © Springer-Verlag
    [bib | pdf | doi | kyx | study | TACAS'15]

  15. André Platzer.
    A complete uniform substitution calculus for differential dynamic logic.
    Journal of Automated Reasoning, 59(2), pp. 219-265, 2017. © The author
    [bib | pdf | doi | arXiv]

  16. Stefan Mitsch and André Platzer.
    ModelPlex: Verified runtime validation of verified cyber-physical system models.
    Formal Methods in System Design, 49(1), pp. 33-74. 2016.
    Special issue for selected papers from RV'14. © The authors
    [bib | pdf | doi | RV'14]

  17. André Platzer.
    Logic & proofs for cyber-physical systems.
    In Nicola Olivetti and Ashish Tiwari, editors, Automated Reasoning, 8th International Joint Conference, IJCAR 2016, Coimbra, Portugal, Proceedings, volume 9706 of LNCS, pp. 15-21. Springer, 2016. © Springer-Verlag
    Invited paper.
    [bib | pdf | doi | slides]

  18. Nathan Fulton and André Platzer.
    A logic of proofs for differential dynamic logic:
       Toward independently checkable proof certificates for dynamic logics.
    In Jeremy Avigad and Adam Chlipala, editors, Proceedings of the 2016 Conference on Certified Programs and Proofs, CPP 2016, St. Petersburg, FL, USA, January 18-19, 2016, pp. 110-121. ACM, 2016. © ACM
    [bib | pdf | doi | slides]

  19. 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. © Springer-Verlag
    [bib | pdf | doi | slides | poster | tool]

  20. André Platzer.
    A uniform substitution calculus for differential dynamic logic.
    In Amy P. Felty and Aart Middeldorp, editors, International Conference on Automated Deduction, CADE'15, Berlin, Germany, Proceedings, volume 9195 of LNCS, pp. 467-481. Springer, 2015. © Springer-Verlag
    [bib | pdf | doi | slides | arXiv]

  21. Jan-David Quesel, Stefan Mitsch, Sarah Loos, Nikos Aréchiga, and André Platzer.
    How to model and prove hybrid systems with KeYmaera: A tutorial on safety.
    STTT, 18(1), pp. 67-91, 2016. © Springer-Verlag
    [bib | pdf | doi]

  22. André Platzer.
    Differential game logic.
    ACM Trans. Comput. Log. 17(1), pp. 1:1-1:52, 2015. © The author
    [bib | pdf | doi | arXiv]

  23. André Platzer.
    Dynamic logics of dynamical systems.
    arXiv:1205.4788, May 2012.
    [bib | pdf | arXiv]

  24. André Platzer.
    Logics of dynamical systems.
    ACM/IEEE Symposium on Logic in Computer Science, LICS 2012, June 25–28, 2012, Dubrovnik, Croatia, pp. 13-24. IEEE 2012. © IEEE
    Invited paper.
    [bib | pdf | doi | slides]

  25. André Platzer.
    The complete proof theory of hybrid systems.
    ACM/IEEE Symposium on Logic in Computer Science, LICS 2012, June 25–28, 2012, Dubrovnik, Croatia, pp. 541-550. IEEE 2012. © IEEE
    [bib | pdf | doi | slides | TR]

  26. André Platzer.
    The structure of differential invariants and differential cut elimination.
    Logical Methods in Computer Science, 8(4), pp. 1-38, 2012. © The author
    [bib | pdf | doi | eprint | arXiv]

  27. André Platzer.
    Logic and compositional verification of hybrid systems.
    In Ganesh Gopalakrishnan and Shaz Qadeer, editors, Computer Aided Verification, CAV 2011, Snowbird, UT, USA, Proceedings, volume 6806 of LNCS, pp. 28-43. Springer, 2011. © Springer-Verlag
    Invited tutorial.
    [bib | pdf | doi | slides]

  28. André Platzer.
    Logical Analysis of Hybrid Systems:
       Proving Theorems for Complex Dynamics.
    Springer, Heidelberg, 2010. 426 pages. ISBN 978-3-642-14508-7.
    [bib | doi | book | web | errata]

  29. André Platzer.
    Differential Dynamic Logics:
       Automated Theorem Proving for Hybrid Systems.
    PhD Thesis, Department of Computing Science, University of Oldenburg, 2008.
    ACM Doctoral Dissertation Honorable Mention Award in 2009.
    Extended version appeared as book Logical Analysis of Hybrid Systems: Proving Theorems for Complex Dynamics, Springer, 2010.
    [bib | pdf | eprint | slides | book | ebook]

  30. André Platzer.
    Differential-algebraic dynamic logic for differential-algebraic programs.
    Journal of Logic and Computation, 20(1), pp. 309-352, 2010.
    Special issue for selected papers from TABLEAUX'07. © The author.
    [bib | pdf | doi | eprint | study | errata | TABLEAUX'07]

  31. André Platzer.
    Differential dynamic logic for hybrid systems.
    Journal of Automated Reasoning, 41(2), pp. 143-189, 2008. © Springer-Verlag
    [bib | pdf | doi | study]

  32. André Platzer.
    Differential dynamic logic for verifying parametric hybrid systems.
    In Nicola Olivetti, editor, Automated Reasoning with Analytic Tableaux and Related Methods, International Conference, TABLEAUX 2007, Aix en Provence, France, July 3-6, 2007, Proceedings, volume 4548 of LNCS, pp. 216-232. Springer, 2007. © Springer-Verlag
    This paper was awarded the TABLEAUX Best Paper Award.
    [bib | pdf | doi | slides | study | TR]

Copyright of publications is with the publisher or author as indicated. Author's versions of papers are posted with permission of the publisher for your personal use. Not for redistribution or commercial purpose. Slides are copyright © by the author. All information and materials on this site are provided solely for informational purposes on an AS-IS basis, and any and all implied warranties are expressly disclaimed.

Any opinions, findings, and conclusions or recommendations expressed are those of the author(s) and do not necessarily reflect the views of any sponsoring institution.