Skip to content
Snippets Groups Projects
  1. Sep 11, 2019
    • Jacques-Henri Jourdan's avatar
      Fix Open/Close scope · a64bf2f0
      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.
      a64bf2f0
  2. Aug 26, 2019
  3. Apr 25, 2019
  4. Mar 16, 2019
    • Jakob Botsch Nielsen's avatar
      More efficient list encoding for Countable · 9b209c98
      Jakob Botsch Nielsen authored and Robbert Krebbers's avatar Robbert Krebbers committed
      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
      9b209c98
  5. Jan 29, 2019
  6. Apr 27, 2018
  7. Mar 08, 2018
  8. Sep 21, 2017
  9. Sep 18, 2017
  10. Aug 02, 2017
  11. Jul 05, 2017
  12. Mar 15, 2017
  13. Jan 31, 2017
  14. Sep 20, 2016
  15. May 31, 2016
  16. Feb 17, 2016
    • Robbert Krebbers's avatar
      Rename simplify_equality like tactics. · 20690605
      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.
      20690605
  17. Feb 16, 2016
  18. Feb 13, 2016
  19. Feb 11, 2016
  20. Jan 12, 2016
  21. Dec 11, 2015
  22. Dec 04, 2015
  23. Nov 16, 2015
  24. Feb 01, 2017
    • Robbert Krebbers's avatar
      Port to Coq 8.5 beta 2. · 02f213ce
      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.
      02f213ce
  25. Feb 08, 2015
  26. Oct 07, 2014
  27. Jun 16, 2014
    • Robbert Krebbers's avatar
      Changes in preparation of the C type system and C front-end language · 3503a91f
      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.
      3503a91f
  28. May 02, 2014
  29. Jun 17, 2013
Loading