- Sep 14, 2020
-
-
Ralf Jung authored
-
- Jul 21, 2020
-
-
Tej Chajed authored
Preserve identifiers in binders where possible, analogous to the support for destructing existentials in !479. Fixes #336.
-
When running `iDestruct "H" as (?) "H"`, use the name of the binder in "H". For example, if "H" has type `∃ y, Φ y`, we now use `y` as the name of the variable after freshening. Previously the name was always the equivalent of running `fresh H`. The implementation achieves this by forwarding the desired identifier name through the `IntoExist` typeclass. Identifiers are serialized in Gallina by using them as the name of a function of type `ident_name := unit -> unit`.
-
- Jul 15, 2020
- Jul 14, 2020
- Jul 02, 2020
-
-
Simon Friis Vindum authored
-
Ralf Jung authored
-
- Jun 29, 2020
-
-
Ralf Jung authored
-
- Jun 26, 2020
-
-
Ralf Jung authored
-
- Jun 17, 2020
-
-
Simon Friis Vindum authored
-
- May 29, 2020
-
-
- it doesn't seem to conflict with anything in Ltac
-
- May 28, 2020
-
-
Robbert Krebbers authored
-
- May 25, 2020
-
-
Ralf Jung authored
-
Robbert Krebbers authored
-
Ralf Jung authored
-
- May 23, 2020
-
-
Robbert Krebbers authored
-
- May 18, 2020
- Apr 28, 2020
-
-
Paolo G. Giarrusso authored
-
- Apr 25, 2020
-
-
Abel Nieto authored
Here's one case this lemma might be useful. Suppose we want to programmatically generate namespaces for e.g. locks: ``` Definition lockN (l : loc) := nroot .@ "lock" .@ l. ``` Then to know that two such namespaces are disjoint, we need to know that the corresponding locations are distinct. For that we use the lemma here introduced. ``` Lemma ne l1 l2 v1 v2 : l1 ↦ v1 -∗ l2 ↦ v2 -∗ ⌜l1 ≠ l2⌝. Proof. iApply mapsto_mapsto_ne. (* goal ¬ ✓ 2%Qp *) by intros []. Qed. ```
-
- Apr 24, 2020
-
-
Robbert Krebbers authored
-
- Apr 23, 2020
-
-
Removes auth_both_op and renames auth_both_frac_op into auth_both_op.
-
- Apr 08, 2020
-
-
Ralf Jung authored
-
- Apr 07, 2020
-
-
Ralf Jung authored
-
Gregory Malecha authored
-
Gregory Malecha authored
-
Gregory Malecha authored
- all ascii notation is marked "only parsing" so this PR shouldn't change anything for anyone using only unicode notation. - the algorithm for creating an ascii notation is pretty simple. - \ast -> * - \triangleright -> |> - \vee -> \/ - \wedge -> /\ - \forall -> forall - \exists -> exists - \ast -> **
-
Ralf Jung authored
-
Ralf Jung authored
-