- 16 Feb, 2018 1 commit
-
-
Ralf Jung authored
-
- 15 Feb, 2018 1 commit
-
-
Ralf Jung authored
-
- 13 Jan, 2018 4 commits
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
- 22 Dec, 2017 6 commits
-
-
Jacques-Henri Jourdan authored
-
Jacques-Henri Jourdan authored
-
Jacques-Henri Jourdan authored
-
Jacques-Henri Jourdan authored
-
Jacques-Henri Jourdan authored
-
Janno authored
-
- 14 Dec, 2017 1 commit
-
-
Jacques-Henri Jourdan authored
-
- 04 Dec, 2017 1 commit
-
-
Jacques-Henri Jourdan authored
-
- 27 Nov, 2017 1 commit
-
-
Robbert Krebbers authored
-
- 14 Nov, 2017 1 commit
-
-
Robbert Krebbers authored
-
- 31 Oct, 2017 2 commits
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
- 30 Oct, 2017 2 commits
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
- 27 Oct, 2017 1 commit
-
-
Robbert Krebbers authored
-
- 19 Oct, 2017 3 commits
- 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/iris-atomic!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
-
-
Jacques-Henri Jourdan authored
-
- 22 Dec, 2016 2 commits
- 12 Dec, 2016 1 commit
-
-
Robbert Krebbers authored
Also: - Remove the wp_strip_later hack. - Let wp_lam, wp_rec, wp_... initiate the proof mode.
-