- Sep 13, 2019
-
-
Jacques-Henri 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 (??).
-
- Feb 21, 2019
-
-
Robbert Krebbers authored
-
- Feb 20, 2019
-
-
Robbert Krebbers authored
-
- Mar 24, 2017
-
-
Robbert Krebbers authored
Instead, I have introduced a type class `Monoid` that is used by the big operators: Class Monoid {M : ofeT} (o : M → M → M) := { monoid_unit : M; monoid_ne : NonExpansive2 o; monoid_assoc : Assoc (≡) o; monoid_comm : Comm (≡) o; monoid_left_id : LeftId (≡) monoid_unit o; monoid_right_id : RightId (≡) monoid_unit o; }. Note that the operation is an argument because we want to have multiple monoids over the same type (for example, on `uPred`s we have monoids for `∗`, `∧`, and `∨`). However, we do bundle the unit because: - If we would not, the unit would appear explicitly in an implicit argument of the big operators, which confuses rewrite. By bundling the unit in the `Monoid` class it is hidden, and hence rewrite won't even see it. - The unit is unique. We could in principle have big ops over setoids instead of OFEs. However, since we do not have a canonical structure for bundled setoids, I did not go that way.
-
Robbert Krebbers authored
-
- Feb 06, 2017
-
-
Ralf Jung authored
-
- Jan 27, 2017
-
-
Ralf Jung authored
-
- Jan 06, 2017
-
-
Robbert Krebbers authored
Rename: - prefix_of -> prefix and suffix_of -> suffix because that saves keystrokes in lemma names. However, keep the infix notations with l1 `prefix_of` l2 and l1 `suffix_of` l2 because those are easier to read. - change the notation l1 `sublist` l2 into l1 `sublist_of` l2 to be consistent. - rename contains -> submseteq and use the notation ⊆+
-
- Jan 05, 2017
-
-
Ralf Jung authored
-
- Jan 03, 2017
-
-
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
-
- Dec 09, 2016
-
-
Ralf Jung authored
-
Jacques-Henri Jourdan authored
-
- Dec 06, 2016
-
-
Dan Frumin authored
-
Robbert Krebbers authored
-
- Dec 05, 2016
-
-
Jacques-Henri Jourdan authored
-
- Dec 02, 2016
-
-
Robbert Krebbers authored
-
- Nov 21, 2016
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
- Nov 20, 2016
-
-
Robbert Krebbers authored
-
- Nov 19, 2016
-
-
Robbert Krebbers authored
-
- Nov 17, 2016
-
-
Robbert Krebbers authored
-
- Nov 15, 2016
-
-
Robbert Krebbers authored
Many useful properties are probably still missing.
-
- Oct 03, 2016
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
- Oct 02, 2016
-
-
Robbert Krebbers authored
-
- Sep 28, 2016
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
This allows us to factor out properties about connectives that commute with the big operators.
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
- May 30, 2016
-
-
Robbert Krebbers authored
-
- May 27, 2016
-
-
Robbert Krebbers authored
-
- Mar 21, 2016
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
- Mar 10, 2016
-
-
Robbert Krebbers authored
Thanks to Amin Timany for the suggestion.
-
- Mar 08, 2016
-
-
Ralf Jung authored
-
- Feb 20, 2016
-
-
Ralf Jung authored
-
- Feb 17, 2016
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-