 14 Mar, 2017 2 commits


Robbert Krebbers authored
This has some advantages:  Evaluation contexts behave like a proper "Huet's zipper", and thus: + We no longer need to reverse the list of evaluation context items in the `reshape_expr` tactic. + The `fill` function becomes tailrecursive.  It gives rise to more definitional equalities in simulation proofs using binary logical relations proofs. In the case of binary logical relations, we simulate an expressions in some ambient context, i.e. `fill K e`. Now, whenever we reshape `e` by turning it into `fill K' e'`, we end up with `fill K (fill K' e')`. In order to use the rules for the expression that is being simulated, we need to turn `fill K (fill K' e')` into `fill K'' e'` for some `K'`. In case of the old `foldr`based approach, we had to rewrite using the lemma `fill_app` to achieve that. However, in case of the old `foldl`based `fill`, we have that `fill K (fill K' e')` is definitionally equal to `fill (K' ++ K) e'` provided that `K'` consists of a bunch of `cons`es (which is always the case, since we obtained `K'` by reshaping `e`). Note that this change hardly affected `heap_lang`. Only the proof of `atomic_correct` broke. I fixed this by proving a more general lemma `ectxi_language_atomic` about `ectxi`languages, which should have been there in the first place.

Robbert Krebbers authored

 09 Mar, 2017 1 commit


Ralf Jung authored

 14 Feb, 2017 1 commit


Robbert Krebbers authored

 06 Feb, 2017 1 commit


Ralf Jung authored

 27 Jan, 2017 1 commit


Ralf Jung authored

 25 Jan, 2017 1 commit


Ralf Jung authored
Also add "Local" to some Default Proof Using to keep them more contained

 24 Jan, 2017 1 commit


Robbert Krebbers authored

 20 Jan, 2017 1 commit


Robbert Krebbers authored
wp_apply often results in an of_val that should be simplified.

 11 Jan, 2017 3 commits


Robbert Krebbers authored

Robbert Krebbers authored

JacquesHenri Jourdan authored

 09 Jan, 2017 1 commit


Ralf Jung authored

 06 Jan, 2017 2 commits
 05 Jan, 2017 1 commit


Ralf Jung authored

 04 Jan, 2017 2 commits


Robbert Krebbers authored

Ralf Jung authored

 03 Jan, 2017 2 commits
 22 Dec, 2016 2 commits
 20 Dec, 2016 1 commit


Ralf Jung authored

 12 Dec, 2016 4 commits


Robbert Krebbers authored
Also:  Remove the wp_strip_later hack.  Let wp_lam, wp_rec, wp_... initiate the proof mode.

Robbert Krebbers authored
I also renamed `iProof` into `iStartProof`, as it is supposed to be something internal, and not a substitute of Coq's `Proof` command (as originally intended).

Ralf Jung authored

Ralf Jung authored

 09 Dec, 2016 1 commit


Ralf Jung authored
