KeYmaera X: XFunctions Implicit Definitions

  1. KeYmaera X
  2. >>
  3. Doc
  4. >>
  5. Xfunctions
Table of Contents
  1. Introduction
  2. References
  3. Usage Examples
    1. Discretely driven swing
    2. Defining and using custom functions
    3. Other examples
⇓ Download ⇓ or get
Source and read
Book and watch
Videos and follow
Tutorial

Introduction

The definitions package enables the use of any function definable as the solution of a system of ordinary differential equations (ODEs) within hybrid system models and proofs in KeYmaera X.

The package is available as of the KeYmaera X 5.0 major release.

References

The package features are described in the IJCAR'22 paper.

  1. James Gallicchio, Yong Kiam Tan, Stefan Mitsch and André Platzer.
    Implicit definitions with differential equations for KeYmaera X (System Description).
    In Jasmin Blanchette, Laura Kovacs and Dirk Pattinson, editors, Automated Reasoning, International Joint Conference, IJCAR 2022, Haifa, Israel, August 7-12, 2022, Proceedings. volume 13385 of LNCS, pp. 723-733. Springer, 2022. © The authors
    [bib | | pdf | doi | mypdf | slides | arXiv]

Usage Examples

This section gives a brief guide to exploring and using the package, please see the KeYmaera X Tutorial for an in-depth usage guide of KeYmaera X.

To begin, click on the Import button for IJCAR22 Implicit Definitions Examples to load pre-defined example models.

You should now see a IJCAR22 subfolder containing a number of examples.

Discretely driven swing

The paper uses a discretely driven swing as a running example (see Sections 2-4).

Discretely Driven Swing

Defining and using custom functions

Users can declare new differentially-defined functions with the following sugared syntax in the definitions block (see Section 3):

implicit Real h(Real t) = {{initial condition}; {ODE}}

The initial condition for time t defaults to t:=0 if it is not specified.

The package defines default builtin functions exp, sin, and cos.

Other examples

Additional example models that use various other features of KeYmaera X are described in the paper (Section 4 and Appendix B). These examples are included in the package.

As above, you can inspect the models, attempt your own proofs, and check their associated proofs using Load Proof

The (alphabetical) list of models is as follows:

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.