1. 30 Aug, 2020 1 commit
  2. 03 Apr, 2020 1 commit
  3. 13 Mar, 2020 1 commit
  4. 05 Mar, 2020 2 commits
  5. 24 Feb, 2020 3 commits
  6. 11 Feb, 2020 1 commit
  7. 19 Sep, 2019 1 commit
    • Robbert Krebbers's avatar
      Disambiguate Haskell-style notations for partially operators. · 45690e49
      Robbert Krebbers authored
      For example, change `(!! i)` into `(.!! x)` so that `!!` can also be used as
      a prefix, as done in VST for example.
      
      This closes issue #42.
      
      I have used the `sed` script below. This script took care of nearly all uses
      apart from a few occurrences where a space was missing, e.g. `(,foo)`. In
      this case, `coqc` will just fail, allowing one to patch up things manually.
      
      The script is slightly too eager on Iris developments, where it also replaces
      `($ ...)` introduction patterns. When porting Iris developments you thus may
      want to remove the line for `$`.
      
      ```
      sed '
      s/(= /(.= /g;
      s/ =)/ =.)/g;
      s/(≠ /(.≠ /g;
      s/ ≠)/ ≠.)/g;
      s/(≡ /(.≡ /g;
      s/ ≡)/ ≡.)/g;
      s/(≢ /(.≢ /g;
      s/ ≢)/ ≢.)/g;
      s/(∧ /(.∧ /g;
      s/ ∧)/ ∧.)/g;
      s/(∨ /(.∨ /g;
      s/ ∨)/ ∨.)/g;
      s/( /(. /g;
      s/ )/ .)/g;
      s/(→ /(.→ /g;
      s/ →)/ →.)/g;
      s/($ /(.$ /g;
      s/(∘ /(.∘ /g;
      s/ ∘)/ ∘.)/g;
      s/(, /(., /g;
      s/ ,)/ ,.)/g;
      s/(∘ /(.∘ /g;
      s/ ∘)/ ∘.)/g;
      s/(∪ /(.∪ /g;
      s/ ∪)/ ∪.)/g;
      s/(⊎ /(.⊎ /g;
      s/ ⊎)/ ⊎.)/g;
      s/(∩ /(.∩ /g;
      s/ ∩)/ ∩.)/g;
      s/(∖ /(.∖ /g;
      s/ ∖)/ ∖.)/g;
      s/(⊆ /(.⊆ /g;
      s/ ⊆)/ ⊆.)/g;
      s/(⊈ /(.⊈ /g;
      s/ ⊈)/ ⊈.)/g;
      s/(⊂ /(.⊂ /g;
      s/ ⊂)/ ⊂.)/g;
      s/(⊄ /(.⊄ /g;
      s/ ⊄)/ ⊄.)/g;
      s/(∈ /(.∈ /g;
      s/ ∈)/ ∈.)/g;
      s/(∉ /(.∉ /g;
      s/ ∉)/ ∉.)/g;
      s/(≫= /(.≫= /g;
      s/ ≫=)/ ≫=.)/g;
      s/(!! /(.!! /g;
      s/ !!)/ !!.)/g;
      s/(⊑ /(.⊑ /g;
      s/ ⊑)/ ⊑.)/g;
      s/(⊓ /(.⊓ /g;
      s/ ⊓)/ ⊓.)/g;
      s/(⊔ /(.⊔ /g;
      s/ ⊔)/ ⊔.)/g;
      s/(:: /(.:: /g;
      s/ ::)/ ::.)/g;
      s/(++ /(.++ /g;
      s/ ++)/ ++.)/g;
      s/(≡ₚ /(.≡ₚ /g;
      s/ ≡ₚ)/ ≡ₚ.)/g;
      s/(≢ₚ /(.≢ₚ /g;
      s/ ≢ₚ)/ ≢ₚ.)/g;
      s/(::: /(.::: /g;
      s/ :::)/ :::.)/g;
      s/(+++ /(.+++ /g;
      s/ +++)/ +++.)/g;
      ' -i $(find -name "*.v")
      ```
      45690e49
  8. 14 Jun, 2019 2 commits
  9. 29 Jan, 2019 1 commit
  10. 28 Oct, 2017 1 commit
  11. 15 Mar, 2017 5 commits
  12. 31 Jan, 2017 6 commits
  13. 20 Sep, 2016 1 commit
  14. 08 Aug, 2016 1 commit
  15. 11 Mar, 2016 1 commit
  16. 17 Feb, 2016 2 commits
  17. 13 Feb, 2016 1 commit
  18. 11 Feb, 2016 1 commit
  19. 16 Nov, 2015 1 commit
  20. 08 Feb, 2015 1 commit
  21. 05 Jun, 2014 1 commit
    • Robbert Krebbers's avatar
      Preparation to port the master branch · d60affc0
      Robbert Krebbers authored
      Major changes:
      * A data structure to collect locked addresses in memory.
      * Operations to lock and unlock addresses.
      * Remove [ctree_Forall] and express it using [Forall] and [ctree_flatten]. This
        saves a lot of lines of code.
      * Add a [void] value. This value cannot be typed, but will be used as a dummy
        return value for functions with return type [void].
      
      Minor changes:
      * Various deciders in preparation of the executable semantics.
      * Improve naming and notations.
      * Remove obsolete stuff.
      d60affc0
  22. 02 May, 2014 2 commits
  23. 17 Jun, 2013 1 commit
  24. 07 May, 2013 1 commit
    • Robbert Krebbers's avatar
      Lots of refactoring. and new results on permutations and list containment. · 361308c7
      Robbert Krebbers authored
      The refactoring includes:
      * Use infix notations for the various list relations
      * More consistent naming
      * Put lemmas on one line whenever possible
      * Change proofs into one-liners when possible
      * Make better use of the "Implicit Types" command
      * Improve the order of the list module by placing all definitions at the start,
        then the proofs, and finally the tactics.
      
      Besides, there is some new machinery for proofs by reflection on lists. It is
      used for a decision procedure for permutations and list containment.
      361308c7
  25. 19 Feb, 2013 1 commit
    • Robbert Krebbers's avatar
      Support sequence point, add permissions, and update prelude. · 415a4f1c
      Robbert Krebbers authored
      Both the operational and axiomatic semantics are extended with sequence points
      and a permission system based on fractional permissions. In order to achieve
      this, the memory model has been completely revised, and is now built on top
      of an abstract interface for permissions.
      
      Apart from these changed, the library on lists and sets has been heavily
      extended, and minor changed have been made to other parts of the prelude.
      415a4f1c