 10 May, 2016 1 commit


Robbert Krebbers authored

 09 May, 2016 1 commit


Robbert Krebbers authored

 19 Apr, 2016 8 commits


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

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)".

 07 Apr, 2016 1 commit


Robbert Krebbers authored

 30 Mar, 2016 1 commit


Ralf Jung authored
and show that this is an instance of evaluation contexts

 29 Mar, 2016 3 commits


Robbert Krebbers authored

Ralf Jung authored
This required a new ectx axiom: Positivity of evaluation contexts. This axiom was also present in the old Iris 1.1 development, back when it still derived lifting axioms for ectx languages.

Ralf Jung authored

 15 Mar, 2016 1 commit


Ralf Jung authored

 12 Mar, 2016 1 commit


Ralf Jung authored

 10 Mar, 2016 3 commits


Ralf Jung authored

Ralf Jung authored

Robbert Krebbers authored
Thanks to Amin Timany for the suggestion.

 07 Mar, 2016 1 commit


Ralf Jung authored
Add both nonexpansive and contractive functors, and bundle them for the general Iris instance as well as the global functor construction This allows us to move the \later in the userdefined functor to any place we want. In particular, we can now have "\later (iProp > iProp)" in the ghost CMRA.

 05 Mar, 2016 1 commit


Ralf Jung authored

 04 Mar, 2016 2 commits


Ralf Jung authored

Robbert Krebbers authored

 02 Mar, 2016 4 commits


Ralf Jung authored

Ralf Jung authored
get rid of substitution in Case (use lambdas); introduce Match as derived form that involves binders

Robbert Krebbers authored
We no longer abuse empty strings for anonymous binders. Instead, we now have a data type for binders: a binder is either named or anonymous.

Robbert Krebbers authored
This cleans up some adhoc stuff and prepares for a generalization of saved propositions.

 26 Feb, 2016 1 commit


Robbert Krebbers authored
It is based on type classes and can it be tuned by providing instances, for example, instances can be provided to mark that certain expressions are closed.

 20 Feb, 2016 3 commits
 19 Feb, 2016 1 commit


Robbert Krebbers authored

 18 Feb, 2016 2 commits


Robbert Krebbers authored
This avoids ambiguity with P and Q that we were using before for both uPreds/iProps and indexed uPreds/iProps.

Ralf Jung authored

 16 Feb, 2016 1 commit


Robbert Krebbers authored

 15 Feb, 2016 1 commit


Robbert Krebbers authored

 13 Feb, 2016 1 commit


Robbert Krebbers authored
Also, make our redefinition of done more robust under different orders of Importing modules.

 12 Feb, 2016 2 commits