- Mar 16, 2017
-
-
Robbert Krebbers authored
-
- Mar 15, 2017
-
-
Robbert Krebbers authored
The instances frame_big_sepL_cons and frame_big_sepL_app could be applied repeatedly often when framing in [∗ list] k ↦ x ∈ ?e, Φ k x when ?e an evar. This commit fixes this bug.
-
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
-
Robbert Krebbers authored
-
- Mar 11, 2017
-
-
Robbert Krebbers authored
-
- Mar 09, 2017
-
-
Robbert Krebbers authored
Also, make the setup of IntoLaterN more consistent with that of WandWeaken. Maybe, we should do something similar for other proof mode classes too.
-
- Feb 22, 2017
-
-
Robbert Krebbers authored
There is no need to restrict the type class using Hint Mode, we have a default instance that will always be used first. In case of evars, the default instance should apply. The reason for this change is that `iAssumption` should be able to prove `H : ?e |- P` and `H : P |- ?e`. The former Hint Mode prevented it from doing that.
-
- Feb 15, 2017
- Feb 13, 2017
-
-
Robbert Krebbers authored
-
- Feb 11, 2017
-
-
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`.
-
- Feb 06, 2017
-
-
Ralf Jung authored
-
- Jan 26, 2017
-
-
Robbert Krebbers authored
TODO: document the setup of the IntoWand and WandWeaken type classes and the tricks using Hint Mode.
-
- Jan 24, 2017
-
-
Robbert Krebbers authored
-
- Jan 23, 2017
-
-
Robbert Krebbers authored
-
- Jan 22, 2017
-
-
Robbert Krebbers authored
This fixes issue #62.
-
- Jan 05, 2017
-
-
Ralf Jung authored
-
- Jan 03, 2017
-
-
Ralf Jung authored
This patch was created using find -name *.v | xargs -L 1 awk -i inplace '{from = 0} /^From/{ from = 1; ever_from = 1} { if (from == 0 && seen == 0 && ever_from == 1) { print "Set Default Proof Using \"Type*\"."; seen = 1 } }1 ' and some minor manual editing
-
- Dec 28, 2016
-
-
Robbert Krebbers authored
This fixes issue #55.
-
- Dec 14, 2016
-
-
Ralf Jung authored
-
- Dec 09, 2016
-
-
Ralf Jung authored
-
- Nov 29, 2016
-
-
Robbert Krebbers authored
When having H : ▷ (P -∗ Q) and H2 : ▷ P, iSpecialize ("H" with "H2") distributes the later over the wand.
-
- Nov 27, 2016
-
-
Robbert Krebbers authored
-
- Nov 25, 2016
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
- Nov 22, 2016
- Nov 03, 2016
-
-
Robbert Krebbers authored
The old choice for ★ was a arbitrary: the precedence of the ASCII asterisk * was fixed at a wrong level in Coq, so we had to pick another symbol. The ★ was a random choice from a unicode chart. The new symbol ∗ (as proposed by David Swasey) corresponds better to conventional practise and matches the symbol we use on paper.
-
- Oct 28, 2016
-
-
Robbert Krebbers authored
-
- Oct 25, 2016
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
There are now two proof mode tactics for dealing with modalities: - `iModIntro` : introduction of a modality - `iMod pm_trm as (x1 ... xn) "ipat"` : eliminate a modality The behavior of these tactics can be controlled by instances of the `IntroModal` and `ElimModal` type class. We have declared instances for later, except 0, basic updates and fancy updates. The tactic `iMod` is flexible enough that it can also eliminate an updates around a weakest pre, and so forth. The corresponding introduction patterns of these tactics are `!>` and `>`. These tactics replace the tactics `iUpdIntro`, `iUpd` and `iTimeless`. Source of backwards incompatability: the introduction pattern `!>` is used for introduction of arbitrary modalities. It used to introduce laters by stripping of a later of each hypotheses.
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-