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 170
    • Issues 170
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 22
    • Merge requests 22
  • 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
  • Issues
  • #258
Closed
Open
Issue created Aug 06, 2019 by Dmitry Khalanskiy@dkhalanskiyjbContributor

Stronger `list_core_id`

Hi!

I needed a stronger version of list_core_id that could depend on the structure of a particular list, similarly to pair_core_id. I came up with this:

  Global Instance list_core_id l : (forall x, x ∈ l -> CoreId x) -> CoreId l.
  Proof.
    intros Hyp. constructor. apply list_equiv_lookup=> i.
    rewrite list_lookup_core.
    destruct (l !! i) eqn:E.
    2: done.
    apply Hyp.
    eapply elem_of_list_lookup; by eauto.
  Qed.

It probably could serve as a drop-in replacement for the old one.

Edited Aug 07, 2019 by Dmitry Khalanskiy
Assignee
Assign to
Time tracking