1. 16 May, 2022 2 commits
  2. 13 May, 2022 3 commits
  3. 23 Apr, 2022 1 commit
  4. 11 Feb, 2022 1 commit
  5. 02 Feb, 2022 1 commit
  6. 01 Oct, 2021 1 commit
  7. 25 May, 2021 1 commit
  8. 20 May, 2021 1 commit
  9. 17 May, 2021 1 commit
  10. 01 Mar, 2021 1 commit
  11. 05 Feb, 2021 1 commit
  12. 19 Jan, 2021 1 commit
  13. 07 Jan, 2021 2 commits
  14. 11 Nov, 2020 1 commit
  15. 05 Nov, 2020 1 commit
  16. 10 Sep, 2020 1 commit
  17. 21 Jul, 2020 2 commits
    • Tej Chajed's avatar
      Use user-supplied names in iIntros · c1affb21
      Tej Chajed authored
      Preserve identifiers in binders where possible, analogous to the support
      for destructing existentials in !479.
      
      Fixes #336.
      c1affb21
    • Tej Chajed's avatar
      Use user names when destructing existentials · 7d0bb151
      Tej Chajed authored and Robbert Krebbers's avatar Robbert Krebbers committed
      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`.
      7d0bb151
  18. 15 Jul, 2020 1 commit
  19. 25 May, 2020 2 commits
  20. 24 May, 2020 1 commit
  21. 23 May, 2020 2 commits
  22. 22 Apr, 2020 1 commit
  23. 03 Apr, 2020 1 commit
  24. 20 Mar, 2020 1 commit
  25. 18 Mar, 2020 1 commit
  26. 16 Mar, 2020 1 commit
  27. 18 Feb, 2020 1 commit
  28. 01 Feb, 2020 2 commits
  29. 18 Dec, 2019 1 commit
  30. 22 Nov, 2019 1 commit
    • Paolo G. Giarrusso's avatar
      Fix iPoseProof on recursive lemmas (fix #274) · 3f468582
      Paolo G. Giarrusso authored and Robbert Krebbers's avatar Robbert Krebbers committed
      When proving `foo` through a fixpoint, Coq's guardedness checker needs to see to
      which arguments `foo` is applied. Opaque lemmas applied to `foo` itself prevent
      that, so make them transparent.
      * Make `IntoEmpValid` lemmas transparent.
      * Expose application of `IntoEmpValid` instance to its argument.
      * Add comment to `tac_pose_proof`
      
      This MR brings back the type of `tac_pose_proof` to the one it had before !329.
      Hence, this seems worth a comment.
      3f468582
  31. 20 Nov, 2019 1 commit
    • Robbert Krebbers's avatar
      Use `notypeclasses refine` in `iPoseProof` helpers. · d5d02af5
      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.
      d5d02af5
  32. 11 Sep, 2019 1 commit