- Sep 21, 2017
-
-
Robbert Krebbers authored
-
- Aug 28, 2017
-
-
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
We now first iPoseProof the lemma and instantiate its premises before trying to search for the sub-term where to apply. As a result, instantiation of the premises of the applied lemmas happens only once, instead of it being done for each sub-term as obtained by reshape_expr.
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
- Aug 24, 2017
-
-
Robbert Krebbers authored
-
- Aug 20, 2017
-
-
Robbert Krebbers authored
This makes it easier to frame or introduce some modalities before introducing universal quantifiers.
-
- Aug 04, 2017
-
-
Robbert Krebbers authored
-
- May 12, 2017
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
Otherwise, the tactic will fail subsequently. Besides, it was inconsistent w.r.t. the iLöb tactic, which was already doing this.
-
- May 09, 2017
-
-
Robbert Krebbers authored
-
- Apr 13, 2017
-
-
Robbert Krebbers authored
-
- Mar 28, 2017
-
-
Robbert Krebbers authored
-
- Mar 23, 2017
-
-
Robbert Krebbers authored
This fixes issue #84.
-
- Mar 21, 2017
-
-
Robbert Krebbers authored
-
- Mar 16, 2017
-
-
Robbert Krebbers authored
This fixes issue #81.
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
- Mar 15, 2017
-
-
Robbert Krebbers authored
- Allow framing of persistent hypotheses below the always modality. - Allow framing of persistent hypotheses in just one branch of a disjunction.
-
Robbert Krebbers authored
-
- Mar 14, 2017
-
-
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.
-
- Feb 24, 2017
-
-
Robbert Krebbers authored
-
- Feb 22, 2017
-
-
Robbert Krebbers authored
-
- Feb 21, 2017
-
-
Robbert Krebbers authored
This fixes issue #72.
-
- Feb 15, 2017
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
- Feb 13, 2017
-
-
Jacques-Henri Jourdan authored
When using [iAssert ... with ">[]"], we should not use [tac_assert_persistent], and eliminate the modality instead. This patch is still not ideal, because some modalities (e.g., later) preserve persistence.
-
- Feb 12, 2017
-
-
Robbert Krebbers authored
For example, when having `"H" : ∀ x : Z, P x`, using `iSpecialize ("H" $! (0:nat))` now works. We do this by first resolving the `IntoForall` type class, and then instantiating the quantifier.
-
- Feb 11, 2017
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
Instead of doing all the instantiations by invoking a single type class search, it now performs the instantiations by invoking individual type class searches. This a.) gives better error messages and b.) works when `xj` depends on `xi`.
-
Robbert Krebbers authored
In the following ways: - When having `P → Q` it will now also work when the spatial context is non-empty. - When having `∀ x : A, Q` it will now do an `iIntros (_)`.
-
- Feb 09, 2017
-
-
Robbert Krebbers authored
In this case, we cannot use all the hypotheses for proving the premises as well as for the remaining goal.
-
Robbert Krebbers authored
-
- Feb 06, 2017
-
-
Ralf Jung authored
-
- Jan 30, 2017
-
-
Robbert Krebbers authored
This fixes issue #57. I considered supporting these introduction patterns also in a nested fashion -- for example allowing `iDestruct foo as [H1 [{H1} H1 /= H2|H2]` -- but that turned out to be quite difficult. Where should we allow `/=`, `{H}` and `{$H}` exactly. Clearly something like `>/=` makes no sense, unless we adopt to some kind of 'stack like' semantics for introduction patterns as in ssreflect. Alternatively, we could only allow these patterns in the branches of the destructing introduction pattern `[... | ... | ...]` but that brings other complications, e.g.: - What to do with `(H1 & /= & H3)`? - How to distinguish the introduction patterns `[H _]` and `[_ H]` for destructing a spatial conjunction? We cannot simply match on the shape of the introduction pattern anymore, because one could also write `[_ H /=]`.
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-