Skip to content
Snippets Groups Projects
  1. Jan 23, 2019
  2. Jun 20, 2018
  3. Jun 18, 2018
  4. Apr 09, 2018
  5. Apr 05, 2018
  6. Mar 28, 2018
  7. Nov 20, 2017
  8. Nov 09, 2017
  9. Oct 28, 2017
  10. Oct 27, 2017
  11. Sep 21, 2017
  12. Sep 17, 2017
    • Robbert Krebbers's avatar
      Set Hint Mode for all classes in `base.v`. · 7d7c9871
      Robbert Krebbers authored
      This provides significant robustness against looping type class search.
      
      As a consequence, at many places throughout the library we had to add
      additional typing information to lemmas. This was to be expected, since
      most of the old lemmas were ambiguous. For example:
      
        Section fin_collection.
          Context `{FinCollection A C}.
      
          size_singleton (x : A) : size {[ x ]} = 1.
      
      In this case, the lemma does not tell us which `FinCollection` with
      elements `A` we are talking about. So, `{[ x ]}` could not only refer to
      the singleton operation of the `FinCollection A C` in the section, but
      also to any other `FinCollection` in the development. To make this lemma
      unambigious, it should be written as:
      
        Lemma size_singleton (x : A) : size ({[ x ]} : C) = 1.
      
      In similar spirit, lemmas like the one below were also ambiguous:
      
        Lemma lookup_alter_None {A} (f : A → A) m i j :
          alter f i m !! j = None :left_right_arrow: m !! j = None.
      
      It is not clear which finite map implementation we are talking about.
      To make this lemma unambigious, it should be written as:
      
        Lemma lookup_alter_None {A} (f : A → A) (m : M A) i j :
          alter f i m !! j = None :left_right_arrow: m !! j = None.
      
      That is, we have to specify the type of `m`.
      7d7c9871
  13. Sep 08, 2017
  14. Sep 06, 2017
  15. Apr 01, 2017
  16. Mar 15, 2017
  17. Mar 09, 2017
  18. Feb 16, 2017
  19. Feb 15, 2017
  20. Jan 31, 2017
  21. Nov 29, 2016
  22. Nov 23, 2016
  23. Nov 21, 2016
  24. Nov 20, 2016
  25. Oct 03, 2016
  26. Sep 20, 2016
  27. Aug 08, 2016
    • Ralf Jung's avatar
      Better Coq 8.6 compatibility · 976c58f3
      Ralf Jung authored
      With Coq 8.6, you can no longer have intro patterns that give more names than
      the constructor has.  Also, patterns with too few names are now interpreted as
      filling up with "?", rather than putting the unnamed parts into the goal again.
      
      Furthermore, it seems the behavior of "simplify_eq/=" changed, I guess
      hypotheses are considered in different order now.  I managed to work around
      this, but it all seem kind of fragile.
      
      The next compilation failure is an "Anyomaly: ... Please report", so that's what I will do.
      976c58f3
  28. Aug 02, 2016
  29. Jul 27, 2016
  30. Jul 22, 2016
Loading