Skip to content
Snippets Groups Projects
  1. Sep 10, 2020
  2. May 11, 2020
  3. Nov 21, 2019
  4. Nov 06, 2019
  5. Mar 06, 2019
  6. Mar 05, 2019
  7. Oct 18, 2018
  8. Oct 05, 2018
  9. Nov 23, 2017
  10. Nov 09, 2017
  11. Nov 08, 2017
  12. Nov 07, 2017
  13. Nov 04, 2017
  14. Sep 09, 2017
  15. Mar 14, 2017
    • Robbert Krebbers's avatar
      Misc properties about languages. · 4e1bdcc7
      Robbert Krebbers authored
      4e1bdcc7
    • Robbert Krebbers's avatar
      Define `fill` in terms of a `foldl` over `fill_item`. · 6fc9c27e
      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.
      6fc9c27e
  16. Jan 05, 2017
  17. Jan 03, 2017
  18. Dec 09, 2016
  19. Dec 08, 2016
  20. Aug 29, 2016
  21. Aug 08, 2016
  22. Jul 20, 2016
  23. Jul 19, 2016
  24. Mar 30, 2016
Loading