dear group,
I want to define the logical 'implication' as an infix operator:
(%i1) implication(p,q) := ((not (p)) or (q));
(%i2) "==>"(p, q) := ((not (p)) or (q));
(%i3) infix ("==>", 41, 41)$
(%i4) true ==> false;
(%o4) false
Here are my questions:
(Q1) I'm not sure if I have choosen an appropriate l/r binding power with the value 41.
Are there any conflicts possible?
(Q2) Is it possible to ask MAXIMA for the binding powers of an (pre)defined operator?
(Bug?): the following example of the help file entry 'infix' does _not_ work for me,
I get an error (wxMaxima 0.7.2, Maxima 5.12):
(ko) "@"(a, b) := sconcat("(", a, ",", b, ")")$
whereas using '~' instead of the at-sign works:
(ok) "~"(a, b) := sconcat("(", a, ",", b, ")")$
(Q3) is there a list of vorbidden/allowed signs for operators?
HTH Wolfgang