> This is similar and related to the
 > following: u = x?y implies f u = f (x?y) holds for term rewriting,
 > but not for Curry programs.  Here is an example:
 > 
 >     test = (not u, not u)
 >          where u = x?y
 >                x = True
 >                y = False
What is ``f'' in this example?
The other question is of course the precise meaning of ``=''...
The thing that does definitely not hold in Curry is substitution of equals:
u = x?y   does not imply   t[v \ u] = t[v \ (x?y)].
But even if you set
test v = (not v, not v)
u = x ? y
, you still have
test u = test (x?y)
(at least in my understanding of Curry).
Wolfram
_______________________________________________
curry mailing list
curry_at_lists.RWTH-Aachen.DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/curry
Received on Mi Jun 20 2007 - 08:56:31 CEST