src/HOL/ex/meson.ML
changeset 1764 69b93ffc29ec
parent 1599 b11ac7072422
child 1820 e381e1c51689
equal deleted inserted replaced
1763:fb07e359b59f 1764:69b93ffc29ec
   315 fun sort_clauses ths = sort fewerlits (filter (not o is_taut) ths);
   315 fun sort_clauses ths = sort fewerlits (filter (not o is_taut) ths);
   316 
   316 
   317 (*Convert all suitable free variables to schematic variables*)
   317 (*Convert all suitable free variables to schematic variables*)
   318 fun generalize th = forall_elim_vars 0 (forall_intr_frees th);
   318 fun generalize th = forall_elim_vars 0 (forall_intr_frees th);
   319 
   319 
   320 (*Make clauses from a list of theorems.  These are HOL disjunctions.*)
   320 (*Make clauses from a list of theorems, previously Skolemized and put into nnf.
       
   321   The resulting clauses are HOL disjunctions.*)
   321 fun make_clauses ths = 
   322 fun make_clauses ths = 
   322     sort_clauses (map (generalize o nodups) (foldr cnf (ths,[])));
   323     sort_clauses (map (generalize o nodups) (foldr cnf (ths,[])));
   323 
   324 
   324 (*Create a meta-level Horn clause*)
   325 (*Create a meta-level Horn clause*)
   325 fun make_horn crules th = make_horn crules (tryres(th,crules)) 
   326 fun make_horn crules th = make_horn crules (tryres(th,crules))