On 11/20/2014 02:42 AM, Waldek Hebisch wrote:
>> (a:%) > (b:%):Boolean == ~(a <= b)
>> (a:%) > (b:%):Boolean == b < a
>
> This is common definition, valid regardless of of order beeing
> a partial one or linear one.
Well, in fact, I also learned that the inverse of a relation R is defined by
a R^(-1) b <==> b R a
i.e., exactly what you term "common definition".
But the original problem of this thread was, what to choose as the basic
operation, i.e., whether there is need to implement < or <=.
Personally I think one cannot much rely on default implementations, if
it is not clear (i.e. explicitly specified) what the "basic operation" is.
I faintly remember that I experimented with some language that by
default implements < in terms of > and at the same time > in terms of <,
so it leaves the decision to the user what the "basic operation" is. But
also this approach is bad, because the compiler will not complain at all
if the user implements neither < nor > and thus get into an infinite
loop at runtime.
Ralf
--
You received this message because you are subscribed to the Google Groups
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.