- Sep 25, 2017
-
-
Dan Frumin authored
-
Dan Frumin authored
This way `IntoLaterNEnvs` is ought to be computed less frequently
-
Dan Frumin authored
-
Robbert Krebbers authored
The tactic was doing something weird and only once used.
-
Robbert Krebbers authored
- Get rid of wp_finish, which was a hack. - Write the wp_ tactics for stateful steps in the same style as wp_pure, i.e. by taking the context into account. - Make use of the context K in wp_pure.
-
Dan Frumin authored
Instead of writing a separate tactic lemma for each pure reduction, there is a single tactic lemma for performing all of them. The instances of PureExec can be shared between WP tactics and, e.g. symbolic execution in the ghost threadpool
-
- Sep 21, 2017
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
- Sep 18, 2017
-
-
Robbert Krebbers authored
-
- Sep 17, 2017
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
- Sep 09, 2017
-
-
Robbert Krebbers authored
-
- Aug 28, 2017
-
-
Robbert Krebbers authored
We now first iPoseProof the lemma and instantiate its premises before trying to search for the sub-term where to apply. As a result, instantiation of the premises of the applied lemmas happens only once, instead of it being done for each sub-term as obtained by reshape_expr.
-
Joshua Yanovski authored
-
- Jul 14, 2017
-
-
Joshua Yanovski authored
-
- Jun 27, 2017
-
-
Robbert Krebbers authored
-
- Jun 08, 2017
-
-
Robbert Krebbers authored
-
- Jun 06, 2017
-
-
Robbert Krebbers authored
TODO: document this.
-
- Apr 19, 2017
-
-
Ralf Jung authored
-
- Mar 24, 2017
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Jeehoon Kang authored
-
- Mar 22, 2017
-
-
Ralf Jung authored
-
- Mar 14, 2017
-
-
Robbert Krebbers authored
-
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 tail-recursive. - 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
-
- Mar 09, 2017
-
-
Ralf Jung authored
-
- Feb 14, 2017
-
-
Robbert Krebbers authored
-
- Feb 06, 2017
-
-
Ralf Jung authored
-
- Jan 27, 2017
-
-
Ralf Jung authored
-
- Jan 25, 2017
-
-
Ralf Jung authored
Also add "Local" to some Default Proof Using to keep them more contained
-
- Jan 24, 2017
-
-
Robbert Krebbers authored
-
- Jan 20, 2017
-
-
Robbert Krebbers authored
wp_apply often results in an of_val that should be simplified.
-
- Jan 11, 2017
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Jacques-Henri Jourdan authored
-
- Jan 09, 2017
-
-
Ralf Jung authored
-
- Jan 06, 2017
- Jan 05, 2017
-
-
Ralf Jung authored
-