rlsched.red 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293
  1. % ----------------------------------------------------------------------
  2. % $Id: rlsched.red,v 1.23 1999/03/23 09:23:57 dolzmann Exp $
  3. % ----------------------------------------------------------------------
  4. % Copyright (c) 1995-1999 Andreas Dolzmann and Thomas Sturm
  5. % ----------------------------------------------------------------------
  6. % $Log: rlsched.red,v $
  7. % Revision 1.23 1999/03/23 09:23:57 dolzmann
  8. % Changed copyright information.
  9. %
  10. % Revision 1.22 1999/03/21 13:39:11 dolzmann
  11. % Added black boxes rl_susipost, rl_susitf, and rl_susibin.
  12. %
  13. % Revision 1.21 1999/03/19 12:19:06 dolzmann
  14. % Added service rlmkcanonic.
  15. %
  16. % Revision 1.20 1999/03/18 14:08:22 sturm
  17. % Added new service rl_specelim!* in cl_qe for covering the "super
  18. % quadratic special case' for ofsf. This method is toggled by switch
  19. % rlsqsc, which is off by default. Context dvfsf uses cl_specelim which
  20. % is constantly "false." Context acfsf does not use cl_qe at all.
  21. %
  22. % Revision 1.19 1999/01/17 16:32:12 dolzmann
  23. % Added service rl_explats.
  24. %
  25. % Revision 1.18 1997/08/24 16:18:53 sturm
  26. % Added service rl_surep with black box rl_multsurep.
  27. % Added service rl_siaddatl.
  28. %
  29. % Revision 1.17 1997/08/14 10:10:47 sturm
  30. % Renamed rldecdeg to rldecdeg1.
  31. % Added service rldecdeg.
  32. %
  33. % Revision 1.16 1997/08/13 12:46:38 dolzmann
  34. % Introduced service rldecdeg.
  35. %
  36. % Revision 1.15 1996/10/23 12:02:54 sturm
  37. % Added "exceptionlist" paramter to rlgqe and rlgqea. Several quantifier
  38. % blocks are treated correctly now.
  39. %
  40. % Revision 1.14 1996/10/21 06:13:52 dolzmann
  41. % Changed interface for services rlstruct and rlifstruct: Second
  42. % parameter is now optional, default is v.
  43. %
  44. % Revision 1.13 1996/10/17 13:52:25 sturm
  45. % Introduced services rlvarl, rlfvarl, and rlbvarl. Renamed cl_varl to
  46. % cl_varl1 for this.
  47. %
  48. % Revision 1.12 1996/10/07 12:03:57 sturm
  49. % Added fluids for CVS and copyright information.
  50. %
  51. % Revision 1.11 1996/10/01 10:25:19 reiske
  52. % Introduced new service rltnf and related code.
  53. %
  54. % Revision 1.10 1996/09/30 16:57:41 sturm
  55. % Switched to new tableau code.
  56. %
  57. % Revision 1.9 1996/09/29 14:21:29 sturm
  58. % Removed switch rlqeans. Introduced service rlqea instead.
  59. % Also introduced corresponding service rlgqea.
  60. %
  61. % Revision 1.8 1996/09/05 11:17:19 dolzmann
  62. % Changed interface for service rlatb.
  63. % Introduced new services rl_ifacml, rl_struct, rl_ifstruct, rl_termml, and
  64. % rl_terml.
  65. % Introduced new black boxes rl_qefsolset, rl_bettergaussp!*, rl_bestgaussp,
  66. % rl_esetunion, rl_structat, rl_ifstructat, and rl_termmlat.
  67. %
  68. % Revision 1.7 1996/08/01 11:46:18 reiske
  69. % Introduced new services rl_natab, rl_nitab, rl_qeipo, and rl_gentheo.
  70. % Introduced new black boxes rl_a2cdl and rl_getineq.
  71. %
  72. % Revision 1.6 1996/07/13 11:23:05 dolzmann
  73. % Introduced new black box rl_smcpknowl.
  74. %
  75. % Revision 1.5 1996/07/07 14:37:22 sturm
  76. % Introduced new service rl_nnfnot.
  77. % Introduced new black box rl_eqnrhskernels.
  78. %
  79. % Revision 1.4 1996/05/21 17:32:42 sturm
  80. % Added service rl_subfof and black boxes rl_subat, rl_subalchk.
  81. %
  82. % Revision 1.3 1996/05/12 08:28:38 sturm
  83. % Introduced new services rlthsimpl and rlgqe.
  84. %
  85. % Revision 1.2 1996/04/18 14:32:33 sturm
  86. % Fixed bugs in macro calls.
  87. %
  88. % Revision 1.1 1996/03/22 12:18:30 sturm
  89. % Moved and split.
  90. %
  91. % ----------------------------------------------------------------------
  92. lisp <<
  93. fluid '(rl_sched_rcsid!* rl_sched_copyright!*);
  94. rl_sched_rcsid!* :=
  95. "$Id: rlsched.red,v 1.23 1999/03/23 09:23:57 dolzmann Exp $";
  96. rl_sched_copyright!* :=
  97. "Copyright (c) 1995-1999 by A. Dolzmann and T. Sturm"
  98. >>;
  99. module rlsched;
  100. % Reduce logic component scheduler. Submodule of [redlog]. Service and
  101. % black-box scheduler possibly including AM interface construction.
  102. rl_mkserv('subfof,'(dummy dummy),nil,nil,nil,nil);
  103. rl_mkserv('identifyonoff,'(reval),nil,nil,'null,nil);
  104. rl_mkserv('simpl,'(rl_simp),
  105. '(rl_a2s!-atl rl_a2s!-number),'((list) -1),'rl_s2a!-simpl,T);
  106. rl_mkserv('thsimpl,'(rl_a2s!-atl),nil,nil,'rl_s2a!-atl,T);
  107. rl_mkserv('pnf,'(rl_simp),nil,nil,'rl_mk!*fof,T);
  108. rl_mkserv('apnf,'(rl_a2s!-posf),nil,nil,'rl_mk!*fof,T);
  109. rl_mkserv('nnf,'(rl_simp),nil,nil,'rl_mk!*fof,T);
  110. rl_mkserv('nnfnot,'(dummy),nil,nil,nil,nil);
  111. rl_mkserv('cnf,'(rl_simp),nil,nil,'rl_mk!*fof,T);
  112. rl_mkserv('dnf,'(rl_simp),nil,nil,'rl_mk!*fof,T);
  113. rl_mkserv('ex,'(rl_simp),'(rl_a2s!-varl),'((list)),'rl_mk!*fof,T);
  114. rl_mkserv('all,'(rl_simp),'(rl_a2s!-varl),'((list)),'rl_mk!*fof,T);
  115. rl_mkserv('gqe,'(rl_simp),'(rl_a2s!-atl rl_a2s!-varl),'((list)
  116. (list)),'rl_s2a!-gqe,T);
  117. rl_mkserv('gqea,'(rl_simp),'(rl_a2s!-atl rl_a2s!-varl),'((list)
  118. (list)),'rl_s2a!-gqea,T);
  119. rl_mkserv('qe,'(rl_simp),'(rl_a2s!-atl),'((list)),'rl_s2a!-simpl,T);
  120. rl_mkserv('qea,'(rl_simp),'(rl_a2s!-atl),'((list)),'rl_s2a!-qea,T);
  121. rl_mkserv('atnum,'(rl_simp),nil,nil,'aeval,T);
  122. rl_mkserv('gsc,'(rl_simp),'(rl_a2s!-atl),'((list)),'rl_s2a!-simpl,T);
  123. rl_mkserv('gsd,'(rl_simp),'(rl_a2s!-atl),'((list)),'rl_s2a!-simpl,T);
  124. rl_mkserv('gsn,'(rl_simp),'(rl_a2s!-atl),'((list)),'rl_s2a!-simpl,T);
  125. rl_mkserv('opt,'(rl_a2s!-atl rl_a2s!-targfn),
  126. '(rl_a2s!-varl rl_a2s!-number),'((list) 8),'rl_s2a!-opt,T);
  127. rl_mkserv('atl,'(rl_simp),nil,nil,'rl_s2a!-atl,T);
  128. rl_mkserv('atml,'(rl_simp),nil,nil,
  129. function(lambda x; rl_s2a!-ml(x,'rl_mk!*fof)),T);
  130. rl_mkserv('matrix,'(rl_simp),nil,nil,'rl_mk!*fof,T);
  131. rl_mkserv('ifacl,'(rl_simp),nil,nil,'rl_s2a!-terml,T);
  132. rl_mkserv('ifacml,'(rl_simp),nil,nil,
  133. function(lambda x; rl_s2a!-ml(x,'rl_s2a!-term)),T);
  134. rl_mkserv('tab,'(rl_simp rl_a2s!-atl),nil,nil,'rl_mk!*fof,T);
  135. rl_mkserv('atab,'(rl_simp),nil,nil,'rl_mk!*fof,T);
  136. rl_mkserv('itab,'(rl_simp),nil,nil,'rl_mk!*fof,T);
  137. rl_mkserv('qeipo,'(rl_simp),'(rl_a2s!-atl),'((list)),'rl_s2a!-simpl,T);
  138. rl_mkserv('qews,'(rl_simp),'(rl_a2s!-atl),'((list)),'rl_s2a!-simpl,T);
  139. rl_mkserv('gentheo,'(rl_a2s!-atl rl_simp),'(rl_a2s!-varl),'((list)),
  140. 'rl_s2a!-gqe,T);
  141. rl_mkserv('tnf,'(rl_simp rl_a2s!-terml),nil,nil,'rl_mk!*fof,T);
  142. rl_mkserv('terml,'(rl_simp),nil,nil,'rl_s2a!-terml,T);
  143. rl_mkserv('termml,'(rl_simp),nil,nil,
  144. function(lambda x; rl_s2a!-ml(x,'rl_s2a!-term)),T);
  145. rl_mkserv('struct,'(rl_simp),'(rl_a2s!-id),'(v),'rl_s2a!-struct,T);
  146. rl_mkserv('ifstruct,'(rl_simp),'(rl_a2s!-id),'(v),'rl_s2a!-struct,T);
  147. rl_mkserv('varl,'(rl_simp),nil,nil,'rl_s2a!-varl,T);
  148. rl_mkserv('fvarl,'(rl_simp),nil,nil,'rl_s2a!-fbvarl,T);
  149. rl_mkserv('bvarl,'(rl_simp),nil,nil,'rl_s2a!-fbvarl,T);
  150. rl_mkserv('decdeg1,'(rl_simp),'(rl_a2s!-decdeg1),'(fvarl),'rl_s2a!-decdeg1,T);
  151. rl_mkserv('decdeg,'(rl_simp),nil,nil,'rl_mk!*fof,T);
  152. rl_mkserv('explats,'(rl_simp),nil,nil,'rl_mk!*fof,T);
  153. rl_mkserv('mkcanonic,'(rl_simp),nil,nil,'rl_mk!*fof,T);
  154. rl_mkserv('surep,'(dummy dummy),nil,nil,nil,nil);
  155. rl_mkserv('siaddatl,'(dummy dummy),nil,nil,nil,nil);
  156. % Black box scheduler.
  157. rl_mkbb('rl_simplat1,2);
  158. rl_mkbb('rl_smupdknowl,4);
  159. rl_mkbb('rl_smrmknowl,2);
  160. rl_mkbb('rl_smcpknowl,1);
  161. rl_mkbb('rl_smmkatl,4);
  162. rl_mkbb('rl_smsimpl!-impl,5);
  163. rl_mkbb('rl_smsimpl!-equiv1,5);
  164. rl_mkbb('rl_negateat,1);
  165. rl_mkbb('rl_varlat,1);
  166. rl_mkbb('rl_varsubstat,3);
  167. rl_mkbb('rl_translat,5);
  168. rl_mkbb('rl_elimset,2);
  169. rl_mkbb('rl_trygauss,5);
  170. rl_mkbb('rl_varsel,3);
  171. rl_mkbb('rl_qemkans,2);
  172. rl_mkbb('rl_ordatp,2);
  173. rl_mkbb('rl_subsumption,3);
  174. rl_mkbb('rl_transform,2);
  175. rl_mkbb('rl_updatr,2);
  176. rl_mkbb('rl_sacat,3);
  177. rl_mkbb('rl_sacatlp,2);
  178. rl_mkbb('rl_bnfsimpl,2);
  179. rl_mkbb('rl_fctrat,1);
  180. rl_mkbb('rl_tordp,2);
  181. rl_mkbb('rl_a2cdl,1);
  182. rl_mkbb('rl_t2cdl,1);
  183. rl_mkbb('rl_subat,2);
  184. rl_mkbb('rl_subalchk,1);
  185. rl_mkbb('rl_eqnrhskernels,1);
  186. rl_mkbb('rl_getineq,2);
  187. rl_mkbb('rl_qefsolset,5);
  188. rl_mkbb('rl_bettergaussp,2);
  189. rl_mkbb('rl_bestgaussp,1);
  190. rl_mkbb('rl_esetunion,2);
  191. rl_mkbb('rl_structat,2);
  192. rl_mkbb('rl_ifstructat,2);
  193. rl_mkbb('rl_termmlat,1);
  194. rl_mkbb('rl_multsurep,2);
  195. rl_mkbb('rl_specelim,5);
  196. rl_mkbb('rl_susipost,2);
  197. rl_mkbb('rl_susitf,2);
  198. rl_mkbb('rl_susibin,2);
  199. endmodule; % [rlsched]
  200. end; % of file