equal
deleted
inserted
replaced
53 val tfree_prefix : string |
53 val tfree_prefix : string |
54 val tptp_arity_clause : arityClause -> string |
54 val tptp_arity_clause : arityClause -> string |
55 val tptp_classrelClause : classrelClause -> string |
55 val tptp_classrelClause : classrelClause -> string |
56 val tptp_of_typeLit : type_literal -> string |
56 val tptp_of_typeLit : type_literal -> string |
57 val tptp_tfree_clause : string -> string |
57 val tptp_tfree_clause : string -> string |
58 val tptp_write_file: term list -> string -> ((Term.term * (string * int)) list * classrelClause list * arityClause list) -> unit |
58 val tptp_write_file: term list -> string -> ((thm * (string * int)) list * classrelClause list * arityClause list) -> unit |
59 val tvar_prefix : string |
59 val tvar_prefix : string |
60 val types_eq: fol_type list * fol_type list -> (string*string) list * (string*string) list -> bool * ((string*string) list * (string*string) list) |
60 val types_eq: fol_type list * fol_type list -> (string*string) list * (string*string) list -> bool * ((string*string) list * (string*string) list) |
61 val types_ord : fol_type list * fol_type list -> order |
61 val types_ord : fol_type list * fol_type list -> order |
62 val union_all : ''a list list -> ''a list |
62 val union_all : ''a list list -> ''a list |
63 val writeln_strs: TextIO.outstream -> TextIO.vector list -> unit |
63 val writeln_strs: TextIO.outstream -> TextIO.vector list -> unit |
618 fun make_axiom_clauses_terms [] = [] |
618 fun make_axiom_clauses_terms [] = [] |
619 | make_axiom_clauses_terms ((tm,(name,id))::tms) = |
619 | make_axiom_clauses_terms ((tm,(name,id))::tms) = |
620 case make_axiom_clause tm (name,id) of SOME cls => if isTaut cls then make_axiom_clauses_terms tms else cls :: make_axiom_clauses_terms tms |
620 case make_axiom_clause tm (name,id) of SOME cls => if isTaut cls then make_axiom_clauses_terms tms else cls :: make_axiom_clauses_terms tms |
621 | NONE => make_axiom_clauses_terms tms; |
621 | NONE => make_axiom_clauses_terms tms; |
622 |
622 |
|
623 fun make_axiom_clauses_thms [] = [] |
|
624 | make_axiom_clauses_thms ((thm,(name,id))::thms) = |
|
625 case make_axiom_clause (prop_of thm) (name,id) of SOME cls => if isTaut cls then make_axiom_clauses_thms thms else cls :: make_axiom_clauses_thms thms |
|
626 | NONE => make_axiom_clauses_thms thms; |
|
627 |
623 (**** Isabelle arities ****) |
628 (**** Isabelle arities ****) |
624 |
629 |
625 exception ARCLAUSE of string; |
630 exception ARCLAUSE of string; |
626 |
631 |
627 type class = string; |
632 type class = string; |
1028 (* write out a subgoal as tptp clauses to the file "xxxx_N"*) |
1033 (* write out a subgoal as tptp clauses to the file "xxxx_N"*) |
1029 fun tptp_write_file terms filename (axclauses,classrel_clauses,arity_clauses) = |
1034 fun tptp_write_file terms filename (axclauses,classrel_clauses,arity_clauses) = |
1030 let |
1035 let |
1031 val _ = Output.debug ("Preparing to write the TPTP file " ^ filename) |
1036 val _ = Output.debug ("Preparing to write the TPTP file " ^ filename) |
1032 val clss = make_conjecture_clauses terms |
1037 val clss = make_conjecture_clauses terms |
1033 val axclauses' = make_axiom_clauses_terms axclauses |
1038 val axclauses' = make_axiom_clauses_thms axclauses |
1034 val (tptp_clss,tfree_litss) = ListPair.unzip (map clause2tptp clss) |
1039 val (tptp_clss,tfree_litss) = ListPair.unzip (map clause2tptp clss) |
1035 val tfree_clss = map tptp_tfree_clause (foldl (op union_string) [] tfree_litss) |
1040 val tfree_clss = map tptp_tfree_clause (foldl (op union_string) [] tfree_litss) |
1036 val out = TextIO.openOut filename |
1041 val out = TextIO.openOut filename |
1037 in |
1042 in |
1038 List.app (curry TextIO.output out o #1 o clause2tptp) axclauses'; |
1043 List.app (curry TextIO.output out o #1 o clause2tptp) axclauses'; |
1041 List.app (curry TextIO.output out o tptp_classrelClause) classrel_clauses; |
1046 List.app (curry TextIO.output out o tptp_classrelClause) classrel_clauses; |
1042 List.app (curry TextIO.output out o tptp_arity_clause) arity_clauses; |
1047 List.app (curry TextIO.output out o tptp_arity_clause) arity_clauses; |
1043 TextIO.closeOut out |
1048 TextIO.closeOut out |
1044 end; |
1049 end; |
1045 |
1050 |
|
1051 |
|
1052 |
|
1053 |
|
1054 |
1046 end; |
1055 end; |