- 20 Feb, 2018 3 commits
-
-
Robbert Krebbers authored
Fixed by stdpp 93b4ec70e13a573a9055a5bf1269f5885e18e843.
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
- 07 Feb, 2018 3 commits
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
- 02 Feb, 2018 1 commit
-
-
Robbert Krebbers authored
-
- 23 Jan, 2018 1 commit
-
-
Robbert Krebbers authored
This is to make sure that e.g. `//` in `iEval (rewrite .. // ..)` does not immediately close the goal by reflexivity.
-
- 20 Jan, 2018 1 commit
-
-
Robbert Krebbers authored
-
- 20 Dec, 2017 1 commit
-
-
Robbert Krebbers authored
-
- 13 Nov, 2017 1 commit
-
-
Robbert Krebbers authored
-
- 01 Nov, 2017 1 commit
-
-
Robbert Krebbers authored
This solves issue #100: the proof mode notation is sometimes not printed. As Ralf discovered, the problem is that there are two overlapping notations: ```coq Notation "P ⊢ Q" := (uPred_entails P Q). ``` And the "proof mode" notation: ``` Notation "Γ '--------------------------------------' □ Δ '--------------------------------------' ∗ Q" := (of_envs (Envs Γ Δ) ⊢ Q%I). ``` These two notations overlap, so, when having a "proof mode" goal of the shape `of_envs (Envs Γ Δ) ⊢ Q%I`, how do we know which notation is Coq going to pick for pretty printing this goal? As we have seen, this choice depends on the import order (since both notations appear in different files), and as such, Coq sometimes (unintendedly) uses the first notation instead of the latter. The idea of this commit is to wrap `of_envs (Envs Γ Δ) ⊢ Q%I` into a definition so that there is no ambiguity for the pretty printer anymore.
-
- 28 Oct, 2017 3 commits
-
-
Robbert Krebbers authored
Instead, as Ralf suggested, just comment the test out.
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
- 27 Oct, 2017 1 commit
-
-
Robbert Krebbers authored
This closes issue #64.
-
- 25 Oct, 2017 3 commits
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
I have reimplemented the tactic for introduction of ∀s/pures using type classes, which directly made it much more modular.
-
- 05 Oct, 2017 1 commit
-
-
Robbert Krebbers authored
-
- 28 Sep, 2017 1 commit
-
-
Robbert Krebbers authored
-
- 27 Sep, 2017 3 commits
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
This causes a bit of backwards incompatibility: it may now succeed with later stripping below unlocked/TC transparent definitions. This problem actually occured for `wsat`.
-
Ralf Jung authored
-
- 21 Sep, 2017 1 commit
-
-
Robbert Krebbers authored
-
- 28 Aug, 2017 2 commits
-
-
Robbert Krebbers authored
persistent context. Given the source does not contain a box: - Before: no-op if there is a Persistent instance. - Now: no-op in all cases.
-
Robbert Krebbers authored
-
- 24 Aug, 2017 1 commit
-
-
Robbert Krebbers authored
-
- 17 May, 2017 1 commit
-
-
Robbert Krebbers authored
-
- 13 Apr, 2017 2 commits
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
This enables things like `iSpecialize ("H2" with "H1") in the below: "H1" : P ---------□ "H2" : □ P -∗ Q ---------∗ R
-
- 11 Apr, 2017 1 commit
-
-
Ralf Jung authored
-
- 21 Mar, 2017 1 commit
-
-
Robbert Krebbers authored
-
- 15 Mar, 2017 1 commit
-
-
Robbert Krebbers authored
- Allow framing of persistent hypotheses below the always modality. - Allow framing of persistent hypotheses in just one branch of a disjunction.
-
- 14 Mar, 2017 2 commits
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
- Support for a `//` modifier to close the goal using `done`. - Support for framing in the `[#]` specialization pattern for persistent premises, i.e. `[# $H1 $H2]` - Add new "auto framing patterns" `[$]`, `[# $]` and `>[$]` that will try to solve the premise by framing. Hypothesis that are not framed are carried over to the next goal.
-
- 12 Mar, 2017 1 commit
-
-
Ralf Jung authored
-
- 11 Mar, 2017 1 commit
-
-
Robbert Krebbers authored
-
- 10 Mar, 2017 1 commit
-
-
Ralf Jung authored
-
- 21 Feb, 2017 1 commit
-
-
Robbert Krebbers authored
This fixes issue #72.
-