summaryrefslogtreecommitdiff
path: root/src/elab_util.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2008-07-01 12:25:12 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2008-07-01 12:25:12 -0400
commitf7d2bdce780d0333431829a8a788bdb208c0dcbc (patch)
tree5316084519f313741563c016ac6733d03f892475 /src/elab_util.sml
parent7628e1d8f7f8199531c9bc08a774c9a9e2bc5d63 (diff)
Disjointness assumptions in expressions
Diffstat (limited to 'src/elab_util.sml')
-rw-r--r--src/elab_util.sml8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/elab_util.sml b/src/elab_util.sml
index 63d035e8..65906c72 100644
--- a/src/elab_util.sml
+++ b/src/elab_util.sml
@@ -104,6 +104,14 @@ fun mapfoldB {kind = fk, con = fc, bind} =
S.map2 (mfc (bind (ctx, Rel (x, k))) c,
fn c' =>
(TCFun (e, x, k', c'), loc)))
+ | TDisjoint (c1, c2, c3) =>
+ S.bind2 (mfc ctx c1,
+ fn c1' =>
+ S.bind2 (mfc ctx c2,
+ fn c2' =>
+ S.map2 (mfc ctx c3,
+ fn c3' =>
+ (TDisjoint (c1', c2', c3'), loc))))
| TRecord c =>
S.map2 (mfc ctx c,
fn c' =>