Skip to content
Snippets Groups Projects

Generalize `map_relation` and `map_included` / Add `map_Forall2`.

Merged Robbert Krebbers requested to merge robbert/map_relation into master
All threads resolved!

map_Forall and the big ops in Iris also take the key, so this makes map_relation consistent with that.

This also allowed me to add map_Forall2 (defined using map_relation) in a way that is consistent with map_Forall.

This change is not backwards compatible, but I expect little breakage. map_relation is mostly used internally to define (⊆), map_disjoint, map_agree. And aside from a Decision instance there is very little theory about map_relation.

Edited by Robbert Krebbers

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Ralf Jung
  • added 1 commit

    Compare with previous version

  • added 2 commits

    • 94f92518 - Add law `map_fold_foldr` to `FinMap` interface.
    • 54ba3dcf - Remove `map_Forall2_insert_1_*`.

    Compare with previous version

  • Robbert Krebbers mentioned in issue #214

    mentioned in issue #214

  • Robbert Krebbers resolved all threads

    resolved all threads

  • added 1 commit

    • b72cf5f9 - Remove `map_Forall2_insert_1_*`.

    Compare with previous version

  • I think this is ready to be merged.

  • added 1 commit

    Compare with previous version

  • Ralf Jung mentioned in commit 6cb5c0f2

    mentioned in commit 6cb5c0f2

  • merged

  • @iris-users this MR includes breaking changes.

    • Generalize map_relation R P Q to have the key (extra argument K) in the predicates R, P and Q.
    • Generalize map_included R to a predicate R : K → A → B → Prop, i.e., (a) to have the key, and (b) to have different types A and B.
    • Rename map_not_Forall2 into map_not_relation.
  • Robbert Krebbers mentioned in merge request !575 (merged)

    mentioned in merge request !575 (merged)

  • Please register or sign in to reply
    Loading