Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • Iris Iris
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 168
    • Issues 168
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 24
    • Merge requests 24
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Releases
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Iris
  • IrisIris
  • Merge requests
  • !778

Attempt at avoiding `unfold` to unfold primitive projections.

  • Review changes

  • Download
  • Email patches
  • Plain diff
Open Robbert Krebbers requested to merge robbert/primproj_unfold into master Feb 14, 2022
  • Overview 14
  • Commits 3
  • Pipelines 3
  • Changes 2

This MR is a potential solution for https://github.com/coq/coq/issues/5698

We currently declare primitive projections, e.g., those of the BI class, as simpl never. Our unseal tactics unfold these using unfold primproj; simpl which used to work prior to Coq 5698, but relied on unexpected behavior of simpl.

Looking at the discussion in Coq 5698, it seems the Coq developers are working on bigger changes to primitive projections and it will be hard to support unfolding simpl never primitive projections in a backwards compatible way. This MR therefore gets rid of using unfold, but states explicit unfolding lemmas and rewrites using those.

TODO:

  • Adapt siProp
  • Adapt monPred
  • Figure out if there's a good way to make sure that users don't accidentally use these lemmas, and preferably don't find them using Search.
Edited May 13, 2022 by Robbert Krebbers
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: robbert/primproj_unfold