- Sep 11, 2019
-
-
Jacques-Henri Jourdan authored
Use Open/Close Scope without Local (i.e., export the scope opening) only when the scope corresponds to the main purpose of the module.
-
- Aug 26, 2019
-
-
Ralf Jung authored
-
- Apr 25, 2019
-
-
- Mar 16, 2019
-
-
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 1-bits are not kept since we know a 10 is starting a new element which ends with a 1. Fix #28
-
- Jan 29, 2019
-
-
Robbert Krebbers authored
-
- Apr 27, 2018
-
-
Robbert Krebbers authored
-
- Mar 08, 2018
-
-
Robbert Krebbers authored
-
- Sep 21, 2017
-
-
Robbert Krebbers authored
This allows for more control over `Hint Mode`.
-
- Sep 18, 2017
-
-
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.
-
- Aug 02, 2017
-
-
Robbert Krebbers authored
-
- Jul 05, 2017
-
-
Hai Dang authored
-
- Mar 15, 2017
-
-
Robbert Krebbers authored
-
- Jan 31, 2017
-
-
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
-
- Sep 20, 2016
-
-
Robbert Krebbers authored
-
- May 31, 2016
-
-
Robbert Krebbers authored
-
- Feb 17, 2016
-
-
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.
-
- Feb 16, 2016
-
-
Robbert Krebbers authored
-
Ralf Jung authored
-
- Feb 13, 2016
-
-
Robbert Krebbers authored
Also, make our redefinition of done more robust under different orders of Importing modules.
-
- Feb 11, 2016
-
-
Robbert Krebbers authored
Also do some minor clean up.
-
- Jan 12, 2016
-
-
Robbert Krebbers authored
-
- Dec 11, 2015
-
-
Robbert Krebbers authored
Also, use a different encoding of lists.
-
- Dec 04, 2015
-
-
Robbert Krebbers authored
-
- Nov 16, 2015
-
-
Robbert Krebbers authored
-
- Feb 01, 2017
-
-
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.
-
- Feb 08, 2015
-
-
Robbert Krebbers authored
-
- Oct 07, 2014
-
-
Robbert Krebbers authored
-
- Jun 16, 2014
-
-
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 l-values instead of r-values. 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.
-
- May 02, 2014
-
-
Robbert Krebbers authored
-
- Jun 17, 2013
-
-
Robbert Krebbers authored
-