Skip to content
Snippets Groups Projects
  1. Sep 25, 2017
  2. Sep 21, 2017
  3. Sep 18, 2017
  4. Sep 17, 2017
  5. Sep 09, 2017
  6. Aug 28, 2017
  7. Jul 14, 2017
  8. Jun 27, 2017
  9. Jun 08, 2017
  10. Jun 06, 2017
  11. Apr 19, 2017
  12. Mar 24, 2017
  13. Mar 22, 2017
  14. 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
    • Robbert Krebbers's avatar
  15. Mar 09, 2017
  16. Feb 14, 2017
  17. Feb 06, 2017
  18. Jan 27, 2017
  19. Jan 25, 2017
  20. Jan 24, 2017
  21. Jan 20, 2017
  22. Jan 11, 2017
  23. Jan 09, 2017
  24. Jan 06, 2017
  25. Jan 05, 2017
Loading