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 |