- Nov 02, 2020
-
-
Robbert Krebbers authored
-
- Oct 31, 2020
-
-
- Oct 27, 2020
-
-
Implemented as an algebra for rules about `auth max_natUR` and a logic-level wrapper for the auth element (a nat) and fragment (a persistent lower-bound). Fixes #327.
-
- Oct 20, 2020
-
-
Robbert Krebbers authored
-
Ralf Jung authored
-
- Oct 13, 2020
-
-
Ralf Jung authored
-
- Oct 09, 2020
-
-
Ralf Jung authored
-
- Oct 06, 2020
-
-
Robbert Krebbers authored
-
- Oct 05, 2020
-
-
Robbert Krebbers authored
-
- Oct 04, 2020
-
-
Robbert Krebbers authored
-
- Oct 03, 2020
-
-
Simon Friis Vindum authored
-
Ralf Jung authored
-
- Oct 01, 2020
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Michael Sammler authored
-
- Sep 29, 2020
-
-
Ralf Jung authored
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
Ralf Jung authored
-
- Sep 27, 2020
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
For example, `auth_auth_valid`.
-
- Sep 16, 2020
-
-
Ralf Jung authored
-
- Sep 15, 2020
- Sep 14, 2020
- 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