- 05 Mar, 2018 1 commit
-
-
Ralf Jung authored
This is backwards-compatible; it desugars to a normal application on previous versions
-
- 04 Mar, 2018 1 commit
-
-
Robbert Krebbers authored
-
- 03 Mar, 2018 1 commit
-
-
Jacques-Henri Jourdan authored
-
- 01 Mar, 2018 1 commit
-
-
Robbert Krebbers authored
See the discussion in #163.
-
- 28 Feb, 2018 2 commits
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
- 27 Feb, 2018 7 commits
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
It now no longer requires the modality to be absorbing by default; it only should be absorbing when non-affine hypotheses have been cleared.
-
Robbert Krebbers authored
-
- 23 Feb, 2018 4 commits
-
-
Robbert Krebbers authored
-
Joseph Tassarotti authored
-
Robbert Krebbers authored
-
Joseph Tassarotti authored
-
- 22 Feb, 2018 1 commit
-
-
Robbert Krebbers authored
As reported by @jjourdan: framing now no longer back tracks on whether to strip laters or not. When framing below a later, we now only make it strip laters of the head of the frame.
-
- 20 Feb, 2018 3 commits
-
-
Robbert Krebbers authored
This regression was caused by a bug in handling spec patterns.
-
Robbert Krebbers authored
We now use the `Maybe` prefix as also used for `Frame`: it indicates whether progress has been made by stripping of a later or not.
-
Robbert Krebbers authored
In the same way that `iFrame` would succeed on said goals.
-
- 19 Feb, 2018 4 commits
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
This made the definition much simpler, and provides support for all specialization patterns (although most are not very useful in combination with `iAssert`).
-
Robbert Krebbers authored
-
- 15 Feb, 2018 2 commits
-
-
Jacques-Henri Jourdan authored
-
Jacques-Henri Jourdan authored
-
- 13 Feb, 2018 3 commits
-
-
Jacques-Henri Jourdan authored
-
Jacques-Henri Jourdan authored
-
Jacques-Henri Jourdan authored
-
- 12 Feb, 2018 4 commits
-
-
Jacques-Henri Jourdan authored
-
Jacques-Henri Jourdan authored
This reverts commit 78ba9509.
-
Jacques-Henri Jourdan authored
-
Robbert Krebbers authored
This supports Iris 2 like update modalities, as used in e.g. by @jtassaro. This commit fixes issue #154.
-
- 07 Feb, 2018 1 commit
-
-
Robbert Krebbers authored
This commit implements a generic `iAlways` tactic that is not tied to `persistently`, `affinely` and `plainly` but can be instantiated with a variety of always-style modalities. In order to plug in an always-style modality, one has to decide for both the persistent and spatial what action should be performed upon introducing the modality: - Introduction is only allowed when the context is empty. - Introduction is only allowed when all hypotheses satisfy some predicate `C : PROP → Prop` (where `C` should be a type class). - Introduction will only keep the hypotheses that satisfy some predicate `C : PROP → Prop` (where `C` should be a type class). - Introduction will clear the context. - Introduction will keep the context as-if. Formally, these actions correspond to the following inductive type: ```coq Inductive always_intro_spec (PROP : bi) := | AIEnvIsEmpty | AIEnvForall (C : PROP → Prop) | AIEnvFilter (C : PROP → Prop) | AIEnvClear | AIEnvId. ``` An always-style modality is then a record `always_modality` packing together the modality with the laws it should satisfy to justify the given actions for both contexts.
-
- 02 Feb, 2018 1 commit
-
-
Jacques-Henri Jourdan authored
-
- 25 Jan, 2018 1 commit
-
-
Jacques-Henri Jourdan authored
-
- 23 Jan, 2018 3 commits
-
-
Robbert Krebbers authored
This is to make sure that e.g. `//` in `iEval (rewrite .. // ..)` does not immediately close the goal by reflexivity.
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-