 13 Sep, 2019 1 commit


JacquesHenri Jourdan authored
The general idea is to first import/export modules which are further than the current one, and then import/export modules which are close dependencies. This commit tries to use the same order of imports for every file, and describes the convention in ProofGuide.md. There is one exception, where we do not follow said convention: in program_logic/weakestpre.v, using that order would break printing of texan triples (??).

 06 May, 2019 1 commit


Robbert Krebbers authored

 05 Mar, 2019 1 commit


Ralf Jung authored

 05 Jun, 2018 4 commits
 17 May, 2018 1 commit


Robbert Krebbers authored

 19 Mar, 2018 1 commit


Ralf Jung authored

 23 Feb, 2018 1 commit


Robbert Krebbers authored

 12 Feb, 2018 3 commits


JacquesHenri Jourdan authored

JacquesHenri Jourdan authored
This reverts commit 78ba9509.

JacquesHenri Jourdan authored

 18 Jan, 2018 1 commit


JacquesHenri Jourdan authored

 20 Dec, 2017 1 commit


Robbert Krebbers authored

 14 Nov, 2017 1 commit


Robbert Krebbers authored

 01 Nov, 2017 1 commit


Robbert Krebbers authored
This solves issue #100: the proof mode notation is sometimes not printed. As Ralf discovered, the problem is that there are two overlapping notations: ```coq Notation "P ⊢ Q" := (uPred_entails P Q). ``` And the "proof mode" notation: ``` Notation "Γ '' □ Δ '' ∗ Q" := (of_envs (Envs Γ Δ) ⊢ Q%I). ``` These two notations overlap, so, when having a "proof mode" goal of the shape `of_envs (Envs Γ Δ) ⊢ Q%I`, how do we know which notation is Coq going to pick for pretty printing this goal? As we have seen, this choice depends on the import order (since both notations appear in different files), and as such, Coq sometimes (unintendedly) uses the first notation instead of the latter. The idea of this commit is to wrap `of_envs (Envs Γ Δ) ⊢ Q%I` into a definition so that there is no ambiguity for the pretty printer anymore.

 30 Oct, 2017 1 commit


Robbert Krebbers authored

 25 Oct, 2017 1 commit


Robbert Krebbers authored

 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

 25 Oct, 2016 2 commits


Robbert Krebbers authored

Robbert Krebbers authored
