src/HOL/Tools/res_atp.ML
changeset 31865 5e97c4abd18e
parent 31837 a50de97f1b08
child 31910 a8e9ccfc427a
equal deleted inserted replaced
31864:90ec13cf7ab0 31865:5e97c4abd18e
     9   val get_relevant : int -> bool -> Proof.context * (thm list * 'a) -> thm list ->
     9   val get_relevant : int -> bool -> Proof.context * (thm list * 'a) -> thm list ->
    10     (thm * (string * int)) list
    10     (thm * (string * int)) list
    11   val prepare_clauses : bool -> thm list -> thm list ->
    11   val prepare_clauses : bool -> thm list -> thm list ->
    12     (thm * (ResHolClause.axiom_name * ResHolClause.clause_id)) list ->
    12     (thm * (ResHolClause.axiom_name * ResHolClause.clause_id)) list ->
    13     (thm * (ResHolClause.axiom_name * ResHolClause.clause_id)) list -> theory ->
    13     (thm * (ResHolClause.axiom_name * ResHolClause.clause_id)) list -> theory ->
    14     ResHolClause.axiom_name vector * (ResHolClause.clause list * ResHolClause.clause list *
    14     ResHolClause.axiom_name vector *
    15     ResHolClause.clause list * ResClause.classrelClause list * ResClause.arityClause list)
    15       (ResHolClause.clause list * ResHolClause.clause list * ResHolClause.clause list *
       
    16       ResHolClause.clause list * ResClause.classrelClause list * ResClause.arityClause list)
    16 end;
    17 end;
    17 
    18 
    18 structure ResAtp: RES_ATP =
    19 structure ResAtp: RES_ATP =
    19 struct
    20 struct
    20 
    21 
   548     val subs = tfree_classes_of_terms ccltms
   549     val subs = tfree_classes_of_terms ccltms
   549     and supers = tvar_classes_of_terms axtms
   550     and supers = tvar_classes_of_terms axtms
   550     and tycons = type_consts_of_terms thy (ccltms@axtms)
   551     and tycons = type_consts_of_terms thy (ccltms@axtms)
   551     (*TFrees in conjecture clauses; TVars in axiom clauses*)
   552     (*TFrees in conjecture clauses; TVars in axiom clauses*)
   552     val conjectures = ResHolClause.make_conjecture_clauses dfg thy ccls
   553     val conjectures = ResHolClause.make_conjecture_clauses dfg thy ccls
       
   554     val (_, extra_clauses) = ListPair.unzip (ResHolClause.make_axiom_clauses dfg thy extra_cls)
   553     val (clnames,axiom_clauses) = ListPair.unzip (ResHolClause.make_axiom_clauses dfg thy axcls)
   555     val (clnames,axiom_clauses) = ListPair.unzip (ResHolClause.make_axiom_clauses dfg thy axcls)
   554     val helper_clauses = ResHolClause.get_helper_clauses dfg thy isFO (conjectures, extra_cls, [])
   556     val helper_clauses = ResHolClause.get_helper_clauses dfg thy isFO (conjectures, extra_cls, [])
   555     val (supers',arity_clauses) = ResClause.make_arity_clauses_dfg dfg thy tycons supers
   557     val (supers',arity_clauses) = ResClause.make_arity_clauses_dfg dfg thy tycons supers
   556     val classrel_clauses = ResClause.make_classrel_clauses thy subs supers'
   558     val classrel_clauses = ResClause.make_classrel_clauses thy subs supers'
   557   in
   559   in
   558     (Vector.fromList clnames,
   560     (Vector.fromList clnames,
   559       (conjectures, axiom_clauses, helper_clauses, classrel_clauses, arity_clauses))
   561       (conjectures, axiom_clauses, extra_clauses, helper_clauses, classrel_clauses, arity_clauses))
   560   end
   562   end
   561 
   563 
   562 end;
   564 end;
   563 
   565