home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / lifeos2.zip / LIFE-1.02 / TESTS / REFOUT / INTABS.REF < prev    next >
Text File  |  1996-06-04  |  20KB  |  534 lines

  1.  
  2. *** Yes
  3. > > > 
  4.  
  5. *** TESTING COMPABS ***
  6. *** Yes
  7. > > |    |    |    |    
  8. *** Yes
  9. A = @, L1 = @, L2 = @, X = @, Y = @, Z = @.
  10. --1> 
  11. *** No
  12. > > |    |    |    |    |    |    |    |    
  13. *** Yes
  14. X = @, Y = @.
  15. --1> 
  16. *** No
  17. *** Yes
  18. > > 
  19. dynamic(concat_proc)?
  20. concat_proc(actions => [disjunc([unif(_A,[]),unif(_B,_C)],
  21.                                 [unif(_A,[_D|_E]),
  22.                                  unif(_C,[_D|_F]),
  23.                                  abscall(concat,[_E,_B,_F])],
  24.                                 global_vars => [_A,_C,_B])],
  25.             global_vars => [_A,_B,_C]) :-
  26.         succeed.
  27.  
  28. *** Yes
  29. dynamic(toto_proc)?
  30. toto_proc(actions => [disjunc([unif(_A,a),abscall(tata,[_B])],
  31.                               [disjunc([unif(_A,b),abscall(tata,[_B])],
  32.                                        [disjunc([abscall(tutu,[_A,_B]),
  33.                                                  abscall(!,[])],
  34.                                                 [abscall(fail,[])],
  35.                                                 global_vars => [_A,_B])],
  36.                                        global_vars => [_A,_B])],
  37.                               global_vars => [_A,_B])],
  38.           global_vars => [_A,_B]) :-
  39.         succeed.
  40.  
  41. *** Yes
  42. > > > 
  43.  
  44. *** TESTING NORMALIZATION ***
  45. *** Yes
  46. > > 
  47. X: t(@(type => free2~),g(X,a(type => ground2),type => non_var_true~),type => non_var_true~)
  48. *** Yes
  49. U = @(type => free2~), 
  50. X = t(U,g(X,a(type => ground2),type => non_var_true~),type => non_var_true~).
  51.  
  52. --1> 
  53. *** No
  54. U = @(type => free2~), 
  55. X = t(U,g(X,a(type => ground2),type => non_var_true~),type => non_var_true~).
  56.  
  57. --1> 
  58. *** No
  59. > > > > > > 
  60.  
  61. *** TESTING EXTEND AND FIND_NODE ***
  62. *** Yes
  63. > > 
  64. *** Yes
  65. SAT = hasse.
  66. --1> 
  67. *** No
  68. > |    
  69. *** Yes
  70. New = true, 
  71. NewNode = node(ground,
  72.                @,
  73.                depend_on_me => [],
  74.                fathers => [],
  75.                sons => [],
  76.                stable => false,
  77.                suspended => false), 
  78. SAT = hasse(p => [NewNode]).
  79.  
  80. --1> 
  81. *** No
  82. > |    
  83. *** Yes
  84. New = true, 
  85. NewNode = node(free,
  86.                @,
  87.                depend_on_me => [],
  88.                fathers => [],
  89.                sons => [],
  90.                stable => false,
  91.                suspended => false), 
  92. SAT = hasse(p => [node(ground,
  93.                        @,
  94.                        depend_on_me => [],
  95.                        fathers => [],
  96.                        sons => [],
  97.                        stable => false,
  98.                        suspended => false)],
  99.             q => [NewNode]).
  100.  
  101. --1> 
  102. *** No
  103. > |    |    |    |    |    |    |    |    
  104.  
  105. true  true  true
  106.  
  107. true
  108. *** Yes
  109. New1 = true, 
  110. New2 = true, 
  111. New3 = false, 
  112. New4 = true, 
  113. New5 = true, 
  114. Node1 = node(non_var,
  115.              @,
  116.              depend_on_me => [],
  117.              fathers => [Node5],
  118.              sons => [Node2],
  119.              stable => false,
  120.              suspended => false), 
  121. Node2 = node(ground,
  122.              @,
  123.              depend_on_me => [],
  124.              fathers => [Node1],
  125.              sons => [Node4],
  126.              stable => false,
  127.              suspended => false), 
  128. Node3 = Node2, 
  129. Node4 = node(@,
  130.              @,
  131.              depend_on_me => [],
  132.              fathers => [Node2,
  133.                          _A: node(free,
  134.                                   @,
  135.                                   depend_on_me => [],
  136.                                   fathers => [Node5],
  137.                                   sons => [Node4],
  138.                                   stable => false,
  139.                                   suspended => false)],
  140.              sons => [],
  141.              stable => false,
  142.              suspended => false), 
  143. Node5 = node(any,
  144.              @,
  145.              depend_on_me => [],
  146.              fathers => [],
  147.              sons => [_A,Node1],
  148.              stable => false,
  149.              suspended => false), 
  150. Node6 = Node2, 
  151. SAT = hasse(p => [node(ground,
  152.                        @,
  153.                        depend_on_me => [],
  154.                        fathers => [],
  155.                        sons => [],
  156.                        stable => false,
  157.                        suspended => false)],
  158.             q => [Node5]).
  159.  
  160. --1> 
  161. *** No
  162. > > > > > > 
  163.  
  164. *** TESTING ADJUST ***
  165. *** Yes
  166. > > |    |    
  167.  
  168. [AT: node(ground,_A: ground,depend_on_me => [],fathers => [_B: node(non_var,_A,depend_on_me => [],fathers => [_C: node(any,@,depend_on_me => [],fathers => [],sons => [_D: node(free,@,depend_on_me => [],fathers => [_C],sons => [_E: node(@,@,depend_on_me => [],fathers => [AT,_D],sons => [],stable => false,suspended => false)],stable => false,suspended => false),_B],stable => false,suspended => false)],sons => [AT],stable => false,suspended => false)],sons => [_E],stable => false,suspended => false)]
  169. *** Yes
  170. AT = node(ground,
  171.           _A: ground,
  172.           depend_on_me => [],
  173.           fathers => [_B: node(non_var,
  174.                                _A,
  175.                                depend_on_me => [],
  176.                                fathers => [_C: node(any,
  177.                                                     @,
  178.                                                     depend_on_me => [],
  179.                                                     fathers => [],
  180.                                                     sons => [_D: node(free,
  181.                                                                       @,
  182.                                                                       depend_on_me => [],
  183.                                                                       fathers => [_C],
  184.                                                                       sons => [_E: node(@,
  185.                                                                                         @,
  186.                                                                                         depend_on_me => [],
  187.                                                                                         fathers => [AT,_D],
  188.                                                                                         sons => [],
  189.                                                                                         stable => false,
  190.                                                                                         suspended => false)],
  191.                                                                       stable => false,
  192.                                                                       suspended => false),
  193.                                                              _B],
  194.                                                     stable => false,
  195.                                                     suspended => false)],
  196.                                sons => [AT],
  197.                                stable => false,
  198.                                suspended => false)],
  199.           sons => [_E],
  200.           stable => false,
  201.           suspended => false), 
  202. Modified = [AT], 
  203. SAT = hasse(p => [node(ground,
  204.                        @,
  205.                        depend_on_me => [],
  206.                        fathers => [],
  207.                        sons => [],
  208.                        stable => false,
  209.                        suspended => false)],
  210.             q => [_C]).
  211.  
  212. --1> 
  213. *** No
  214. > |    |    
  215.  
  216. [AT: node(free,_A: free,depend_on_me => [],fathers => [_B: node(any,_A,depend_on_me => [],fathers => [],sons => [AT,_C: node(non_var,_D: ground,depend_on_me => [],fathers => [_B],sons => [_E: node(ground,_D,depend_on_me => [],fathers => [_C],sons => [_F: node(@,@,depend_on_me => [],fathers => [_E,AT],sons => [],stable => false,suspended => false)],stable => false,suspended => false)],stable => false,suspended => false)],stable => false,suspended => false)],sons => [_F],stable => false,suspended => false)]
  217. *** Yes
  218. AT = node(free,
  219.           _A: free,
  220.           depend_on_me => [],
  221.           fathers => [_B: node(any,
  222.                                _A,
  223.                                depend_on_me => [],
  224.                                fathers => [],
  225.                                sons => [AT,
  226.                                         _C: node(non_var,
  227.                                                  _D: ground,
  228.                                                  depend_on_me => [],
  229.                                                  fathers => [_B],
  230.                                                  sons => [_E: node(ground,
  231.                                                                    _D,
  232.                                                                    depend_on_me => [],
  233.                                                                    fathers => [_C],
  234.                                                                    sons => [_F: node(@,
  235.                                                                                      @,
  236.                                                                                      depend_on_me => [],
  237.                                                                                      fathers => [_E,AT],
  238.                                                                                      sons => [],
  239.                                                                                      stable => false,
  240.                                                                                      suspended => false)],
  241.                                                                    stable => false,
  242.                                                                    suspended => false)],
  243.                                                  stable => false,
  244.                                                  suspended => false)],
  245.                                stable => false,
  246.                                suspended => false)],
  247.           sons => [_F],
  248.           stable => false,
  249.           suspended => false), 
  250. Modified = [AT], 
  251. SAT = hasse(p => [node(ground,
  252.                        @,
  253.                        depend_on_me => [],
  254.                        fathers => [],
  255.                        sons => [],
  256.                        stable => false,
  257.                        suspended => false)],
  258.             q => [_B]).
  259.  
  260. --1> 
  261. *** No
  262. > > > > > 
  263.  
  264. *** TESTING SUSPENSION ***
  265. *** Yes
  266. > > |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    
  267.  
  268. OK
  269. *** Yes
  270. Node = node(ground,
  271.             _A: ground,
  272.             depend_on_me => [],
  273.             fathers => [_B: node(non_var,
  274.                                  _A,
  275.                                  depend_on_me => [],
  276.                                  fathers => [_C: node(any,
  277.                                                       _D: free,
  278.                                                       depend_on_me => [],
  279.                                                       fathers => [],
  280.                                                       sons => [_E: node(free,
  281.                                                                         _D,
  282.                                                                         depend_on_me => [],
  283.                                                                         fathers => [_C],
  284.                                                                         sons => [_F: node(@,
  285.                                                                                           @,
  286.                                                                                           depend_on_me => [],
  287.                                                                                           fathers => [Node,
  288.                                                                                                       _E],
  289.                                                                                           sons => [],
  290.                                                                                           stable => false,
  291.                                                                                           suspended => false)],
  292.                                                                         stable => false,
  293.                                                                         suspended => false),
  294.                                                                _B],
  295.                                                       stable => false,
  296.                                                       suspended => false)],
  297.                                  sons => [Node],
  298.                                  stable => false,
  299.                                  suspended => false)],
  300.             sons => [_F],
  301.             stable => false,
  302.             suspended => true), 
  303. SAT = hasse(p => [node(ground,
  304.                        @,
  305.                        depend_on_me => [],
  306.                        fathers => [],
  307.                        sons => [],
  308.                        stable => false,
  309.                        suspended => false)],
  310.             q => [_C]).
  311.  
  312. --1> 
  313. *** No
  314. > > > > > 
  315.  
  316. *** TESTING DEPENDENCIES ***
  317. *** Yes
  318. > > |    |    |    |    |    |    |    
  319.  
  320. hasse(p => [_A: node(ground,@,depend_on_me => [],fathers => [],sons => [],stable => true,suspended => false)],q => [_B: node(any,_C: free,depend_on_me => [],fathers => [],sons => [_D: node(free,_C,depend_on_me => [],fathers => [_B],sons => [_E: node(@,@,depend_on_me => [],fathers => [Node2: node(ground,_F: ground,depend_on_me => [_D],fathers => [Node: node(non_var,_F,depend_on_me => [_D,_A],fathers => [_B],sons => [Node2],stable => true,suspended => false)],sons => [_E],stable => false,suspended => true),_D],sons => [],stable => false,suspended => false)],stable => true,suspended => false),Node],stable => false,suspended => false)])
  321. *** Yes
  322. Node = node(non_var,
  323.             _A: ground,
  324.             depend_on_me => [_B: node(free,
  325.                                       _C: free,
  326.                                       depend_on_me => [],
  327.                                       fathers => [_D: node(any,
  328.                                                            _C,
  329.                                                            depend_on_me => [],
  330.                                                            fathers => [],
  331.                                                            sons => [_B,Node],
  332.                                                            stable => false,
  333.                                                            suspended => false)],
  334.                                       sons => [_E: node(@,
  335.                                                         @,
  336.                                                         depend_on_me => [],
  337.                                                         fathers => [Node2,_B],
  338.                                                         sons => [],
  339.                                                         stable => false,
  340.                                                         suspended => false)],
  341.                                       stable => true,
  342.                                       suspended => false),
  343.                              _F: node(ground,
  344.                                       @,
  345.                                       depend_on_me => [],
  346.                                       fathers => [],
  347.                                       sons => [],
  348.                                       stable => true,
  349.                                       suspended => false)],
  350.             fathers => [_D],
  351.             sons => [Node2],
  352.             stable => true,
  353.             suspended => false), 
  354. Node2 = node(ground,
  355.              _A,
  356.              depend_on_me => [_B],
  357.              fathers => [Node],
  358.              sons => [_E],
  359.              stable => false,
  360.              suspended => true), 
  361. SAT = hasse(p => [_F],q => [_D]).
  362.  
  363. --1> 
  364. *** No
  365. > > 
  366.  
  367. *** TESTING ANALYSE WITH A SIMPLE DOMAIN ***
  368. *** Yes
  369. > > 
  370. *** Yes
  371. X = @, Y = @.
  372. --1> 
  373. *** No
  374. > |    
  375.  
  376. enter solve_procedure tooo with [free,free]
  377.  
  378. exit solve_procedure tooo with [ground,ground]
  379.  
  380. hasse(tooo => [node([free,free],
  381.                     [ground,ground],
  382.                     depend_on_me => [],
  383.                     fathers => [],
  384.                     sons => [],
  385.                     stable => true,
  386.                     suspended => true)])
  387. *** Yes
  388. > > |    |    |    |    
  389. *** Yes
  390. X = @, Y = @.
  391. --1> 
  392. *** No
  393. *** Yes
  394. > > |    
  395.  
  396. enter solve_procedure tata with [free,free]
  397.  
  398. enter solve_alter with [free,free]
  399.  
  400. exit solve_alter with [ground,ground]
  401.  
  402. enter solve_alter with [free,free]
  403.  
  404. enter solve_call succeed with []
  405.  
  406. enter solve_procedure succeed with []
  407.  
  408. exit solve_procedure succeed with []
  409.  
  410. exit solve_call succeed with []
  411.  
  412. exit solve_alter with [free,free]
  413.  
  414.   first  alternative:[ground,ground]
  415.  
  416.   second alternative:[free,free]
  417.  
  418.   union             :[any,any]
  419.  
  420. exit solve_procedure tata with [any,any]
  421.  
  422. hasse(succeed => [node([],
  423.                        [],
  424.                        depend_on_me => [_A: node([free,free],
  425.                                                  [any,any],
  426.                                                  depend_on_me => [],
  427.                                                  fathers => [],
  428.                                                  sons => [],
  429.                                                  stable => true,
  430.                                                  suspended => true)],
  431.                        fathers => [],
  432.                        sons => [],
  433.                        stable => true,
  434.                        suspended => false)],
  435.       tata => [_A])
  436. *** Yes
  437. > > |    
  438.  
  439. enter solve_procedure concat with [ground,ground,free]
  440.  
  441. enter solve_alter with [ground,free,ground]
  442.  
  443. exit solve_alter with [ground,ground,ground]
  444.  
  445. enter solve_alter with [ground,free,ground]
  446.  
  447. enter solve_call concat with [ground,ground,free]
  448.  
  449. exit solve_call concat with @
  450.  
  451. exit solve_alter with [@,@,@]
  452.  
  453.   first  alternative:[ground,ground,ground]
  454.  
  455.   second alternative:[@,@,@]
  456.  
  457.   union             :[ground,ground,ground]
  458.  
  459. exit solve_procedure concat with [ground,ground,ground]
  460.  
  461. enter solve_procedure concat with [ground,ground,free]
  462.  
  463. enter solve_alter with [ground,free,ground]
  464.  
  465. exit solve_alter with [ground,ground,ground]
  466.  
  467. enter solve_alter with [ground,free,ground]
  468.  
  469. enter solve_call concat with [ground,ground,free]
  470.  
  471. exit solve_call concat with [ground,ground,ground]
  472.  
  473. exit solve_alter with [ground,ground,ground]
  474.  
  475.   first  alternative:[ground,ground,ground]
  476.  
  477.   second alternative:[ground,ground,ground]
  478.  
  479.   union             :[ground,ground,ground]
  480.  
  481. exit solve_procedure concat with [ground,ground,ground]
  482.  
  483. hasse(concat => [_A: node([ground,ground,free],
  484.                           [ground,ground,ground],
  485.                           depend_on_me => [_A],
  486.                           fathers => [],
  487.                           sons => [],
  488.                           stable => true,
  489.                           suspended => true)])
  490. *** Yes
  491. > > 
  492. *** Yes
  493. X = @, Y = @, Z = @.
  494. --1> 
  495. *** No
  496. *** Yes
  497. X = @, Y = @.
  498. --1> 
  499. *** No
  500. > |    
  501.  
  502. enter solve_procedure tutu with [free]
  503.  
  504. enter solve_call titi with [free,free]
  505.  
  506. enter solve_procedure titi with [free,free]
  507.  
  508. exit solve_procedure titi with [ground,ground]
  509.  
  510. exit solve_call titi with [ground,ground]
  511.  
  512. exit solve_procedure tutu with [ground]
  513.  
  514. hasse(titi => [node([free,free],
  515.                     [ground,ground],
  516.                     depend_on_me => [_A: node([free],
  517.                                               [ground],
  518.                                               depend_on_me => [],
  519.                                               fathers => [],
  520.                                               sons => [],
  521.                                               stable => true,
  522.                                               suspended => true)],
  523.                     fathers => [],
  524.                     sons => [],
  525.                     stable => true,
  526.                     suspended => false)],
  527.       tutu => [_A])
  528. *** Yes
  529.