equal
deleted
inserted
replaced
235 (*Generate Horn clauses for all contrapositives of a clause*) |
235 (*Generate Horn clauses for all contrapositives of a clause*) |
236 fun add_contras crules (th,hcs) = |
236 fun add_contras crules (th,hcs) = |
237 let fun rots (0,th) = hcs |
237 let fun rots (0,th) = hcs |
238 | rots (k,th) = zero_var_indexes (make_horn crules th) :: |
238 | rots (k,th) = zero_var_indexes (make_horn crules th) :: |
239 rots(k-1, assoc_right (th RS disj_comm)) |
239 rots(k-1, assoc_right (th RS disj_comm)) |
240 in case nliterals(prop_of (check_no_bool th)) of |
240 in case nliterals(prop_of th) of |
241 1 => th::hcs |
241 1 => th::hcs |
242 | n => rots(n, assoc_right th) |
242 | n => rots(n, assoc_right th) |
243 end; |
243 end; |
244 |
244 |
245 (*Use "theorem naming" to label the clauses*) |
245 (*Use "theorem naming" to label the clauses*) |