- Dec 06, 2016
-
-
Ralf Jung authored
-
- Dec 05, 2016
-
-
Robbert Krebbers authored
Using this new definition we can express being contractive using a Proper. This has the following advantages: - It makes it easier to state that a function with multiple arguments is contractive (in all or some arguments). - A solve_contractive tactic can be implemented by extending the solve_proper tactic.
-
- Nov 30, 2016
-
-
Jacques-Henri Jourdan authored
-
- Nov 24, 2016
-
-
Jacques-Henri Jourdan authored
The idea on magic wand is to use it for curried lemmas and use ⊢ for uncurried lemmas.
-
- Nov 22, 2016
- Nov 17, 2016
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
This reverts commit 2a7755fe because it is no longer needed after Matthieu Sozeau reverted this change in Coq 8.6. See also the discussion: [Coq-Club] Coq 8.6 typeclasses behavior change at 11/16/2016 02:14 PM.
-
- Nov 15, 2016
-
-
Robbert Krebbers authored
In Coq 8.6 type class search is not called recursively on premises that are not type classes. To that end, we use a hint extern to invoke an ordinary auto.
-
- Nov 09, 2016
-
-
Robbert Krebbers authored
-
- Nov 06, 2016
-
-
Robbert Krebbers authored
-
- 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.
-
- Nov 01, 2016
- Oct 28, 2016
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Ralf Jung authored
-
- Oct 27, 2016
-
-
Ralf Jung authored
-
Ralf Jung authored
-
Robbert Krebbers authored
-
Ralf Jung authored
-
Janno authored
-
- Oct 26, 2016
-
-
Jacques-Henri Jourdan 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
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
And also rename the corresponding proof mode tactics.
-
Robbert Krebbers authored
-
- Oct 18, 2016
-
-
Robbert Krebbers authored
-
- Oct 16, 2016
-
-
Jacques-Henri Jourdan authored
This fact is deduced from reducibility. Unfortunately, this sometimes depends on the type of states being inhabited, so that this additional hypothesis sometimes appear.
-
- Oct 13, 2016
- Oct 12, 2016
-
-
Ralf Jung authored
rename program_logic.{ownership -> wsat}. It really is about world satisfaction and invariants more than about ownership.
-
Robbert Krebbers authored
-