 16 Mar, 2019 1 commit


Jakob Botsch Nielsen authored
This changes the encoding used for finite lists of values of countable types to be linear instead of exponential. The encoding works by duplicating bits of each element so that 0 > 00 and 1 > 11, and then separating each element with 10. The top 1bits are not kept since we know a 10 is starting a new element which ends with a 1. Fix #28

 29 Jan, 2019 1 commit


Robbert Krebbers authored

 27 Apr, 2018 1 commit


Robbert Krebbers authored

 08 Mar, 2018 1 commit


Robbert Krebbers authored

 21 Sep, 2017 1 commit


Robbert Krebbers authored
This allows for more control over `Hint Mode`.

 18 Sep, 2017 3 commits


Robbert Krebbers authored

Robbert Krebbers authored
This instance leads to exponential failing searches.

Robbert Krebbers authored
These trees are useful to show that other types are countable.

 02 Aug, 2017 1 commit


Robbert Krebbers authored

 05 Jul, 2017 1 commit


Hai Dang authored

 15 Mar, 2017 1 commit


Robbert Krebbers authored

 31 Jan, 2017 4 commits


Robbert Krebbers authored

Ralf Jung authored

Ralf Jung authored

Ralf Jung authored
This patch was created using find name *.v  xargs L 1 awk i inplace '{from = 0} /^From/{ from = 1; ever_from = 1} { if (from == 0 && seen == 0 && ever_from == 1) { print "Set Default Proof Using \"Type*\"."; seen = 1 } }1 ' and some minor manual editing

 20 Sep, 2016 1 commit


Robbert Krebbers authored

 31 May, 2016 1 commit


Robbert Krebbers authored

 17 Feb, 2016 1 commit


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 2 commits


Robbert Krebbers authored

Ralf Jung authored

 13 Feb, 2016 1 commit


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

 11 Feb, 2016 1 commit


Robbert Krebbers authored
Also do some minor clean up.

 12 Jan, 2016 1 commit


Robbert Krebbers authored

 11 Dec, 2015 1 commit


Robbert Krebbers authored
Also, use a different encoding of lists.

 04 Dec, 2015 1 commit


Robbert Krebbers authored

 16 Nov, 2015 1 commit


Robbert Krebbers authored

 01 Feb, 2017 1 commit


Robbert Krebbers authored
The port makes the following notable changes: * The carrier types of separation algebras and integer environments are no longer in Set. Now they have a type at a fixed type level above Set. This both works better in 8.5 and makes the formalization more general. I have tried putting them at polymorphic type levels, but that increased the compilation time by an order of magnitude. * I am using a custom f_equal tactic written in Ltac to circumvent bug #4069. That bug has been fixed, so this custom tactic can be removed when the next beta of 8.5 is out.

 08 Feb, 2015 1 commit


Robbert Krebbers authored

 07 Oct, 2014 1 commit


Robbert Krebbers authored

 16 Jun, 2014 1 commit


Robbert Krebbers authored
Major changes: * Make void a base type, and include a proper void base value. This is necessary because expressions (free, functions without return value) can yield a void. We now also allow void casts conforming to the C standard. * Various missing lemmas about typing, weakening, decidability, ... * The operations "free" and "alloc" now operate on lvalues instead of rvalues. This removes some duplication. * Improve notations of expressions and statements. Change the presence of the operators conforming to the C standard. Small changes: * Use the classes "Typed" and "TypeCheck" for validity of indexes in memory. This gives more uniform notations. * New tactic "typed_inversion" performs inversion on an inductive predicate of type "Typed" and folds the premises. * Remove a horrible hack in the definitions of the classes "FMap", "MBind", "OMap", "Alter" that was used to let "simpl" behave better. Instead, we have defined a tactic "csimpl" that folds the results after performing an ordinary "simpl". * Fast operation to remove duplicates from lists using hashsets. * Make various type constructors (mainly finite map implementations) universe polymorphic by packing them into an inductive. This way, the whole C syntax can live in type, avoiding the need for (slow) universe checks.

 02 May, 2014 1 commit


Robbert Krebbers authored

 17 Jun, 2013 1 commit


Robbert Krebbers authored
