1. 25 Sep, 2017 5 commits
  2. 21 Sep, 2017 2 commits
  3. 18 Sep, 2017 1 commit
  4. 17 Sep, 2017 2 commits
  5. 09 Sep, 2017 1 commit
  6. 28 Aug, 2017 2 commits
  7. 14 Jul, 2017 1 commit
  8. 27 Jun, 2017 1 commit
  9. 08 Jun, 2017 1 commit
  10. 06 Jun, 2017 1 commit
  11. 19 Apr, 2017 1 commit
  12. 24 Mar, 2017 3 commits
  13. 22 Mar, 2017 1 commit
  14. 14 Mar, 2017 3 commits
    • 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. 09 Mar, 2017 1 commit
  16. 14 Feb, 2017 1 commit
  17. 06 Feb, 2017 1 commit
  18. 27 Jan, 2017 1 commit
  19. 25 Jan, 2017 1 commit
  20. 24 Jan, 2017 1 commit
  21. 20 Jan, 2017 1 commit
  22. 11 Jan, 2017 3 commits
  23. 09 Jan, 2017 1 commit
  24. 06 Jan, 2017 2 commits
  25. 05 Jan, 2017 1 commit
  26. 04 Jan, 2017 1 commit