src/HOL/Tools/res_hol_clause.ML
changeset 19724 20d76a40e362
parent 19720 f68f6f958a1d
child 19725 ada9bb1faba5
equal deleted inserted replaced
19723:7602f74c914b 19724:20d76a40e362
   701 	val cls_str = ResClause.gen_dfg_cls(clause_id, axiom_name, knd, lits_str, tvars@vars) 
   701 	val cls_str = ResClause.gen_dfg_cls(clause_id, axiom_name, knd, lits_str, tvars@vars) 
   702     in (cls_str, tfree_lits) end;
   702     in (cls_str, tfree_lits) end;
   703 
   703 
   704 
   704 
   705 fun init_funcs_tab funcs = 
   705 fun init_funcs_tab funcs = 
   706     case !typ_level of T_CONST => Symtab.update ("hEXTENT", 2) (Symtab.update ("fequal",1) funcs)
   706     let val tp = !typ_level
   707 		     | T_FULL => Symtab.update ("typeinfo",2) (Symtab.update ("hEXTENT",0) (Symtab.update ("fequal",0) funcs))
   707 	val funcs1 = case tp of T_PARTIAL => Symtab.update ("hAPP",3) funcs
   708 		     | _ => Symtab.update ("hEXTENT",0) (Symtab.update ("fequal",0) funcs);
   708 				      | _ => Symtab.update ("hAPP",2) funcs
       
   709 	val funcs2 = case tp of T_FULL => Symtab.update ("typeinfo",2) funcs1
       
   710 				      | _ => funcs1
       
   711     in
       
   712 	case tp of T_CONST => Symtab.update ("fequal",1) (Symtab.update ("hEXTENT",2) funcs2)
       
   713 			 | _ => Symtab.update ("fequal",0) (Symtab.update ("hEXTENT",0) funcs2)
       
   714     end;
   709 
   715 
   710 
   716 
   711 fun add_funcs (CombConst(c,_,tvars),funcs) = 
   717 fun add_funcs (CombConst(c,_,tvars),funcs) = 
   712     (case !typ_level of T_CONST => foldl ResClause.add_foltype_funcs (Symtab.update(c,length tvars) funcs) tvars
   718     (case !typ_level of T_CONST => foldl ResClause.add_foltype_funcs (Symtab.update(c,length tvars) funcs) tvars
   713 		     | _ => foldl ResClause.add_foltype_funcs (Symtab.update(c,0) funcs) tvars)
   719 		     | _ => foldl ResClause.add_foltype_funcs (Symtab.update(c,0) funcs) tvars)
   714   | add_funcs (CombFree(_,ctp),funcs) = ResClause.add_foltype_funcs (ctp,funcs) 
   720   | add_funcs (CombFree(v,ctp),funcs) = ResClause.add_foltype_funcs (ctp,Symtab.update (v,0) funcs) 
   715   | add_funcs (CombVar(_,ctp),funcs) = ResClause.add_foltype_funcs (ctp,funcs)
   721   | add_funcs (CombVar(_,ctp),funcs) = ResClause.add_foltype_funcs (ctp,funcs)
   716   | add_funcs (CombApp(P,Q,_),funcs) = add_funcs(P,add_funcs (Q,funcs))
   722   | add_funcs (CombApp(P,Q,_),funcs) = add_funcs(P,add_funcs (Q,funcs))
   717   | add_funcs (Bool(t),funcs) = add_funcs (t,funcs);
   723   | add_funcs (Bool(t),funcs) = add_funcs (t,funcs);
   718 
   724 
   719 
   725