properties & assume equal



Consider:

  (%i1) assume(equal(a,b),equal(b,c));
  (%o1) [equal(a,b),equal(b,c)]

  (%i2) declare(a,noninteger);
  (%o2) done

The  function check-noninteger-facts (defined in compar.lisp) isn't able to determine that c is an integer:

  (%i3) map(lambda([s], featurep(s,noninteger)),[a,b,c]);
  (%o3) [true,true,false]

Maybe somebody would like to figure out how to make  assume(equal(symbol1, symbol2)) examine symbol1
for declared properties and automatically declare symbol2 to have the same properties?


--Barton