- 10 May, 2016 8 commits
-
-
Robbert Krebbers authored
And make constants P for which we do not want of_val P to reduce Opaque.
-
Robbert Krebbers authored
through definitions.
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
This is more consistent with wp_cas_fail.
-
Robbert Krebbers authored
-
- 09 May, 2016 1 commit
-
-
Robbert Krebbers authored
-
- 07 May, 2016 1 commit
-
-
Robbert Krebbers authored
-
- 06 May, 2016 5 commits
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
- 02 May, 2016 1 commit
-
-
Robbert Krebbers authored
iSpecialize and iDestruct. These tactics now all take an iTrm, which is a tuple consisting of a.) a lemma or name of a hypotheses b.) arguments to instantiate c.) a specialization pattern.
-
- 26 Apr, 2016 1 commit
-
-
Robbert Krebbers authored
These tactics are superfluous: - iPure H as pat => iDestruct H as pat - iPersistent H => iSpecialize H "!"
-
- 25 Apr, 2016 1 commit
-
-
Robbert Krebbers authored
-
- 21 Apr, 2016 2 commits
-
-
Robbert Krebbers authored
-
Ralf Jung authored
-
- 20 Apr, 2016 5 commits
-
-
Robbert Krebbers authored
-
Ralf Jung authored
-
Robbert Krebbers authored
- It can now also frame under later. - Better treatment of evars, it now won't end up in loops whenever the goal involves sub-formulas ?P and it trying to apply all framing rules eagerly. - It no longer delta expands while framing. - Better clean up of True sub-formulas after a successful frame. For example, framing "P" in "▷ ▷ P ★ Q" yields just "Q" instead of "▷ True ★ Q" or so.
-
Robbert Krebbers authored
-
Ralf Jung authored
-
- 19 Apr, 2016 13 commits
-
-
Robbert Krebbers authored
Par is now defined as an expression of type [∀ X, expr X] (instead of a value) and we prove that it is stable under weakening and substitution.
-
Robbert Krebbers authored
-
Robbert Krebbers authored
It is just a test case and not really part of the barrier library.
-
Robbert Krebbers authored
This gets rid of the (ambiguous) notation %l, because we can declare LitLoc as a coercion. It also shortens the code.
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Ralf Jung authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Ralf Jung authored
-
Ralf Jung authored
-
Robbert Krebbers authored
That way, we do not have useless type annotations of the form "v : language.val heap_lang" cluttering about any goal. Note, that we could decide to eta expand everywhere (as we do for ∀ and ∃), and use the notation "WP e {{ Q }}" for "wp e ⊤ (λ _, Q)".
-
Robbert Krebbers authored
-
- 15 Apr, 2016 1 commit
-
-
Ralf Jung authored
-
- 14 Apr, 2016 1 commit
-
-
Robbert Krebbers authored
-