 19 Oct, 2017 1 commit


Ralf Jung authored

 09 Oct, 2017 1 commit


Ralf Jung authored

 25 Sep, 2017 2 commits


Dan Frumin authored

Dan Frumin authored
Instead of writing a separate tactic lemma for each pure reduction, there is a single tactic lemma for performing all of them. The instances of PureExec can be shared between WP tactics and, e.g. symbolic execution in the ghost threadpool

 18 Sep, 2017 1 commit


Robbert Krebbers authored
That caused some problems, e.g.: From iris.base_logic Require Export fix. Gave: Syntax error: [constr:global] expected after [export_token] (in [vernac:gallina_ext]).

 22 Aug, 2017 1 commit


Ralf Jung authored
Implementation is by Robbert <FP/irisatomic!5 (comment 19496)>

 12 Jun, 2017 1 commit


Robbert Krebbers authored

 08 Jun, 2017 1 commit


Robbert Krebbers authored

 24 Mar, 2017 1 commit


Robbert Krebbers authored
Instead, I have introduced a type class `Monoid` that is used by the big operators: Class Monoid {M : ofeT} (o : M → M → M) := { monoid_unit : M; monoid_ne : NonExpansive2 o; monoid_assoc : Assoc (≡) o; monoid_comm : Comm (≡) o; monoid_left_id : LeftId (≡) monoid_unit o; monoid_right_id : RightId (≡) monoid_unit o; }. Note that the operation is an argument because we want to have multiple monoids over the same type (for example, on `uPred`s we have monoids for `∗`, `∧`, and `∨`). However, we do bundle the unit because:  If we would not, the unit would appear explicitly in an implicit argument of the big operators, which confuses rewrite. By bundling the unit in the `Monoid` class it is hidden, and hence rewrite won't even see it.  The unit is unique. We could in principle have big ops over setoids instead of OFEs. However, since we do not have a canonical structure for bundled setoids, I did not go that way.

 18 Feb, 2017 1 commit


Robbert Krebbers authored

 07 Feb, 2017 1 commit


Ralf Jung authored

 06 Feb, 2017 1 commit


Ralf Jung authored

 17 Jan, 2017 1 commit


Robbert Krebbers authored

 26 Dec, 2016 1 commit


JacquesHenri Jourdan authored

 22 Dec, 2016 2 commits
 12 Dec, 2016 2 commits


Robbert Krebbers authored
Also:  Remove the wp_strip_later hack.  Let wp_lam, wp_rec, wp_... initiate the proof mode.

Ralf Jung authored

 09 Dec, 2016 6 commits


Ralf Jung authored

Ralf Jung authored
Really, *all* of our files contain proof rules

Ralf Jung authored
Thanks to Robbert for fixing gen_heap

Robbert Krebbers authored

Robbert Krebbers authored

Robbert Krebbers authored

 06 Dec, 2016 1 commit


Ralf Jung authored

 23 Nov, 2016 1 commit


JacquesHenri Jourdan authored

 22 Nov, 2016 3 commits
 15 Nov, 2016 2 commits


Ralf Jung authored

Robbert Krebbers authored

 10 Nov, 2016 1 commit


Robbert Krebbers authored
This way we avoid the env_cbv tactic unfolding string related stuff that appears in the goal and hypotheses of the proof mode.

 01 Nov, 2016 1 commit


Ralf Jung authored

 28 Oct, 2016 3 commits


Robbert Krebbers authored

Robbert Krebbers authored

Ralf Jung authored

 25 Oct, 2016 3 commits


Robbert Krebbers authored

Robbert Krebbers authored

Robbert Krebbers authored
And also rename the corresponding proof mode tactics.

 12 Oct, 2016 1 commit


Ralf Jung authored
rename program_logic.{ownership > wsat}. It really is about world satisfaction and invariants more than about ownership.
