Skip to content
Snippets Groups Projects
  1. Oct 27, 2020
  2. Sep 28, 2020
  3. Sep 10, 2020
  4. May 24, 2020
  5. May 13, 2019
  6. May 01, 2019
  7. Apr 25, 2019
  8. Mar 21, 2018
  9. Mar 19, 2018
  10. Feb 15, 2018
  11. Nov 01, 2017
  12. Oct 30, 2017
    • Robbert Krebbers's avatar
      Drop positivity axiom of the BI canonical structure. · f2eaf912
      Robbert Krebbers authored
      The absence of this axiom has two consequences:
      
      - We no longer have `■ (P ∗ Q) ⊢ ■ P ∗ ■ Q` and `□ (P ∗ Q) ⊢ □ P ∗ □ Q`,
        and as a result, separating conjunctions in the unrestricted/persistent
        context cannot be eliminated.
      - When having `(P -∗ ⬕ Q) ∗ P`, we do not get `⬕ Q ∗ P`. In the proof
        mode this means when having:
      
          H1 : P -∗ ⬕ Q
          H2 : P
      
        We cannot say `iDestruct ("H1" with "H2") as "#H1"` and keep `H2`.
      
      However, there is now a type class `PositiveBI PROP`, and when there is an
      instance of this type class, one gets the above reasoning principle back.
      
      TODO: Can we describe positivity of individual propositions instead of the
      whole BI? That way, we would get the above reasoning principles even when
      the BI is not positive, but the propositions involved are.
      f2eaf912
    • Robbert Krebbers's avatar
      Define `Persistent P` as `P ⊢ □ P` instead of `□ P ⊣⊢ P`. · 96501a4f
      Robbert Krebbers authored
      Otherwise, ownership of cores in our ordered RA model will not be persistent.
      96501a4f
    • Robbert Krebbers's avatar
      Generalize proofmode. · 52c3006d
      Robbert Krebbers authored
      52c3006d
  13. Oct 25, 2017
  14. Mar 24, 2017
  15. Mar 21, 2017
  16. Mar 20, 2017
  17. Mar 15, 2017
  18. Feb 06, 2017
  19. Jan 05, 2017
  20. Jan 03, 2017
  21. Dec 13, 2016
    • Robbert Krebbers's avatar
      Use different module structuring of uPred. · 766dbcd2
      Robbert Krebbers authored
      This fixes the following issue by JH Jourdan:
      
        The fact of including uPred_[...] in the module uPred (in base_logic.v),
        implies that typeclasses instances are declared twice. Once in module
        uPred and once in module uPred_[...]. This has the unfortunate
        consequence that it has to backtrack to both instances each time the
        first one fails, making failure of type class search for e.g.
        PersistentP potentially exponential.
      
        Goal ((□ ∀ (x1 x2 x3 x4 x5: nat), True -∗ True) -∗ True : iProp Σ).
          Time iIntros "#H".
          Undo.
          Remove Hints uPred_derived.forall_persistent : typeclass_instances.
          Time iIntros "#H".
      
      Thanks to Jason Gross @ Coq club for suggesting this fix.
      766dbcd2
    • Jacques-Henri Jourdan's avatar
      ef5af56a
  22. Dec 12, 2016
  23. Dec 09, 2016
  24. Dec 05, 2016
  25. Nov 23, 2016
Loading