@smitsch smitsch released this Jul 9, 2018

Assets 3

Version 4.5.0 provides a major update to the invariant generation and proving techniques for differential equations in its automated ODE tactic.

  • [New] Pegasus invariant generator for differential equations

  • [New] ODE automation tactics for axiomatic proofs from differential ghost and differential refinement axioms, proofs of barrier certificates, and proofs of invariance properties that involve Darboux polynomials

  • [Preview] Invariant generation for loops based on fixpoint-search over invariants for differential equations

  • [Tactics] Liveness: loop convergence with user-definable convergence variable, improved <:=> assignment tactics

  • [Tactics] Extended proof search automation in the context of universal/existential quantifiers

  • [Tools] C code generator for structured monitors with sub-routines and error message printing

@smitsch smitsch released this Apr 18, 2018 · 388 commits to master since this release

Assets 3
  • [New] Tactic barrier proves barrier certificates of ODEs (automatically used in ODE tactic)
    For example, prove x>=0 |- [{x'=100*x^4+y*x^3-x^2+x+c, c'=x+y+z & c>x}]x>=0
    with tactic barrier(1) or tactic ODE(1)

  • [New] Tactic dbx proves ODEs using Darboux polynomials (automatically used in ODE tactic)
    For example, prove x+z<0 |- [{x'=x^2, z'=z*x+y & y=-x^2}]x+z<0
    with tactic dbx({x},1) or tactic ODE(1)

  • [New] Model documentation and proof hints with @invariant annotations for ODEs
    For example, provide a list of two differential invariants:
    [{x'=2,y'=-1} @invariant(x>=old(x), /* x increases */ y<=old(y)) /* y descreases */ ]p()

  • [New] Conditional differential invariant annotations
    For example, provide a list of two differential invariants, one for each branch:
    [{a:=2; ++ a:=-1;} ; {x'=a} @invariant( (x'=2 -> x>=old(x)), /* x increases */ (x'=-1 -> x<=old(x))) /* x decreases */ ]p()

  • [UI] Performance improvements

  • [Tactics] Tactic dW now keeps all initial conditions

  • [Tactics] Configurable timeouts for tactics QE and ODE (configuration file keymaerax.conf)

  • [Tactics] Combinator s > t runs tactic s first and then tactic t regardless of the result of s

@smitsch smitsch released this Feb 28, 2018 · 470 commits to master since this release

Assets 3
  • [UI] New web UI axiom and proof step browser
  • [UI] Hint display and tactic popover fixes
  • [Performance] Significant performance improvements by disabling logging by default
  • [Tactics] New loop induction with abstraction
    • throughout(inv,pos) for loops init -> [{a;b}*]safe
      proves loop from subgoals
      base case: init -> inv
      use case: inv -> safe
      induction steps: inv -> [a]inv and inv -> [b]inv

@smitsch smitsch released this Jan 18, 2018 · 535 commits to master since this release

Assets 3
  • Backend tool and tactic stability improvements
  • [New] Store and use lemma entries in .kyx archives:
    Store: Lemma "My lemma". ... End. to store the given lemma under the identified name "My lemma".
    Use:
    useLemma({`My lemma`},{`prop`}) to close goal by lemma, use propositional reasoning to adapt shape
    useLemmaAt({`My lemma`},{`1`},2) to match lemma expression at sub-position 1 with formula at sequent position 2
  • [New] Convert proof terms to Isabelle dL proof checker
  • [New] Configuration is now stored in a text file: ~/.keymaerax/keymaerax.conf
  • [New] Transform hybrid programs to C control code

@nrfulton nrfulton released this Sep 18, 2017 · 855 commits to master since this release

Assets 3

KeYmaera X version 4.4

  • [Core] New: N-ary formula and function definitions.
    For example,
    define a binary function 'sum' as: sum(R,R) = ( ._0 + ._1).
    define predicate 'sumgt' as: sumgt(R,R,R) <-> ( sum(._0,._1) > ._2 ).
  • [Parser] New: Program definitions.
    For example, HP increment ::= { x:=x+1; }.
  • [Tactics] New: use finished proofs as lemmas, for example useLemma({Name of proved model}) when the open goal matches the lemma literally, useLemma({Name of proved model}, {prop}) to apply the lemma with propositional reasoning.
  • [Tools] New: proof statistics after checking archives with -check
  • [Tools] New: C control code synthesis (feature preview)
  • [Tools] Improved: C monitor code synthesis (feature preview)
  • Stability improvements: archive checking, ODE solution ordering

@nrfulton nrfulton released this Aug 26, 2017 · 932 commits to master since this release

Assets 3

Version 4.3.16 of the KeYmaera X Theorem Prover

  • [Tactics] Three new tactics for automatic approximation of {e'=e} and {s'=c, c'=-s}
    out to n terms in the series expansion.
    • circularApproximate(s,c,n,pos): For circular dynamics {s'=c, c'=-s}.
    • expApproximate(e,n,pos): for {e'=e}.
    • autoApproximate(n,pos): Tries to find {e'=c} then tries to find.
      {s'=c,c'=-s} and applies the relevant approximation tactic.
  • [UI] The startup sequence is improved.
    • The status indicator now actually indicates status.
    • We no longer automatically open a browser window on Linux, since this
      caused hanging on some machines.
  • [UI] Formula editing
    • Expand functions min/max/abs, e.g., expand(abs(0)) >= 0
    • Abbreviate terms, e.g., x+abbrv(2+3,five) >= 0
  • [UI] Search and apply lemmas
    • Auto-completion search box in the formula dialog
    • Click lemma subformulas to adjust the direction in which lemmas are applied
  • [Parser] Bug fix in how numbers are pretty-printed.
  • [Tactics] Various improvements to the tactics framework and standard library.

@nrfulton nrfulton released this Aug 9, 2017 · 1064 commits to master since this release

Assets 3

Version 4.3.15 of the KeYmaera X theorem prover

  • UI: Improvements to presentation and /show mode
  • UI: Render nullary function symbols without parentheses
  • Updates Z3 to 4.5.0, improved QE support for machines without Mathematica.
  • Improved update code for Windows.

@nrfulton nrfulton released this Jul 28, 2017 · 1107 commits to master since this release

Assets 3

Version 4.3.14 of the KeYmaera X theorem prover.

  • Fix: ODE solve tactic printing

@nrfulton nrfulton released this Jul 27, 2017 · 1114 commits to master since this release

Assets 3

Version 4.3.13 of the KeYmaera X theorem prover.

  • New: model editing
  • New: proof step justification with rule/axiom in proof browsing
  • Feature preview: exercise models with placeholders
  • Web UI and backend fixes

@nrfulton nrfulton released this Jul 20, 2017 · 1138 commits to master since this release

Assets 3

Version 4.3.12 of the KeYmaera X theorem prover

  • New: step-by-step proof browsing
  • New: tactic tooltips on proof step in sequent proofs
  • Improved proof step highlighting
  • User interface and backend stability improvements