src/HOL/Tools/ATP/res_clasimpset.ML
changeset 15872 8336ff711d80
parent 15789 4cb16144c81b
child 15907 f377ba412dba
equal deleted inserted replaced
15871:e524119dbf19 15872:8336ff711d80
   168                                   remove_all_simps xs name_rules'
   168                                   remove_all_simps xs name_rules'
   169                               end; 
   169                               end; 
   170 
   170 
   171 
   171 
   172 
   172 
   173 fun thm_is_fol (x, thm) = rule_is_fol thm
       
   174 
       
   175 
       
   176 fun get_simp_metas [] = [[]]
   173 fun get_simp_metas [] = [[]]
   177 |   get_simp_metas (x::xs) = let val metas = ResAxioms.meta_cnf_axiom x
   174 |   get_simp_metas (x::xs) = let val metas = ResAxioms.meta_cnf_axiom x
   178                              in
   175                              in
   179                                  metas::(get_simp_metas xs)
   176                                  metas::(get_simp_metas xs)
   180                              end
   177                              end
   206                                     (* get (name, thm) pairs for claset rules *)
   203                                     (* get (name, thm) pairs for claset rules *)
   207                                    (*******************************************)
   204                                    (*******************************************)
   208 
   205 
   209                                    val names_rules = ListPair.zip (good_names,name_fol_cs);
   206                                    val names_rules = ListPair.zip (good_names,name_fol_cs);
   210                                    
   207                                    
   211                                    val new_clasrls = #1(ResAxioms.clausify_classical_rules name_fol_cs[])
   208                                    val new_clasrls = #1(ResAxioms.clausify_rules name_fol_cs[])
   212 
   209 
   213                                    val claset_tptp_strs = map ( map ResClause.tptp_clause) new_clasrls;
   210                                    val claset_tptp_strs = map ( map ResClause.tptp_clause) new_clasrls;
   214 
   211 
   215                                    (* list of lists of tptp string clauses *)
   212                                    (* list of lists of tptp string clauses *)
   216                                    val stick_clasrls =  map stick claset_tptp_strs;
   213                                    val stick_clasrls =  map stick claset_tptp_strs;
   249                                   val named_simps = List.filter has_name_pair simpset_name_rules;
   246                                   val named_simps = List.filter has_name_pair simpset_name_rules;
   250 
   247 
   251                                   val simp_names = map #1 named_simps;
   248                                   val simp_names = map #1 named_simps;
   252                                   val simp_rules = map #2 named_simps;
   249                                   val simp_rules = map #2 named_simps;
   253                               
   250                               
   254                                   val (simpset_cls,badthms) = ResAxioms.clausify_simpset_rules simp_rules [];
   251                                   val (simpset_cls,badthms) = ResAxioms.clausify_rules  simp_rules [];
   255                                  (* 1137 clausif simps *)
   252                                  (* 1137 clausif simps *)
   256                                   val clausifiable_simps = remove_all_simps badthms named_simps;
   253                                   val name_fol_simps = remove_all_simps badthms named_simps;
   257                                    
   254                                    
   258                                     val name_fol_simps = List.filter thm_is_fol clausifiable_simps ;
       
   259                                     val simp_names = map #1 name_fol_simps;
   255                                     val simp_names = map #1 name_fol_simps;
   260                                     val simp_rules = map #2 name_fol_simps;
   256                                     val simp_rules = map #2 name_fol_simps;
   261                                     
   257                                     
   262                                      (* 995 of these *)
   258                                      (* 995 of these *)
   263                                     (* need to get names of claset_cluases so we can make sure we've*)
   259                                     (* need to get names of claset_cluases so we can make sure we've*)
   264                                     (* got the same ones (ie. the named ones ) as the claset rules *)
   260                                     (* got the same ones (ie. the named ones ) as the claset rules *)
   265                                     (* length 1374*)
   261                                     (* length 1374*)
   266                                     val new_simps = #1(ResAxioms.clausify_simpset_rules simp_rules []);
   262                                     val new_simps = #1(ResAxioms.clausify_rules  simp_rules []);
   267                                     val simpset_tptp_strs = map (map ResClause.tptp_clause) new_simps;
   263                                     val simpset_tptp_strs = map (map ResClause.tptp_clause) new_simps;
   268 
   264 
   269                                     val stick_strs = map stick simpset_tptp_strs;
   265                                     val stick_strs = map stick simpset_tptp_strs;
   270                                     val name_stick = ListPair.zip (simp_names,stick_strs);
   266                                     val name_stick = ListPair.zip (simp_names,stick_strs);
   271 
   267