diff options
author | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2020-02-04 14:06:47 +0100 |
---|---|---|
committer | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2020-02-04 14:06:47 +0100 |
commit | ed0ad804bd09b2b76ec2535367ab9dd57b2600b0 (patch) | |
tree | 79c329c5283ca9b0795ce13aa95e0ac506eb48bc /lib/Maps.v | |
parent | 04dc160b4962fedd1ef1b322809377a2fa1434a2 (diff) | |
download | compcert-kvx-ed0ad804bd09b2b76ec2535367ab9dd57b2600b0.tar.gz compcert-kvx-ed0ad804bd09b2b76ec2535367ab9dd57b2600b0.zip |
gcombine_null
Diffstat (limited to 'lib/Maps.v')
-rw-r--r-- | lib/Maps.v | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -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). |