- Feb 28, 2018
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
- Feb 27, 2018
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Jacques-Henri Jourdan authored
They are split into: 1- KnownMakeXXX , which only works if the parameter is not an evar. Hence, it will never force this evar to becomes e.g., emp or True. 2- MakeXXX, which works even if this is an evar, but it only has instances that will not instanciate arbitrarilly this evar.
-
- Feb 22, 2018
-
-
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.
-
- Feb 21, 2018
-
-
Ralf Jung authored
-
Robbert Krebbers authored
For better support for eliminating affine/absorbing separating conjunctions in the persistent context/under a plainness/persistence modality.
-
- Feb 20, 2018
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
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.
-
- Feb 14, 2018
-
-
Ralf Jung authored
-
- Feb 12, 2018
-
-
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.
-
Robbert Krebbers authored
These were needed pre-a63f256e.
-
- Feb 08, 2018
-
-
Robbert Krebbers authored
-
- Feb 07, 2018
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
We already supported framing under wands.
-
Robbert Krebbers authored
For example, framing `P` in `(P ∨ Q) ∗ R` now succeeds and turns the goal into `R`.
-
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.
-
- Feb 02, 2018
-
-
Jacques-Henri Jourdan authored
-
- Jan 27, 2018
-
-
Jacques-Henri Jourdan authored
-
- Jan 25, 2018
-
-
Jacques-Henri Jourdan authored
-
Jacques-Henri Jourdan authored
-
- Jan 24, 2018
-
-
Jacques-Henri Jourdan authored
-
- Jan 23, 2018
-
-
Jacques-Henri Jourdan authored
-
- Jan 21, 2018
-
-
Robbert Krebbers authored
This should fix iris-examples.
-
- Jan 20, 2018
-
-
Robbert Krebbers authored
-
- Jan 18, 2018
-
-
Jacques-Henri Jourdan authored
-
- Jan 16, 2018
-
-
Jacques-Henri Jourdan authored
-
Jacques-Henri Jourdan authored
-
Robbert Krebbers authored
This used to be done by using `ElimModal` in backwards direction. Having a separate type class for this gets rid of some hacks: - Both `Hint Mode`s in forward and backwards direction for `ElimModal`. - Weird type class precedence hacks to make sure the right instance is picked. These were needed because using `ElimModal` in backwards direction caused ambiguity.
-
Robbert Krebbers authored
-
- Dec 30, 2017
-
-
Robbert Krebbers authored
This was an oversight in !63.
-
- Dec 22, 2017
-
-
Jacques-Henri Jourdan authored
-