Generalize `map_relation` and `map_included` / Add `map_Forall2`.
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
.
Merge request reports
Activity
added 2 commits
added 2 commits
- Resolved by Robbert Krebbers
I wonder if
map_included
is used anywhere at all. Maybe we should just inline it inmap_subseteq
. Especially since we barely have any theory about it.
- Resolved by Robbert Krebbers
- Resolved by Robbert Krebbers
mentioned in issue #214
mentioned in commit 6cb5c0f2
@iris-users this MR includes breaking changes.
- Generalize
map_relation R P Q
to have the key (extra argumentK
) in the predicatesR
,P
andQ
. - Generalize
map_included R
to a predicateR : K → A → B → Prop
, i.e., (a) to have the key, and (b) to have different typesA
andB
. - Rename
map_not_Forall2
intomap_not_relation
.
- Generalize
mentioned in merge request !575 (merged)