1. 19 Oct, 2012 1 commit
    • Robbert Krebbers's avatar
      Add non-deterministic expressions with side-effects. · e82cda6c
      Robbert Krebbers authored
      The following things have been changed in this revision:
      
      * We now give a small step semantics for expressions. The denotational semantics
        only works for side-effect free expressions.
      * Dynamically allocated memory through alloc and free is now supported.
      * The following expressions are added: assignment, function call, unary
        operators, conditional, alloc, and free.
      * Some customary induction schemes for expressions are proven.
      * The axiomatic semantics (and its interpretation) have been changed in order
        to deal with non-deterministic expressions.
      * We have added inversion schemes based on small inversions for the operational
        semantics. Inversions using these schemes are much faster.
      * We improved the statement preservation proof of the operational semantics.
      * We now use a variant of SsReflect's [by] and [done], instead of Coq's [now]
        and [easy]. The [done] tactic is much faster as it does not perform
        inversions.
      * Add theory, definitions and notations on vectors.
      * Separate theory on contexts.
      * Change [Arguments] declarations to ensure better unfolding.
      e82cda6c
  2. 29 Aug, 2012 1 commit
  3. 21 Aug, 2012 1 commit
    • Robbert Krebbers's avatar
      Major revision of the whole development. · 18669b92
      Robbert Krebbers authored
      The main changes are:
      
      * Function calls in the operational semantics
      * Mutually recursive function calls in the axiomatic semantics
      * A general definition of the interpretation of the axiomatic semantics  so as
        to improve reusability (useful for function calls, and also for expressions
        in future versions)
      * Type classes for stack independent, memory independent, and memory extensible
        assertions, and a lot of instances to automatically derive these properties.
      * Many additional lemmas on the memory and more robust tactics to simplify
        goals involving is_free and mem_disjoint
      * Proof of preservation of statements in the smallstep semantics
      
      * Some new tactics: feed, feed destruct, feed inversion, etc...
      * More robust tactic scripts using bullets and structured scripts
      * Truncate most lines at 80 characters
      18669b92
  4. 11 Jun, 2012 1 commit