 19 Oct, 2012 1 commit


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 sideeffect 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 nondeterministic 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.

 29 Aug, 2012 1 commit


Robbert Krebbers authored
improve some definitions, simplify some proofs.

 21 Aug, 2012 1 commit


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

 11 Jun, 2012 1 commit


Robbert Krebbers authored
