 07 Apr, 2017 1 commit


JacquesHenri Jourdan authored

 05 Apr, 2017 1 commit


JacquesHenri Jourdan authored

 04 Apr, 2017 1 commit


JacquesHenri Jourdan authored

 09 Mar, 2017 1 commit


Robbert Krebbers authored
Now, we never need to unfold LimitPreserving in LambdaRust, and hence the entails_lim tactic is no longer needed.

 01 Mar, 2017 1 commit


Ralf Jung authored

 05 Jan, 2017 2 commits
 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

 21 Dec, 2016 1 commit


Ralf Jung authored

 13 Dec, 2016 1 commit


Robbert Krebbers authored
This fixes the following issue by JH Jourdan: The fact of including uPred_[...] in the module uPred (in base_logic.v), implies that typeclasses instances are declared twice. Once in module uPred and once in module uPred_[...]. This has the unfortunate consequence that it has to backtrack to both instances each time the first one fails, making failure of type class search for e.g. PersistentP potentially exponential. Goal ((□ ∀ (x1 x2 x3 x4 x5: nat), True ∗ True) ∗ True : iProp Σ). Time iIntros "#H". Undo. Remove Hints uPred_derived.forall_persistent : typeclass_instances. Time iIntros "#H". Thanks to Jason Gross @ Coq club for suggesting this fix.

 09 Dec, 2016 1 commit


Ralf Jung authored

 05 Dec, 2016 1 commit


Robbert Krebbers authored
Using this new definition we can express being contractive using a Proper. This has the following advantages:  It makes it easier to state that a function with multiple arguments is contractive (in all or some arguments).  A solve_contractive tactic can be implemented by extending the solve_proper tactic.

 22 Nov, 2016 1 commit


Ralf Jung authored
Use COFEs only for the recursive domain equation solver

 25 Oct, 2016 1 commit


Robbert Krebbers authored
