- Feb 12, 2018
-
-
Jacques-Henri Jourdan authored
This reverts commit 78ba9509.
-
Jacques-Henri Jourdan authored
-
Ralf Jung authored
-
Ralf Jung authored
-
- Feb 08, 2018
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
Generic `iAlways` tactic. See merge request FP/iris-coq!111
-
- Feb 07, 2018
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
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.
-
Robbert Krebbers authored
-
Robbert Krebbers authored
In the same style as most of the BI lemmas, e.g. `or_mono`, `and_mono`, ...
-
- Feb 06, 2018
-
-
Jacques-Henri Jourdan authored
-
Jacques-Henri Jourdan authored
-
Jacques-Henri Jourdan authored
-
Jacques-Henri Jourdan authored
-
- Feb 03, 2018
-
-
Ralf Jung authored
-
- 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
-
Jacques-Henri Jourdan authored
-
Jacques-Henri Jourdan authored
-
- Jan 24, 2018
-
-
Jacques-Henri Jourdan authored
-
Jacques-Henri Jourdan authored
-
- Jan 23, 2018
-
-
Jacques-Henri Jourdan authored
1- Avoid [type_term (eq_refl : @eq Type PROP PROP')] when [PROP] is not given. This has significant performance implications. 2- In th case PROP is given (i.e., only when the tactic is manually used), introduce all the foralls and lets.
-
Jacques-Henri Jourdan authored
-
- Jan 22, 2018
-
-
Jacques-Henri Jourdan authored
-
Jacques-Henri Jourdan authored
-
Jacques-Henri Jourdan authored
-
Jacques-Henri Jourdan authored
-
- Jan 21, 2018
-
-
Robbert Krebbers authored
This should fix iris-examples.
-
- Jan 20, 2018
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
- Jan 19, 2018
-
-
Robbert Krebbers authored
-
Ralf Jung authored
-
- Jan 18, 2018
-
-
Robbert Krebbers authored
-