 06 Nov, 2019 1 commit


Amin Timany authored

 06 Mar, 2019 1 commit


Ralf Jung authored

 05 Mar, 2019 1 commit


Ralf Jung authored

 18 Oct, 2018 1 commit


Ralf Jung authored

 05 Oct, 2018 2 commits


Marianna Rapoport authored
 Removing head of list of observations after each reduction step in definition of wp  Adding support for observations to state_interp and world  Applying Ralf's suggestions to previous commit (e.g. replacing /\ and > with unicode characters)

Marianna Rapoport authored

 23 Nov, 2017 3 commits


Robbert Krebbers authored

Robbert Krebbers authored
It can be infered now.

Robbert Krebbers authored

 09 Nov, 2017 2 commits


David Swasey authored
This reverts commit 913059d2.

 08 Nov, 2017 1 commit


David Swasey authored

 07 Nov, 2017 1 commit


Ralf Jung authored

 04 Nov, 2017 1 commit


Ralf Jung authored

 09 Sep, 2017 1 commit


Robbert Krebbers authored

 14 Mar, 2017 2 commits


Robbert Krebbers authored

Robbert Krebbers authored
This has some advantages:  Evaluation contexts behave like a proper "Huet's zipper", and thus: + We no longer need to reverse the list of evaluation context items in the `reshape_expr` tactic. + The `fill` function becomes tailrecursive.  It gives rise to more definitional equalities in simulation proofs using binary logical relations proofs. In the case of binary logical relations, we simulate an expressions in some ambient context, i.e. `fill K e`. Now, whenever we reshape `e` by turning it into `fill K' e'`, we end up with `fill K (fill K' e')`. In order to use the rules for the expression that is being simulated, we need to turn `fill K (fill K' e')` into `fill K'' e'` for some `K'`. In case of the old `foldr`based approach, we had to rewrite using the lemma `fill_app` to achieve that. However, in case of the old `foldl`based `fill`, we have that `fill K (fill K' e')` is definitionally equal to `fill (K' ++ K) e'` provided that `K'` consists of a bunch of `cons`es (which is always the case, since we obtained `K'` by reshaping `e`). Note that this change hardly affected `heap_lang`. Only the proof of `atomic_correct` broke. I fixed this by proving a more general lemma `ectxi_language_atomic` about `ectxi`languages, which should have been there in the first place.

 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 1 commit


Ralf Jung authored

 08 Dec, 2016 2 commits


Robbert Krebbers authored

Ralf Jung authored

 29 Aug, 2016 1 commit


Robbert Krebbers authored
(which are useful in Amin's logical relations development).

 08 Aug, 2016 1 commit


Robbert Krebbers authored
This generalization is surprisingly easy in Iris 3.0, so I could not resist not doing it :).

 20 Jul, 2016 1 commit


JacquesHenri Jourdan authored
* Values are considered as atomic expressions (this does not hurt, and this makes the proofs of atomicity simpler).

 19 Jul, 2016 1 commit


Robbert Krebbers authored
I also reverted 7952bca4 since there is no need for atomic to be a boolean predicate anymore. Moreover, I introduced a hint database fsaV for solving sideconditions related to FSAs, in particular, sideconditions related to expressions being atomic.

 30 Mar, 2016 1 commit


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