aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Maps.v
diff options
context:
space:
mode:
authorDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2020-02-04 14:06:47 +0100
committerDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2020-02-04 14:06:47 +0100
commited0ad804bd09b2b76ec2535367ab9dd57b2600b0 (patch)
tree79c329c5283ca9b0795ce13aa95e0ac506eb48bc /lib/Maps.v
parent04dc160b4962fedd1ef1b322809377a2fa1434a2 (diff)
downloadcompcert-kvx-ed0ad804bd09b2b76ec2535367ab9dd57b2600b0.tar.gz
compcert-kvx-ed0ad804bd09b2b76ec2535367ab9dd57b2600b0.zip
gcombine_null
Diffstat (limited to 'lib/Maps.v')
-rw-r--r--lib/Maps.v13
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/Maps.v b/lib/Maps.v
index e938f205..0beb11b4 100644
--- a/lib/Maps.v
+++ b/lib/Maps.v
@@ -116,6 +116,19 @@ Module Type TREE.
forall (m1: t A) (m2: t B) (i: elt),
get i (combine f m1 m2) = f (get i m1) (get i m2).
+ Parameter combine_null :
+ forall (A B C: Type) (f: A -> B -> option C),
+ t A -> t B -> t C.
+
+ Axiom gcombine_null:
+ forall (A B C: Type) (f: A -> B -> option C),
+ forall (m1: t A) (m2: t B) (i: elt),
+ get i (combine_null f m1 m2) =
+ match (get i m1), (get i m2) with
+ | (Some x1), (Some x2) => f x1 x2
+ | _, _ => None
+ end.
+
(** Enumerating the bindings of a tree. *)
Parameter elements:
forall (A: Type), t A -> list (elt * A).