view tests/disjoint.lac @ 85:1f85890c9846

Disjointness assumptions in expressions
author Adam Chlipala <adamc@hcoop.net>
date Tue, 01 Jul 2008 12:25:12 -0400
parents e86370850c30
children 7f9bcc8bfa1e
line wrap: on
line source
con c1 = fn x :: Name => [x] ~ [A] => [x, A]
con c2 = fn x :: Name => [x] ~ [A] => [A, x]
con c3 = fn x :: Name => [A] ~ [x] => [x, A]
con c4 = fn x :: Name => [A] ~ [x] => [A, x]

con c5 = fn r1 :: {Type} => fn r2 => r1 ~ r2 => r1 ++ r2
con c6 = fn r1 :: {Type} => fn r2 => r2 ~ r1 => r1 ++ r2

con c7 = fn x :: Name => fn r => [x] ~ r => [x] ++ r

val v1 = fn x :: Name => fn [x] ~ [A] => fn y : {x : int, A : string} => y.x