Skip to content
Snippets Groups Projects

Define [tele_arg] as a fixpoint

Merged Gregory Malecha requested to merge gmalecha/stdpp:fixpoint-tele_arg into master

The current definition of tele_arg increases the universe level in a way that is unfortunate. In particular,

Inductive tele_arg : tele@{u} -> Type@{u+1} :=
| ...

In Iris, what this means is that bi_tforall/bi_texist have different universe levels than bi_forall/bi_exist. This MR re-defines tele_arg as a fixpoint, which prevents the universe bump. In particular:

Fixpoint tele_arg (t : tele@{u}) : Type@{u} :=
  ...

With this definition, the universes for the telescopic quantifiers can match the universes of the non-telescopic quantifiers in iris (this enables a separate MR to iris: iris!781 (merged)).

Edited by Gregory Malecha

Merge request reports

Merge request pipeline #64602 passed

Merge request pipeline passed for 2635a5e5

Approval is optional

Merged by Ralf JungRalf Jung 3 years ago (Apr 11, 2022 1:46pm UTC)

Merge details

  • Changes merged into master with 045e4d23.
  • Deleted the source branch.
  • Auto-merge enabled

Pipeline #64604 passed

Pipeline passed for 045e4d23 on master

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Gregory Malecha resolved all threads

    resolved all threads

  • added 1 commit

    Compare with previous version

  • I don't understand universes well, so I find it hard to understand this MR.

    Could you do the following to help me:

    • Explain why we need Unset Universe Minimization ToSet
    • Explain why we need Local Set Primitive Projections, that seems orthogonal?
    • Explain why tele needs to be Cumulative and why tS does not need to be.
    • Include some test cases so that we can see what did not work before and what is enabled by the MR.
    • Author Contributor
      Resolved by Ralf Jung
      • Unset Universe Minimization ToSet -- nothing in this file should be about Set, but I'm fine dropping it.
      • Set Primitive Projections -- these yield better term representation for projections from records. Namely, the parameters of the record are not repeated when the projection is used. I'm fine if you want to remove it.
      • I think it is fine to make tS Cumulative. It is probably the right thing to do.
      • iris!781 (diffs) that line is not possible without this MR.
  • Ralf Jung
  • Ralf Jung
  • Ralf Jung
  • Author Contributor

    @robbertkrebbers @jung Thanks for the feedback so far. I am mostly interested in your thoughts on the universe questions in iris. We've run into some places where universes haveprevented us from using bi_tforall and bi_texist and I believe that the change in Iris (other MR) would address these issues.

    • Resolved by Gregory Malecha

      My thoughts are that I don't know anything about universes so if you say this improves the situation then I trust you on that. :)

      You say you believe that this change helps; could you verify that? Ideally we would have a small testcase in the Iris test suite that uses bi_tforall and currently breaks, and is fixed by your MRs.

  • added 1 commit

    Compare with previous version

  • added 1 commit

    Compare with previous version

  • added 1 commit

    • cd53abd2 - Make [tele_arg_cons] cumulative.

    Compare with previous version

  • Author Contributor

    @jung @robbertkrebbers What are the next steps for this?

  • Ralf Jung
  • Ralf Jung
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Please register or sign in to reply
    Loading