local refs
Matthew Fluet
fluet@CS.Cornell.EDU
Fri, 7 Dec 2001 10:49:03 -0500 (EST)
> multiThreaded: Label.t -> Bool.t
> labelOfBlockContaining: Use.t -> Label.t
>
> (forall uses u of x,
> multiThreaded(labelOfBlockContaining(u)) ==> u is Ref_assign)
> or (forall uses u of x
> multiThreaded(labelOfBlockContaining(u)) ==> u is Ref_deref)
Ok. I accept this as a definition that rejects the program I proposed.
But, I don't really think it's the right notion for flattening of refs;
your next e-mail seems to capture it better.