- Feb 12, 2018
-
-
Jacques-Henri Jourdan authored
This reverts commit 78ba9509.
-
Jacques-Henri Jourdan authored
-
- Feb 07, 2018
-
-
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.
-
- Feb 06, 2018
-
-
Jacques-Henri Jourdan 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
-
- 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
-
- Jan 21, 2018
-
-
Robbert Krebbers authored
This should fix iris-examples.
-
- Jan 20, 2018
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
- Jan 19, 2018
-
-
Robbert Krebbers authored
-
- Jan 18, 2018
-
-
Jacques-Henri Jourdan authored
Reorganize bi.monpred. Add unfolding manual lemmas for monPred_at, and use them in proofmode.monpred. Add big op lemmas for monpred_at.
-
Jacques-Henri Jourdan authored
-
Jacques-Henri Jourdan authored
-
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
-
Jacques-Henri Jourdan authored
-
- Jan 13, 2018
-
-
Robbert Krebbers authored
-
- Jan 12, 2018
-
-
Robbert Krebbers authored
-
Jacques-Henri Jourdan authored
Use [notypeclasses refine] instead of eapply in iLöb and iNext, to workaround the confusion of apply wrt canonical structures.
-
- Jan 11, 2018
-
-
Jacques-Henri Jourdan authored
-
Jacques-Henri Jourdan authored
-
Jacques-Henri Jourdan authored
-
- Jan 10, 2018
-
-
Jacques-Henri Jourdan authored
-
- Jan 07, 2018
-
-
Robbert Krebbers authored
-
- Dec 31, 2017
-
-
Robbert Krebbers authored
-
- Dec 30, 2017
-
-
Robbert Krebbers authored
This was an oversight in !63.
-
- Dec 23, 2017
-
-
Jacques-Henri Jourdan authored
-