- 04 Dec, 2020 1 commit
-
-
Robbert Krebbers authored
This is an alternative to !591.
-
- 11 Nov, 2020 2 commits
-
-
Tej Chajed authored
-
Tej Chajed authored
-
- 28 Sep, 2020 1 commit
-
-
Tej Chajed authored
A failing iIntros for implications should prettify the identifier before printing, and iIntros on something that isn't a wand or implication should say what couldn't be introduced (to clarify that `iIntros "HP HQ"` failed because of the HQ in particular, for example).
-
- 24 Sep, 2020 1 commit
-
-
Tej Chajed authored
`iDestruct H as "H1 H2"` produces an error that says the pattern should contain exactly one proper introduction pattern. When multiple patterns are provided, due to Ltac variable shadowing iDestructHypFindPat was instead reporting only the first pattern in the error message (and even that was printed as the parsed AST rather than the original string).
-
- 21 Sep, 2020 1 commit
-
-
Tej Chajed authored
The error handling for `iIntro (?)` and similar tactics didn't correctly report failures when the goal couldn't be turned into a universal quantifier. This is something missing from !482 due to no test triggering the error.
-
- 22 Jul, 2020 1 commit
-
-
Fixes #337.
-
- 21 Jul, 2020 3 commits
-
-
Tej Chajed authored
Preserve identifiers in binders where possible, analogous to the support for destructing existentials in !479. Fixes #336.
-
Robbert Krebbers authored
-
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`.
-
- 12 Jun, 2020 1 commit
-
-
Tej Chajed authored
Fixes #325. Also added a tests for the various `iSpecialize` error cases involving the `[%]` and `[//]` specialization patterns.
-
- 23 May, 2020 2 commits
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
- 07 Apr, 2020 1 commit
-
-
Tej Chajed authored
Fixes #307.
-
- 06 Apr, 2020 1 commit
-
-
Tej Chajed authored
Notably this support relies on string to identifier conversion, which works natively using Ltac2 in Coq 8.11+ and with a plugin (https://github.com/ppedrot/coq-string-ident) in Coq 8.10. To use it, you must replace intro_patterns.string_to_ident_hook with a real implementation; see https://gitlab.mpi-sws.org/iris/string-ident for a working implementation that works with Coq 8.11 (using Ltac2). The syntax is %H (within a string intro pattern). This is technically backwards-incompatible, because this was previously supported and parsed as % and H separately. To restore the old behavior, separate with a space, eg [% H].
-
- 20 Mar, 2020 2 commits
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
- The error messages were wrong: the goal needs to be absorbing, not the hypothesis. - The wrong failure number was used in `iAssumption`, which caused the error not to be propagated properly.
-
- 28 Feb, 2020 1 commit
-
-
Ralf Jung authored
-
- 18 Feb, 2020 1 commit
-
-
Robbert Krebbers authored
-
- 01 Feb, 2020 1 commit
-
-
Robbert Krebbers authored
-
- 20 Nov, 2019 1 commit
-
-
Robbert Krebbers authored
Also, rewrite `iIntoEmpValid`. Now, instead of using Ltac to traverse the type of the term and generate goals for the premises, we repeatedly apply a series of lemmas. This has the advantage that it works up to convertability, and we no longer need the `eval ...` hacks.
-
- 20 Sep, 2019 1 commit
-
-
Ralf Jung authored
-
- 19 Sep, 2019 1 commit
-
-
Robbert Krebbers authored
-
- 13 Aug, 2019 2 commits
-
-
Robbert Krebbers authored
-
Robbert Krebbers authored
-
- 18 Jun, 2019 1 commit
-
-
Robbert Krebbers authored
This avoids weird Ltac behaviors like those in !272. Also, change `before_tc` keyword into `as` to be consistent with other tactics.
-
- 17 Jun, 2019 1 commit
-
-
Paolo G. Giarrusso authored
-
- 15 Jun, 2019 2 commits
-
-
Paolo G. Giarrusso authored
-
Paolo G. Giarrusso authored
-
- 09 Jun, 2019 2 commits
-
-
Joseph Tassarotti authored
-
Joseph Tassarotti authored
-
- 24 May, 2019 1 commit
-
-
Also fixes pre-existing bug in iCombine error messages.
-
- 06 May, 2019 1 commit
-
-
Dan Frumin authored
-
- 01 May, 2019 2 commits
-
-
Dan Frumin authored
-
Dan Frumin authored
-
- 05 Mar, 2019 1 commit
-
-
Ralf Jung authored
-
- 11 Jan, 2019 1 commit
-
-
Robbert Krebbers authored
It now supports the specialization pattern `(H spat1 .. spatn)`, which first recursively specializes the hypothesis `H` using the specialization patterns `spat1 .. spatn`.
-
- 25 Dec, 2018 1 commit
-
-
Robbert Krebbers authored
Split it up into more logical parts.
-
- 13 Dec, 2018 1 commit
-
-
Robbert Krebbers authored
-
- 06 Dec, 2018 1 commit
-
-
Robbert Krebbers authored
Thanks to @Blaisorblade for reporting.
-