1. 12 Aug, 2020 1 commit
  2. 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
  3. 14 Jul, 2020 1 commit
  4. 30 Jun, 2020 1 commit
  5. 29 Jun, 2020 1 commit
  6. 12 Jun, 2020 1 commit
  7. 23 May, 2020 3 commits
  8. 07 Apr, 2020 2 commits
  9. 06 Apr, 2020 2 commits
  10. 03 Apr, 2020 1 commit
  11. 20 Mar, 2020 2 commits
  12. 18 Mar, 2020 1 commit
  13. 18 Feb, 2020 4 commits
  14. 01 Feb, 2020 3 commits
  15. 04 Dec, 2019 1 commit
  16. 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
  17. 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
  18. 10 Nov, 2019 1 commit
  19. 08 Nov, 2019 1 commit
  20. 07 Nov, 2019 2 commits
  21. 13 Sep, 2019 1 commit
    • Jacques-Henri Jourdan's avatar
      Reorder Requires so that we do not depend of Export bugs. · 43a1a90f
      Jacques-Henri Jourdan authored
      The general idea is to first import/export modules which are further
      than the current one, and then import/export modules which are close
      dependencies.
      
      This commit tries to use the same order of imports for every file, and
      describes the convention in ProofGuide.md. There is one exception,
      where we do not follow said convention: in program_logic/weakestpre.v,
      using that order would break printing of texan triples (??).
      43a1a90f
  22. 11 Sep, 2019 1 commit
  23. 13 Aug, 2019 5 commits
  24. 01 Jul, 2019 1 commit