 27 Jan, 2017 1 commit


Ralf Jung authored

 11 Jan, 2017 1 commit


Ralf Jung authored
This approach is originally by Robbert

 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

 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 3 commits


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.

Robbert Krebbers authored
This removes Ralf's hack of using later_car, which is not function in the logic. Thanks to Aleš for suggesting this.

Ralf Jung authored

 02 Dec, 2016 1 commit


Robbert Krebbers authored

 25 Nov, 2016 1 commit


Ralf Jung authored

 24 Nov, 2016 1 commit


JacquesHenri Jourdan authored
The idea on magic wand is to use it for curried lemmas and use ⊢ for uncurried lemmas.

 22 Nov, 2016 3 commits


Ralf Jung authored

Robbert Krebbers authored

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

 03 Nov, 2016 1 commit


Robbert Krebbers authored
The old choice for ★ was a arbitrary: the precedence of the ASCII asterisk * was fixed at a wrong level in Coq, so we had to pick another symbol. The ★ was a random choice from a unicode chart. The new symbol ∗ (as proposed by David Swasey) corresponds better to conventional practise and matches the symbol we use on paper.

 27 Oct, 2016 2 commits


Robbert Krebbers authored

Ralf Jung authored

 25 Oct, 2016 2 commits


Robbert Krebbers authored

Robbert Krebbers authored
