1. 04 Nov, 2017 1 commit
  2. 25 Oct, 2017 1 commit
  3. 25 Sep, 2017 1 commit
  4. 09 Sep, 2017 1 commit
  5. 20 Aug, 2017 1 commit
  6. 13 Apr, 2017 1 commit
  7. 15 Mar, 2017 1 commit
  8. 14 Mar, 2017 2 commits
  9. 10 Mar, 2017 1 commit
  10. 24 Jan, 2017 1 commit
  11. 20 Jan, 2017 1 commit
  12. 12 Jan, 2017 1 commit
  13. 11 Jan, 2017 1 commit
  14. 05 Jan, 2017 1 commit
  15. 03 Jan, 2017 1 commit
  16. 09 Dec, 2016 2 commits
    • Ralf Jung's avatar
      move everything to subfolder theories/ · 6b8069fa
      Ralf Jung authored
      6b8069fa
    • Robbert Krebbers's avatar
      Invariants over states in WP and get rid of heap_ctx. · fd89aa52
      Robbert Krebbers authored
      The WP construction now takes an invariant on states as a parameter
      (part of the irisG class) and no longer builds in the authoritative
      ownership of the entire state. When instantiating WP with a concrete
      language on can choose its state invariant. For example, for heap_lang
      we directly use `auth (gmap loc (frac * dec_agree val))`, and avoid
      the indirection through invariants entirely.
      
      As a result, we no longer have to carry `heap_ctx` around.
      fd89aa52
  17. 06 Dec, 2016 1 commit
  18. 05 Dec, 2016 1 commit
    • Robbert Krebbers's avatar
      New definition of contractive. · 176a588c
      Robbert Krebbers authored
      Using this new definition we can express being contractive using a
      Proper. This has the following advantages:
      
      - It makes it easier to state that a function with multiple arguments
        is contractive (in all or some arguments).
      - A solve_contractive tactic can be implemented by extending the
        solve_proper tactic.
      176a588c
  19. 30 Nov, 2016 1 commit
  20. 24 Nov, 2016 1 commit
  21. 22 Nov, 2016 1 commit
  22. 17 Nov, 2016 2 commits
  23. 15 Nov, 2016 1 commit
  24. 09 Nov, 2016 1 commit
  25. 06 Nov, 2016 1 commit
  26. 03 Nov, 2016 1 commit
    • Robbert Krebbers's avatar
      Use symbol ∗ for separating conjunction. · cc31476d
      Robbert Krebbers authored
      The old choice for ★ was a arbitrary: the precedence of the ASCII asterisk *
      was fixed at a wrong level in Coq, so we had to pick another symbol. The ★ was
      a random choice from a unicode chart.
      
      The new symbol ∗ (as proposed by David Swasey) corresponds better to
      conventional practise and matches the symbol we use on paper.
      cc31476d
  27. 01 Nov, 2016 2 commits
  28. 28 Oct, 2016 2 commits
  29. 27 Oct, 2016 4 commits
  30. 25 Oct, 2016 3 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
      Rename except_last -> except_0. · 58bd4b02
      Robbert Krebbers authored
      58bd4b02
    • Robbert Krebbers's avatar
      fc3ac148