1
1
/* coded by LPH prior to MAY 12, 1983 */
2
2
/* re-coded for DOE MACSYMA */
4
/* I made some changes so that ineq loads without */
5
/* asking for the sign of d. Mario Rodriguez, 30-4-2006 */
3
8
eval_when([translate,batch,demo,load,loadfile],
5
10
matchdeclare([a,b],true,c,negp,d,posp),
6
11
matchdeclare([e,f,g,h],freeof("<=",">=","<",">","=")));
7
negp(u):=(mode_declare(u,any,function(negp),boolean),
8
if asksign(u)='neg then true);
9
posp(u):=(mode_declare(u,any,function(posp),boolean),
10
if asksign(u)='pos then true);
16
matchdeclare([a,b],true,c,negp,d,posp)$
17
matchdeclare([e,f,g,h],freeof("<=",">=","<",">","="))$
20
(mode_declare(u,any,function(negp),boolean),
21
if asksign(u)='neg then true);
23
(mode_declare(u,any,function(posp),boolean),
24
if asksign(u)='pos then true);
11
25
define_variable(?matchreverse,true,boolean);
13
29
eval_when(translate,simp:false,transcompile:true);
14
33
tellsimpafter((a<b)*c,a*c>b*c);
15
34
tellsimpafter((a>b)*c,a*c<b*c);
16
35
tellsimpafter(("<="(a,b))*c,">="(a*c,b*c));
39
58
tellsimpafter((e>f)+(g>h),e+g>f+h);
40
59
tellsimpafter((e>f)+(">="(g,h)),e+g>f+h);
41
60
tellsimpafter((">="(e,f))+(">="(g,h)),">="(e+g,f+h));
44
eval_when(translate,simp:true);
64
eval_when(translate,simp:true);