1. 25 Feb, 2016 1 commit
  2. 24 Feb, 2016 13 commits
  3. 23 Feb, 2016 8 commits
  4. 22 Feb, 2016 9 commits
    • Robbert Krebbers's avatar
      Move global functor construction to its own file and define notations. · 457a11d9
      Robbert Krebbers authored
      And now the part that I forgot to commit.
      457a11d9
    • Robbert Krebbers's avatar
      Move global functor construction to its own file and define notations. · 3897eaf4
      Robbert Krebbers authored
      I made the list of iFunctors monomorphic to avoid having to deal with
      universe polymorphism, that is still somewhat flaky.
      3897eaf4
    • Robbert Krebbers's avatar
      Restraint instance search for global functors. · e0d0f8dd
      Robbert Krebbers authored
      Also, give all these global functors the suffix GF to avoid shadowing
      such as we had with authF.
      
      And add some type annotations for clarity.
      e0d0f8dd
    • Robbert Krebbers's avatar
      Fix notation for ndot. · 45f84a82
      Robbert Krebbers authored
      The non applied one should be only parsing.
      45f84a82
    • Robbert Krebbers's avatar
      Let set_solver not use eauto by default. · 9aff6bb6
      Robbert Krebbers authored
      In most cases there is a lot of duplicate proof search performed by
      both naive_solver and eauto. Especially since naive_solver calls its
      tactic (in the case of set_solver this used to be eauto) quite eagerly
      this made it very slow.
      
      Note that set_solver is this too slow and should be improved.
      9aff6bb6
    • Robbert Krebbers's avatar
      Let set_solver not use eauto by default. · de5f0f84
      Robbert Krebbers authored
      In most cases there is a lot of duplicate proof search performed by
      both naive_solver and eauto. Especially since naive_solver calls its
      tactic (in the case of set_solver this used to be eauto) quite eagerly
      this made it very slow.
      
      Note that set_solver is this too slow and should be improved.
      de5f0f84
    • Ralf Jung's avatar
      add notation for ndot · 1c4b9888
      Ralf Jung authored
      1c4b9888
    • Ralf Jung's avatar
      add the infrastructure for Coq to automatically infer the "inG" instances · 95c486ef
      Ralf Jung authored
      I added a new typeclass "inGF" to witness that a particular *functor* is part of \Sigma. inG, in contrast, witnesses a particular *CMRA* to be in there, after applying the functor to "\later iProp".
      inGF can be inferred if that functor is consed to the head of \Sigma, and it is preserved by consing a new functor to \Sigma. This is not the case for inG since the recursive occurence of \Sigma also changes.
      For evry construction (auth, sts, saved_prop), there is an instance infering the respective authG, stsG, savedPropG from an inGF. There is also a global inG_inGF, but Coq is unable to use it.
      
      I tried to instead have *only* inGF, since having both typeclasses seemed weird. However, then the actual type that e.g. "own" is about is the result of applying a functor, and Coq entirely fails to infer anything.
      
      I had to add a few type annotations in heap.v, because Coq tried to use the "authG_inGF" instance before the A got fixed, and ended up looping and expanding endlessly on that proof of timelessness.
      This does not seem entirely unreasonable, I was honestly surprised Coq was able to infer the types previously.
      95c486ef
    • Ralf Jung's avatar
      provide a closed proof of the client · ead5cad9
      Ralf Jung authored
      ead5cad9
  5. 21 Feb, 2016 3 commits
  6. 20 Feb, 2016 4 commits
  7. 19 Feb, 2016 2 commits