Use user names when destructing existentials
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`.
Showing
- CHANGELOG.md 12 additions, 0 deletionsCHANGELOG.md
- _CoqProject 1 addition, 0 deletions_CoqProject
- tests/proofmode.ref 17 additions, 0 deletionstests/proofmode.ref
- tests/proofmode.v 79 additions, 0 deletionstests/proofmode.v
- tests/telescopes.v 3 additions, 0 deletionstests/telescopes.v
- theories/proofmode/class_instances.v 27 additions, 16 deletionstheories/proofmode/class_instances.v
- theories/proofmode/class_instances_embedding.v 2 additions, 2 deletionstheories/proofmode/class_instances_embedding.v
- theories/proofmode/class_instances_later.v 6 additions, 6 deletionstheories/proofmode/class_instances_later.v
- theories/proofmode/class_instances_plainly.v 2 additions, 2 deletionstheories/proofmode/class_instances_plainly.v
- theories/proofmode/classes.v 7 additions, 7 deletionstheories/proofmode/classes.v
- theories/proofmode/coq_tactics.v 11 additions, 7 deletionstheories/proofmode/coq_tactics.v
- theories/proofmode/ident_name.v 36 additions, 0 deletionstheories/proofmode/ident_name.v
- theories/proofmode/ltac_tactics.v 7 additions, 3 deletionstheories/proofmode/ltac_tactics.v
- theories/proofmode/monpred.v 6 additions, 3 deletionstheories/proofmode/monpred.v
Loading
Please register or sign in to comment