 07 Dec, 2017 1 commit


Ralf Jung authored

 05 Dec, 2017 3 commits
 26 Nov, 2017 2 commits


David Swasey authored

David Swasey authored

 23 Nov, 2017 1 commit


Robbert Krebbers authored
It can be infered now.

 11 Nov, 2017 1 commit


Robbert Krebbers authored

 09 Nov, 2017 6 commits


David Swasey authored
This reverts commit 913059d2.

David Swasey authored
This is derived from `wp_forget_not_stuck` and a trivial preorder on stuckness bits. (The two lemmas are redundant, but I have examples where each seems more natural than the other.) I did *not* bake `wp_stuckness_mono` into `strong_mono` for two reasons. Mainly, I didn't see a nice way to combine the two proofs (beyond `cut`). Less important, changing the type of `wp_strong_mono` will break code.

David Swasey authored
I saw no need for `stuckness_flip`: strong atomicity always works, while weak atomicity works only for expressions that are not stuck. Since this seemed unclear, I split lemma `wp_atomic'` up into `wp_strong_atomic` (parametric in the WP's `s`) and `wp_weak_atomic` (not). The proof mode instance is stated in terms of the derived rule `wp_atomic` (parametric in `s`).

David Swasey authored

David Swasey authored

 08 Nov, 2017 4 commits


David Swasey authored

David Swasey authored
Pull progress bit out of the WP fixpoint, make (most) wp adequacy notation only parsing, and generalize forget_progress.

David Swasey authored

David Swasey authored

 04 Nov, 2017 1 commit


Robbert Krebbers authored

 25 Oct, 2017 1 commit


Robbert Krebbers authored

 25 Sep, 2017 1 commit


Robbert Krebbers authored

 09 Sep, 2017 1 commit


Robbert Krebbers authored

 20 Aug, 2017 1 commit


Robbert Krebbers authored
This makes it easier to frame or introduce some modalities before introducing universal quantifiers.

 13 Apr, 2017 1 commit


Robbert Krebbers authored

 15 Mar, 2017 1 commit


Robbert Krebbers authored
 Allow framing of persistent hypotheses below the always modality.  Allow framing of persistent hypotheses in just one branch of a disjunction.

 14 Mar, 2017 2 commits


Robbert Krebbers authored

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.

 10 Mar, 2017 1 commit


Ralf Jung authored

 24 Jan, 2017 1 commit


Robbert Krebbers authored

 20 Jan, 2017 1 commit


Robbert Krebbers authored

 12 Jan, 2017 1 commit


Robbert Krebbers authored

 11 Jan, 2017 1 commit


Ralf Jung authored
This approach is originally by Robbert

 05 Jan, 2017 1 commit


Ralf Jung authored

 03 Jan, 2017 1 commit


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

 09 Dec, 2016 2 commits


Ralf Jung authored

Robbert Krebbers authored
The WP construction now takes an invariant on states as a parameter (part of the irisG class) and no longer builds in the authoritative ownership of the entire state. When instantiating WP with a concrete language on can choose its state invariant. For example, for heap_lang we directly use `auth (gmap loc (frac * dec_agree val))`, and avoid the indirection through invariants entirely. As a result, we no longer have to carry `heap_ctx` around.

 06 Dec, 2016 1 commit


Ralf Jung authored

 05 Dec, 2016 1 commit


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.

 30 Nov, 2016 1 commit


JacquesHenri Jourdan authored

 24 Nov, 2016 1 commit


JacquesHenri Jourdan authored
The idea on magic wand is to use it for curried lemmas and use ⊢ for uncurried lemmas.
