| Your thought would destroy equational reasoning! For example you
| would be able to define different equalties on the same data
| structure. So Red==Black could be False in one place and True 
| in another place. Does that make any sense? 

Of course, it does. You neglect the fact that definitions have scope.
You can already define two functions both called say `eq' such that `eq
Red Black' yields  False in one place and True in another place.

Cheers, Ralf


Reply via email to