123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426 |
- module defintf;
- algebraic <<
- operator case20,case21,case22,case23,case24,case25,
- case26,case27,case28,case29,case30,case31,case32,case33,
- case34,case35;
- case20_rules :=
- { case20(~m,~n,~p,~q,~k,~l,~u,~v,~delta,~epsilon,~sigma,~omega,~rho,
- ~eta,~mu,~r1,~r2,~phi,~test_1a,~test_1b,~test_2,~test_3,
- ~test_4,~test_5,~test_6,~test_7,~test_8,~test_9,~test_10,
- ~test_11,~test_12,~test_13,~test_14,~test_15) => 't
- when n = 0
- and m > 0
- and epsilon > 0
- and phi < 0
- and test_1a = 't and test_1b = 't and test_2 = 't
- and test_12 = 't
- and transform_test('test2,'test12,nil,nil,nil,nil,nil,nil) = 't
- };
- let case20_rules;
- case21_rules :=
- { case21(~m,~n,~p,~q,~k,~l,~u,~v,~delta,~epsilon,~sigma,~omega,~rho,
- ~eta,~mu,~r1,~r2,~phi,~test_1a,~test_1b,~test_2,~test_3,
- ~test_4,~test_5,~test_6,~test_7,~test_8,~test_9,~test_10,
- ~test_11,~test_12,~test_13,~test_14,~test_15) => 't
- when m = 0
- and n > 0
- and epsilon > 0
- and phi > 0
- and test_1a = 't and test_1b = 't and test_3 = 't
- and test_12 = 't
- and transform_test('test12,nil,nil,nil,nil,nil,nil,nil) = 't
- };
- let case21_rules;
- case22_rules :=
- { case22(~m,~n,~p,~q,~k,~l,~u,~v,~delta,~epsilon,~sigma,~omega,~rho,
- ~eta,~mu,~r1,~r2,~phi,~test_1a,~test_1b,~test_2,~test_3,
- ~test_4,~test_5,~test_6,~test_7,~test_8,~test_9,~test_10,
- ~test_11,~test_12,~test_13,~test_14,~test_15) => 't
- when k*l = 0
- and delta > 0
- and epsilon > 0
- and test_1a = 't and test_1b = 't and test_2 = 't
- and test_3 = 't and test_10 = 't and test_12 = 't
- and transform_test('test2,'test3,'test10,'test12,nil,nil,nil,
- nil)= 't
- };
- let case22_rules;
- case23_rules :=
- { case23(~m,~n,~p,~q,~k,~l,~u,~v,~delta,~epsilon,~sigma,~omega,~rho,
- ~eta,~mu,~r1,~r2,~phi,~test_1a,~test_1b,~test_2,~test_3,
- ~test_4,~test_5,~test_6,~test_7,~test_8,~test_9,~test_10,
- ~test_11,~test_12,~test_13,~test_14,~test_15) => 't
- when m*n = 0
- and delta > 0
- and epsilon > 0
- and test_1a = 't and test_1b = 't and test_2 = 't
- and test_3 = 't and test_10 = 't and test_12 = 't
- and transform_test('test2,'test3,'test10,'test12,nil,nil,nil,
- nil) = 't
- };
- let case23_rules;
- case24_rules :=
- { case24(~m,~n,~p,~q,~k,~l,~u,~v,~delta,~epsilon,~sigma,~omega,~rho,
- ~eta,~mu,~r1,~r2,~phi,~test_1a,~test_1b,~test_2,~test_3,
- ~test_4,~test_5,~test_6,~test_7,~test_8,~test_9,~test_10,
- ~test_11,~test_12,~test_13,~test_14,~test_15) => 't
- when m + n > p
- and l = 0
- and phi = 0
- and k > 0
- and delta > 0
- and epsilon < 0
- and mylessp(abs(atan(impart omega/repart omega)),m + n - p + 1)
- and test_1a = 't and test_1b = 't and test_2 = 't
- and test_10 = 't and test_14 = 't and test_15 ='t
- and transform_test('test2,'test10,'test14,'test15,nil,nil,nil,
- nil) = 't
- };
- let case24_rules;
- case25_rules :=
- { case25(~m,~n,~p,~q,~k,~l,~u,~v,~delta,~epsilon,~sigma,~omega,~rho,
- ~eta,~mu,~r1,~r2,~phi,~test_1a,~test_1b,~test_2,~test_3,
- ~test_4,~test_5,~test_6,~test_7,~test_8,~test_9,~test_10,
- ~test_11,~test_12,~test_13,~test_14,~test_15) => 't
- when m + n > q
- and k = 0
- and phi = 0
- and l > 0
- and delta > 0
- and epsilon < 0
- and mylessp(abs(atan(impart omega/repart omega)),m + n - q + 1)
- and test_1a = 't and test_1b = 't and test_3 = 't
- and test_10 = 't and test_14 = 't and test_15 ='t
- and transform_test('test3,'test10,'test14,'test15,nil,nil,nil,
- nil) = 't
- };
- let case25_rules;
- case26_rules :=
- { case26(~m,~n,~p,~q,~k,~l,~u,~v,~delta,~epsilon,~sigma,~omega,~rho,
- ~eta,~mu,~r1,~r2,~phi,~test_1a,~test_1b,~test_2,~test_3,
- ~test_4,~test_5,~test_6,~test_7,~test_8,~test_9,~test_10,
- ~test_11,~test_12,~test_13,~test_14,~test_15) => 't
- when p = q - 1
- and l = 0
- and phi = 0
- and k > 0
- and delta > 0
- and epsilon >= 0
- and test_arg(abs(atan(impart omega/repart omega)),
- epsilon,epsilon + 1)
- and test_1a = 't and test_1b = 't and test_2 = 't
- and test_10 = 't and test_14 = 't and test_15 = 't
- and transform_test('test2,'test10,'test14,'test15,nil,nil,nil,
- nil) = 't
- };
- let case26_rules;
- case27_rules :=
- { case27(~m,~n,~p,~q,~k,~l,~u,~v,~delta,~epsilon,~sigma,~omega,~rho,
- ~eta,~mu,~r1,~r2,~phi,~test_1a,~test_1b,~test_2,~test_3,
- ~test_4,~test_5,~test_6,~test_7,~test_8,~test_9,~test_10,
- ~test_11,~test_12,~test_13,~test_14,~test_15) => 't
- when p = q + 1
- and k = 0
- and phi = 0
- and l > 0
- and delta > 0
- and epsilon >= 0
- and test_arg(abs(atan(impart omega/repart omega)),
- epsilon,epsilon + 1)
- and test_1a = 't and test_1b = 't and test_3 = 't
- and test_10 = 't and test_14 = 't and test_15 = 't
- and transform_test('test3,'test10,'test14,'test15,nil,nil,nil,
- nil) = 't
- };
- let case27_rules;
-
- case28_rules :=
- { case28(~m,~n,~p,~q,~k,~l,~u,~v,~delta,~epsilon,~sigma,~omega,~rho,
- ~eta,~mu,~r1,~r2,~phi,~test_1a,~test_1b,~test_2,~test_3,
- ~test_4,~test_5,~test_6,~test_7,~test_8,~test_9,~test_10,
- ~test_11,~test_12,~test_13,~test_14,~test_15) => 't
- when p < q - 1
- and l = 0
- and phi = 0
- and k > 0
- and delta > 0
- and epsilon >= 0
- and test_arg(abs(atan(impart omega/repart omega)),
- epsilon,m + n - p + 1)
- and test_1a = 't and test_1b = 't and test_2 = 't
- and test_10 = 't and test_14 = 't and test_15 = 't
- and transform_test('test2,'test10,'test14,'test15,nil,nil,nil,
- nil) = 't
- };
- let case28_rules;
-
- case29_rules :=
- { case29(~m,~n,~p,~q,~k,~l,~u,~v,~delta,~epsilon,~sigma,~omega,~rho,
- ~eta,~mu,~r1,~r2,~phi,~test_1a,~test_1b,~test_2,~test_3,
- ~test_4,~test_5,~test_6,~test_7,~test_8,~test_9,~test_10,
- ~test_11,~test_12,~test_13,~test_14,~test_15) => 't
- when p > q + 1
- and k = 0
- and phi = 0
- and l > 0
- and delta > 0
- and epsilon >= 0
- and test_arg(abs(atan(impart omega/repart omega)),
- epsilon,m + n - q + 1)
- and test_1a = 't and test_1b = 't and test_3 = 't
- and test_10 = 't and test_14 = 't and test_15 = 't
- and transform_test('test3,'test10,'test14,'test15,nil,nil,nil,
- nil) = 't
- };
- let case29_rules;
-
- case30_rules :=
- { case30(~m,~n,~p,~q,~k,~l,~u,~v,~delta,~epsilon,~sigma,~omega,~rho,
- ~eta,~mu,~r1,~r2,~phi,~test_1a,~test_1b,~test_2,~test_3,
- ~test_4,~test_5,~test_6,~test_7,~test_8,~test_9,~test_10,
- ~test_11,~test_12,~test_13,~test_14,~test_15) => 't
- when n = 0
- and phi = 0
- and k + l > u
- and m > 0
- and epsilon > 0
- and delta < 0
- and mylessp(abs(atan(impart sigma/repart sigma)),k + l - u + 1)
- and test_1a = 't and test_1b = 't and test_2 = 't
- and test_12 = 't and test_14 = 't and test_15 = 't
- and transform_test('test2,'test12,'test14,'test15,nil,nil,nil,
- nil) = 't
- };
- let case30_rules;
- case31_rules :=
- { case31(~m,~n,~p,~q,~k,~l,~u,~v,~delta,~epsilon,~sigma,~omega,~rho,
- ~eta,~mu,~r1,~r2,~phi,~test_1a,~test_1b,~test_2,~test_3,
- ~test_4,~test_5,~test_6,~test_7,~test_8,~test_9,~test_10,
- ~test_11,~test_12,~test_13,~test_14,~test_15) => 't
- when m = 0
- and phi = 0
- and k + l > v
- and n > 0
- and epsilon > 0
- and delta < 0
- and mylessp(abs(atan(impart sigma/repart sigma)),k + l - v + 1)
- and test_1a = 't and test_1b = 't and test_3 = 't
- and test_12 = 't and test_14 = 't and test_15 = 't
- and transform_test('test3,'test12,'test14,'test15,nil,nil,nil,
- nil) = 't
- };
- let case31_rules;
- case32_rules :=
- { case32(~m,~n,~p,~q,~k,~l,~u,~v,~delta,~epsilon,~sigma,~omega,~rho,
- ~eta,~mu,~r1,~r2,~phi,~test_1a,~test_1b,~test_2,~test_3,
- ~test_4,~test_5,~test_6,~test_7,~test_8,~test_9,~test_10,
- ~test_11,~test_12,~test_13,~test_14,~test_15) => 't
- when n = 0
- and phi = 0
- and u = v - 1
- and m > 0
- and epsilon > 0
- and delta >= 0
- and test_arg(abs(atan(impart sigma/repart sigma)),
- delta,delta + 1)
- and test_1a = 't and test_1b = 't and test_2 = 't
- and test_12 = 't and test_14 = 't and test_15 = 't
- and transform_test('test2,'test12,'test14,'test15,nil,nil,nil,
- nil) = 't
- };
- let case32_rules;
- case33_rules :=
- { case33(~m,~n,~p,~q,~k,~l,~u,~v,~delta,~epsilon,~sigma,~omega,~rho,
- ~eta,~mu,~r1,~r2,~phi,~test_1a,~test_1b,~test_2,~test_3,
- ~test_4,~test_5,~test_6,~test_7,~test_8,~test_9,~test_10,
- ~test_11,~test_12,~test_13,~test_14,~test_15) => 't
- when m = 0
- and phi = 0
- and u = v + 1
- and n > 0
- and epsilon > 0
- and delta >= 0
- and test_arg(abs(atan(impart sigma/repart sigma)),
- delta,delta + 1)
- and test_1a = 't and test_1b = 't and test_3 = 't
- and test_12 = 't and test_14 = 't and test_15 = 't
- and transform_test('test3,'test12,'test14,'test15,nil,nil,nil,
- nil) = 't
- };
- let case33_rules;
- case34_rules :=
- { case34(~m,~n,~p,~q,~k,~l,~u,~v,~delta,~epsilon,~sigma,~omega,~rho,
- ~eta,~mu,~r1,~r2,~phi,~test_1a,~test_1b,~test_2,~test_3,
- ~test_4,~test_5,~test_6,~test_7,~test_8,~test_9,~test_10,
- ~test_11,~test_12,~test_13,~test_14,~test_15) => 't
- when n = 0
- and phi = 0
- and u < v - 1
- and m > 0
- and epsilon > 0
- and delta >= 0
- and test_arg(abs(atan(impart sigma/repart sigma)),
- delta,k + l - u + 1)
- and test_1a = 't and test_1b = 't and test_2 = 't
- and test_12 = 't and test_14 = 't and test_15 = 't
- and transform_test('test2,'test12,'test14,'test15,nil,nil,nil,
- nil) = 't
- };
- let case34_rules;
- case35_rules :=
- { case35(~m,~n,~p,~q,~k,~l,~u,~v,~delta,~epsilon,~sigma,~omega,~rho,
- ~eta,~mu,~r1,~r2,~phi,~test_1a,~test_1b,~test_2,~test_3,
- ~test_4,~test_5,~test_6,~test_7,~test_8,~test_9,~test_10,
- ~test_11,~test_12,~test_13,~test_14,~test_15) => t
- when m = 0
- and phi = 0
- and u > v + 1
- and n > 0
- and epsilon > 0
- and delta >= 0
- and test_arg(abs(atan(impart sigma/repart sigma)),
- delta,k + l - v + 1)
- and test_1a = t and test_1b = t and test_3 = t
- and test_12 = t and test_14 = t and test_15 = t
- and transform_test('test3,'test12,'test14,'test15,nil,nil,nil,
- nil) = t
- };
- let case35_rules;
-
- flag('(test_arg),'boolean);
- algebraic procedure test_arg(a,b,c);
- begin scalar !*rounded,dmode!*;
- if transform_tst neq t then
- << on rounded;
- if b*pi < a and a < c*pi then << off rounded; return t>>
- else << off rounded; return nil>>;
- >>
- else return t;
- end;
- >>;
- symbolic procedure transform_test(n1,n2,n3,n4,n5,n6,n7,n8);
- begin scalar lst,temp,cond_test;
- if transform_tst neq t then return t
- else
- << lst := {n1,n2,n3,n4,n5,n6,n7,n8};
- for each i in lst do
- if i then temp := lispeval cdr assoc(i,transform_lst) . temp; ;
- temp := 'and . temp;
- for each j in spec_cond do if j = temp then cond_test := t;
- if cond_test neq t then spec_cond := temp . spec_cond;
- return nil;
- >>;
- end;
- symbolic operator transform_test;
- flag('(sigma_tst),'boolean);
- algebraic procedure sigma_tst(sigma);
- begin scalar test;
- if transform_tst neq t then
- << if sigma > 0 then return t else return nil>>
- else
- << if test neq t then
- << symbolic(transform_lst := cons (('sigma_cond .'(list 'greaterp
- 'sigma 0)),transform_lst));
- test := t>>;
- return reval t>>;
- end;
- flag('(omega_tst),'boolean);
- symbolic procedure omega_tst(omega);
- begin scalar test;
- if transform_tst neq t then
- << if omega > 0 then return t else return nil>>
- else
- << if test neq t then
- << symbolic(transform_lst := cons (('omega_cond .'(list 'greaterp
- 'omega 0)),transform_lst));
- test := t>>;
- return reval t>>;
- end;
-
- endmodule;
- end;
|