1. 06 Dec, 2016 4 commits
  2. 27 Nov, 2016 1 commit
  3. 24 Nov, 2016 1 commit
  4. 23 Nov, 2016 1 commit
  5. 22 Nov, 2016 3 commits
    • Robbert Krebbers's avatar
      Make nclose an explicit coercion. · 274209c2
      Robbert Krebbers authored and Ralf Jung's avatar Ralf Jung committed
      We do this by introducing a type class UpClose with notation ↑.
      
      The reason for this change is as follows: since `nclose : namespace
      → coPset` is declared as a coercion, the notation `nclose N ⊆ E` was
      pretty printed as `N ⊆ E`. However, `N ⊆ E` could not be typechecked
      because type checking goes from left to right, and as such would look
      for an instance `SubsetEq namespace`, which causes the right hand side
      to be ill-typed.
      274209c2
    • Ralf Jung's avatar
      new notation for pure assertions · 99cbb525
      Ralf Jung authored
      99cbb525
    • Ralf Jung's avatar
      use OFEs instead of COFEs everywhere · 75518c9a
      Ralf Jung authored
      Use COFEs only for the recursive domain equation solver
      75518c9a
  6. 21 Nov, 2016 1 commit
  7. 19 Nov, 2016 2 commits
  8. 17 Nov, 2016 2 commits
  9. 15 Nov, 2016 2 commits
  10. 09 Nov, 2016 5 commits
  11. 08 Nov, 2016 1 commit
  12. 03 Nov, 2016 2 commits
  13. 01 Nov, 2016 4 commits
  14. 31 Oct, 2016 1 commit
  15. 28 Oct, 2016 4 commits
  16. 27 Oct, 2016 4 commits
  17. 25 Oct, 2016 2 commits
    • Robbert Krebbers's avatar
      Generalize update tactics into iMod and iModIntro for modalities. · fc30ca08
      Robbert Krebbers authored
      There are now two proof mode tactics for dealing with modalities:
      
      - `iModIntro` : introduction of a modality
      - `iMod pm_trm as (x1 ... xn) "ipat"` : eliminate a modality
      
      The behavior of these tactics can be controlled by instances of the `IntroModal`
      and `ElimModal` type class. We have declared instances for later, except 0,
      basic updates and fancy updates. The tactic `iMod` is flexible enough that it
      can also eliminate an updates around a weakest pre, and so forth.
      
      The corresponding introduction patterns of these tactics are `!>` and `>`.
      
      These tactics replace the tactics `iUpdIntro`, `iUpd` and `iTimeless`.
      
      Source of backwards incompatability: the introduction pattern `!>` is used for
      introduction of arbitrary modalities. It used to introduce laters by stripping
      of a later of each hypotheses.
      fc30ca08
    • Robbert Krebbers's avatar
      9bc0a38b