 20 Sep, 2016 1 commit


Robbert Krebbers authored

 27 Jul, 2016 2 commits


Robbert Krebbers authored
This reverts commit 20b4ae55bdf00edb751ccdab3eb876cb9b13c99f, which does not seem to work with Coq 8.5pl2 (I accidentally tested with 8.5pl1).

Robbert Krebbers authored
This makes type checking more directed, and somewhat more predictable. On the downside, it makes it impossible to declare the singleton on lists as an instance of SingletonM and the insert and alter operations on functions as instances of Alter and Insert. However, these were not used often anyway.

 22 Jul, 2016 1 commit


Robbert Krebbers authored
There was not really a need for the lattice type classes, so I removed these.

 23 Mar, 2016 1 commit


Robbert Krebbers authored

 20 Feb, 2016 1 commit


Ralf Jung authored

 17 Feb, 2016 2 commits


Robbert Krebbers authored
It is doing much more than just dealing with ∈, it solves all kinds of goals involving set operations (including ≡ and ⊆).

Robbert Krebbers authored
simplify_equality => simplify_eq simplify_equality' => simplify_eq/= simplify_map_equality => simplify_map_eq simplify_map_equality' => simplify_map_eq/= simplify_option_equality => simplify_option_eq simplify_list_equality => simplify_list_eq f_equal' => f_equal/= The /= suffixes (meaning: do simpl) are inspired by ssreflect.

 16 Feb, 2016 1 commit


Robbert Krebbers authored
The singleton maps notation is now also more consistent with the insert <[_ := _]> _ notation for maps.

 13 Feb, 2016 1 commit


Robbert Krebbers authored
Also, make our redefinition of done more robust under different orders of Importing modules.

 16 Jan, 2016 2 commits


Robbert Krebbers authored

Robbert Krebbers authored
This one (previously solve_elem_of) was hardly used. The tactic that uses naive_solver (previously esolve_elem_of, now solve_elem_of) has been extended with flags to say which hypotheses should be cleared/kept.

 21 Dec, 2015 1 commit


Robbert Krebbers authored

 16 Nov, 2015 1 commit


Robbert Krebbers authored

 03 Feb, 2017 1 commit


Robbert Krebbers authored

 04 Jun, 2015 1 commit


Robbert Krebbers authored

 22 Apr, 2015 1 commit


Robbert Krebbers authored

 02 Mar, 2015 1 commit


Robbert Krebbers authored

 08 Feb, 2015 1 commit


Robbert Krebbers authored

 02 May, 2014 2 commits


Robbert Krebbers authored

Robbert Krebbers authored

 15 May, 2013 1 commit


Robbert Krebbers authored

 07 May, 2013 1 commit


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 oneliners 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.

 19 Feb, 2013 1 commit


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.
