src/HOL/Tools/meson.ML
changeset 15862 67574c1b15a0
parent 15779 aed221aff642
child 15872 8336ff711d80
equal deleted inserted replaced
15861:cf2c6cf35216 15862:67574c1b15a0
   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*)