1. 09 Aug, 2014 1 commit
  2. 07 Aug, 2014 1 commit
  3. 06 Aug, 2014 2 commits
  4. 04 Aug, 2014 1 commit
  5. 10 Jul, 2014 1 commit
  6. 04 Jul, 2014 1 commit
  7. 25 Jun, 2014 2 commits
  8. 23 Jun, 2014 2 commits
  9. 17 Jun, 2014 1 commit
  10. 16 Jun, 2014 1 commit
    • 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
  11. 06 Jun, 2014 2 commits
    • Robbert Krebbers's avatar
      Small stream library. · af633db2
      Robbert Krebbers authored
      af633db2
    • Robbert Krebbers's avatar
      Miscellaneous changes to the memory · ab930b45
      Robbert Krebbers authored
      * Remove generic path_typed instance for lists. For the zippers in the
        operational semantics, it goes the other way around.
      * Remove constructor lemmas for values/memory_trees and use a generic tactic
        instead. This tactic uses the standard constructor tactic, but folds the
        type classes afterward.
      ab930b45
  12. 05 Jun, 2014 3 commits
    • Robbert Krebbers's avatar
      Hashsets based on radix-2 search trees. · 3ce93174
      Robbert Krebbers authored
      3ce93174
    • 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
    • Robbert Krebbers's avatar
      Improve [decompose_elem_of] tactic. · 46799584
      Robbert Krebbers authored
      Conflicts:
      	collections.v
      46799584
  13. 24 May, 2014 1 commit
  14. 22 May, 2014 1 commit
    • Robbert Krebbers's avatar
      Various changes. · bb9d75d9
      Robbert Krebbers authored
      * Parametrize refinements with memories. This way, refinements imply typing,
        for example [w1 ⊑{Γ,f@m1↦m2} w2 : τ → (Γ,m1) ⊢ w1 : τ]. This relieves us from
        various hacks.
      * Use addresses instead of index/references pairs for lookup and alter
        operations on memories.
      * Prove various disjointness properties.
      bb9d75d9
  15. 04 May, 2014 1 commit
  16. 02 May, 2014 3 commits
  17. 09 Sep, 2013 2 commits
  18. 27 Aug, 2013 1 commit
  19. 21 Aug, 2013 4 commits
  20. 15 Aug, 2013 1 commit
  21. 14 Aug, 2013 1 commit
  22. 12 Aug, 2013 1 commit
    • Robbert Krebbers's avatar
      Finite maps and sets using ordered association lists. · bc659ba4
      Robbert Krebbers authored
      This commit includes the following changes:
      * More theorems about pre-, partial and total orders.
      * Define the lexicographic order on various commonly used data types.
      * Mergesort and its correctness proof.
      * Implement finite maps and sets using ordered association lists.
      bc659ba4
  23. 24 Jun, 2013 2 commits
  24. 17 Jun, 2013 2 commits
  25. 21 May, 2013 1 commit
  26. 15 May, 2013 1 commit