autocheck of rel.test ===================== In[1]:= (* OPERATIONS ON RELATIONSHIPS *) In[2]:= Clear[x, y] In[3]:= {isRelQ[x], isRelQ[a==b]} === {False, True} Out[3]= True In[4]:= {notRel[x], notRel[x, y], notRel[a==b], notRel[x, a==b], notRel[a==b, c==d], notRel[f[x, y]], notRel[x >= y]} === {True, True, False, False, False, True, False} Out[4]= True In[5]:= ((a+b) // dividedBy[c]) === (a+b)/c Out[5]= True In[6]:= (a == b // dividedBy[c]) === a/c == b/c Out[6]= True In[7]:= ((a==b) ~ dividedBy ~ (c==d)) === a/c == b/d Out[7]= True In[8]:= ((a+b) // times[c]) === (a+b)*c Out[8]= True In[9]:= (a == b // times[c]) === a*c == b*c Out[9]= True In[10]:= ((a==b) ~ times ~ (c==d)) === a*c == b*d Out[10]= True In[11]:= ((a+b) // plus[c]) === a+b+c Out[11]= True In[12]:= (a == b // plus[c]) === a+c == b+c Out[12]= True In[13]:= ((a==b) ~ plus ~ (c==d)) === a+c == b+d Out[13]= True In[14]:= (a >= b // plus[c]) === a+c >= b+c Out[14]= True In[15]:= ((a>=b) ~ plus ~ (c>d)) === a+c > b+d Out[15]= True In[16]:= ((a>=b) ~ plus ~ (c= b // minus[c]) === a-c >= b-c Out[20]= True In[21]:= ((a>=b) ~ minus ~ (c>d)) === a-c > b-d Out[21]= True In[22]:= ((a>=b) ~ minus ~ (c= b // squared) === a^2 >= b^2 Out[25]= True In[26]:= (a > b // squared) === a^2 > b^2 Out[26]= True In[27]:= (a < b // squared) === unresolved[a^2, b^2] Out[27]= True In[28]:= (x + y == z f[y] // zeroRight) === x + y - z f[y] == 0 Out[28]= True In[29]:= (x + y >= 2 // zeroRight) === x + y - 2 >= 0 Out[29]= True In[30]:= (x/(a b) == y/(a c) // clearFractions) === c x == b y Out[30]= True In[31]:= (a == b // reverse) === b == a Out[31]= True In[32]:= (a >= b // reverse) === b < a Out[32]= True In[33]:= (a > b // reverse) === b <= a Out[33]= True In[34]:= (a <= b // reverse) === b > a Out[34]= True In[35]:= (a < b // reverse) === b >= a Out[35]= True In[36]:= (a != b // reverse) === b != a Out[36]= True In[37]:= (If[c, a==b] // reverse) === If[c, b == a] Out[37]= True In[38]:= (a == If[c, b] // reverse) === If[c, b] == a warning -- reversing conditional relationship Out[38]= True In[39]:= s = a b c f[x, y] + b d f[x, y] + 3 == u v + b f[x, y] + y; In[40]:= solveLinear[b f[x, y]][s] === b*f[x, y] == -((3 - u*v - y)/(-1 + a*c + d)) Out[40]= True In[41]:= (* ======================================================= *) In[42]:= (* *) In[43]:= opc = Identity; In[44]:= {Length[checkList], Union[checkList], Plus @@ checkList} Out[44]= {42, {Null, True}, 5*Null + 37*True} In[45]:= Complement[Range[Length[checkList]], Position[checkList, #, 1]& /@ {True, Null, shown} // Flatten] Out[45]= {} In[46]:= localList[localName] = checkList;