- Mar 05, 2019
-
-
Ralf Jung authored
-
- Jan 24, 2019
-
-
Maxime Dénès authored
This is in preparation for coq/coq#9274.
-
- Dec 07, 2018
-
-
Robbert Krebbers authored
-
- Oct 24, 2018
-
-
Robbert Krebbers authored
-
Joseph Tassarotti authored
Use explicit names in some scripts, re-organize fupd plainly derived laws, adjust wsat import/export.
-
Joseph Tassarotti authored
Modify adequacy proof to not break the 'fancy update' abstraction. Modify fupd plainly interface and add new derived results.
-
- Mar 19, 2018
-
-
Ralf Jung authored
-
- Nov 20, 2017
-
-
Robbert Krebbers authored
-
- Nov 14, 2017
-
-
Robbert Krebbers authored
-
- Nov 13, 2017
-
-
Robbert Krebbers authored
-
- Oct 30, 2017
-
-
Robbert Krebbers authored
-
- Oct 28, 2017
-
-
Jacques-Henri Jourdan authored
This is to be used on top of stdpp's 4b5d254e.
-
- Oct 25, 2017
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
The advantage is that we can directly use a Coq introduction pattern `cpat` to perform actions to the pure assertion. Before, this had to be done in several steps: iDestruct ... as "[Htmp ...]"; iDestruct "Htmp" as %cpat. That is, one had to introduce a temporary name. I expect this to be quite useful in various developments as many of e.g. our invariants are written as: ∃ x1 .. x2, ⌜ pure stuff ⌝ ∗ spacial stuff.
-
- Sep 27, 2017
-
-
Robbert Krebbers authored
This causes a bit of backwards incompatibility: it may now succeed with later stripping below unlocked/TC transparent definitions. This problem actually occured for `wsat`.
-
- Sep 17, 2017
-
-
Robbert Krebbers authored
For obsolete reasons, that no longer seem to apply, we used ∅ as the unit.
-
- Mar 24, 2017
-
-
Robbert Krebbers authored
-
- Mar 14, 2017
-
-
Robbert Krebbers authored
- Support for a `//` modifier to close the goal using `done`. - Support for framing in the `[#]` specialization pattern for persistent premises, i.e. `[# $H1 $H2]` - Add new "auto framing patterns" `[$]`, `[# $]` and `>[$]` that will try to solve the premise by framing. Hypothesis that are not framed are carried over to the next goal.
-
- Feb 06, 2017
-
-
Ralf Jung authored
-
- Jan 05, 2017
-
-
Ralf Jung authored
-
Robbert Krebbers authored
-
- Jan 04, 2017
-
- 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 09, 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 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
-
-
Ralf Jung authored
-
- Nov 17, 2016
-
-
Robbert Krebbers authored
-
- Nov 15, 2016
-
-
Robbert Krebbers authored
There is no way to infer the cmra A, so we make it explicit.
-
- 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
-
Robbert Krebbers authored
-
- Oct 25, 2016
-
-
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
And also rename the corresponding proof mode tactics.
-
- Oct 12, 2016
-
-
Ralf Jung authored
rename program_logic.{ownership -> wsat}. It really is about world satisfaction and invariants more than about ownership.
-
- Oct 06, 2016
-
-
Robbert Krebbers authored
-
- Oct 05, 2016
-
-
Robbert Krebbers authored
-
- Sep 20, 2016
-
-
Robbert Krebbers authored
-