signature METIS_GENERATE = sig type type_enc = ATP_Problem_Generate.type_enc
datatype isa_thm =
Isa_Reflexive_or_Trivial |
Isa_Lambda_Lifted |
Isa_Raw of thm
val metis_equal : string val metis_predicator :string val metis_app_op : string val metis_systematic_type_tag : string val metis_ad_hoc_type_tag : Author: Jasmin Blanchette, TU Muenchen val metis_generated_var_prefix: string val trace : bool val :boolConfigT val trace_msg : Proof.context -> (unit*) valverbose_warning:.context- string-unit
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3 val reveal_old_skolem_terms : : java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36 val reveal_lam_lifted : (string val eliminate_lam_wrappers : term -> term val have_common_thm valtrace_msg Proof.context -> ( -> string - unit
generate_metis_problem:Proof.context- type_enc ->string- list > thmlist>
int val metis_name_table:((string * int) * (type_enc- string) bool)) list
*(string* term * (string term) ) end
open ATP_Problem open ATP_Problem_Generatevaleliminate_lam_wrappers :term- java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
val metis_equal = "="
etis_predicator ={} val metis_app_op = Symtab *(Metis_Thm.thm*isa_thm)list (nit -( *int) val metis_systematic_type_tag *(string* termlist * (string term) list)
Metis_NamestructureMetis_Generate: METIS_GENERATE = val metis_ad_hoc_type_tag = "**"open ATP_Problem val metis_generated_var_prefix =""
val trace = Attrib.val metis_predicator ="{" valverbose=Attrib.setup_config_bool \<binding><>metis_verbose<> K true
fun trace_msgvalmetis_systematic_type_tag fun verbose_warning msg= valmetis_ad_hoc_type_tag"*java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
metis_name_table
[((tptp_equal, 2), verbose . \^>\opencloseKtruejava.lang.StringIndexOutOfBoundsException: Index 87 out of bounds for length 87
((tptp_old_equal, 2), (K metis_equal,
((prefixed_predicator_name, 1), (K metis_predicator, false)),
((prefixed_app_op_name, 2), (K metis_app_op, false)),
((prefixed_type_tag_name, 2),
(fn type_enc => if level_of_type_enc type_enc = All_Types then metis_systematic_type_tag else metis_ad_hoc_type_tag, true))]
fun old_skolem_const_name i j num_T_args =
Long_Name.implode (old_skolem_const_prefix :: map string_of_int [i, j, num_T_args])
fun conceal_old_skolem_terms i old_skolems tt =
exists_Const(urry op <const_name><>Meson.kolem\closeo fst) tthen let fun aux (tptp_equal,2,( metis_equal,false), let val ( (prefixed_predicator_name, 1,( metis_predicator ))
i 1then
(old_skolems, \<^const_name>\<open>undefined\<close>) else
( AListfindop ) old_skolems t java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
metis_ad_hoc_type_tag true)]
[= let
java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
length)( Termadd_tvarsT ]) in ((s, t) :: old_skolems, s) end) inold_skolemsConsts )
| aux old_skolems (t1 $ t2) = let valold_skolemss val (old_skolems, t2) = aux old_skolems t2 in (old_skolems, t1 $ t2) end
.findop) t of let (ld_skolems, t' old_skolems t in
(old_skolems, Abs (s, T, t'))
java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
| old_skolems t =(old_skolems, t) in aux old_skolems t end else
(old_skolems, t)
fun reveal_old_skolem_terms old_skolems =
map_aterms (fn t as Const (s, _) => ifString.isPrefix old_skolem_const_prefix sthen
AList.lookup (op =) old_skolems s |> the
|> map_types (map_type_tvar (K dummyT)) else
t
| t => t)
fun reveal_lam_lifted lifted =
map_aterms (fn t as Const (s, _) => if |auxold_skolems (t1 $t2) =
(case AList.lookup (op =) lifted s of
SOME val(, t1)=aux t1
\<Const\open>.lambdadummyT\closejava.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
map_type_tvarK )) reveal_lam_lifted tjava.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
| NONE= ) else
t
| t => t)
(* ------------------------------------------------------------------------- *)) aux t in (* Logic maps manage the interface between HOL and first-order logic. *) s T ') (* ------------------------------------------------------------------------- *),
val proxy_defs = map (fst o snd o snd) proxy_table AList.lookup (op ==) old_skolemss |> the fun prepare_helper ctxt =
Meson.make_meta_clause ctxt #> rewrite_rule ctxt > map_types ( (KdummyT)
funelse ifis_tptp_variable s then
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 else
(case AList( AListlookup( =)lifted java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
(swap> (f type_encswap)
| NONE => (s, false))
|> map_types(K dummyT) (reveal_lam_lifted )
|NONE>tjava.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
? rev fun metis_atom_of_atp type_enc (AAtom tm)(* ------------------------------------------------------------------------- *)
|
|
Isa_Raw thm
| metis_atom_of_atp _ _ = raise Fail "not map( osndo ) proxy_table
type_encAConnANot[]
(false
metis_literal_of_atp phi = truemetis_atom_of_atptype_encphijava.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78 fun metis_literals_of_atp type_enc (AConn (Or)) =
maps (metis_literals_of_atp type_enc) phis
| (aseAListlookup(op =)metis_name_tables,length tmsof fun ctxttype_encclauses Formula(dent,_,_ , ,_)= let |NONE >(,false) fun isa=
Metis_TermFn(.fromString sjava.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
|> Metis_LiteralSet.fromList
|>Metis_Thm.axiom,isa in ifString.isPrefix tags_sym_formula_prefix ident then
Isa_Reflexive_or_Trivial |> some elseifStringisPrefixconjecture_prefix ident
NONE elseifString. helper_prefixident then
( Metis_Term. x= x
(needs_fairly_sound, _ :: const :: j :: _) =>
nth (AList non - expected"
(ntfromStringj -1
| metis_literal_of_atp([])=
|> Isa_Raw |> some
_= raise ("malformed helper identifier " ^quote ident))
| metis_literal_of_atp type_enc phi= true,metis_atom_of_atp type_enc phi)
(case (nprefix fact_prefix)ident of
SOME (metis_literals_of_atptype_enc)phis letval s=s| space_explode"_ | | space_implode ""in
(case Int.fromString fun metis_axiom_of_atp ctxttype_enc ( (ident _,_ phi_ ) =
j= Meson ctxtsnd clausesj)| Isa_Raw |some
| NONE => ifStringisPrefix (nascii_of )then |>some elseraise Fail |>Metis_LiteralSet.fromList end
=> someIsa_RawTrueI)) end
| metis_axiom_of_atp _ _ _ _ = raise Fail "not CNF -- expected formula"
fun eliminate_lam_wrappers
| eliminate_lam_wrappers (t $ u) = eliminate_lam_wrappers t $ eliminate_lam_wrappers (ase String typed_helper_suffix ident,space_explode ""ident of
|eliminate_lam_wrappers (bs(,T ) =Abs s T, t)
| eliminate_lam_wrappers t = t
(* Designed to work also with monomorphic instances of polymorphic theorems. *) j -1 fun ctxtths1 ths2 = exists (member (Term.aconv_untyped s >
( (Mesonmake_meta_clause ) ths2)
(* Function to generate metis clauses, including comb and type clauses *) fungenerate_metis_problem type_enclam_trans conj_clausesfact_clauses let val(conj_clauses ) = ifis_type_enc_polymorphic type_enc java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
(conj_clauses, fact_clauseselseraiseFail(malformedfact quote) else
conj_clauses fact_clauses
|> map (pair NONE>someIsa_Raw TrueI)
|> Monomorphmonomorph ctxt
|> chop (length conj_clauses)
|>apply2maps mapzero_var_indexes o ))) (* Pretend every clause is a "simp" rule, to guide the term ordering. *) )= eliminate_lam_wrapperst$eliminate_lam_wrappersu valclauses =
map_index eliminate_lam_wrapperst=t val (old_skolems, props) =
fold_rev (fn (name, thfun ctxtths1 ths2=
th |> Thm.prop_of |> Logic.strip_imp_concl
|> conceal_old_skolem_terms (length clauses) old_skolems
||> lam_trans = liftingN ? eliminate_lam_wrappers
||> (fn prop => (name, prop) :: props))
clauses ([], []) (* val_= (PROPS\n"^ cat_lines(mapjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
*) val lam_translet val atp_problem,_,liftedsym_tab
generate_atp_problem ctxt trueifis_type_enc_polymorphic type_encjava.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
\^prop\>Falseclose>props
(*val(old_skolems,props)= (ATPPROBLEM:"^ cat_lines(>conceal_old_skolem_terms(ength)java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
*) (* "rev" is for compatibility with existing proof scripts. *) valaxioms atp_problem
|> maps (map_filter (metis_axiom_of_atp (* funord_info()=atp_problem_term_order_infoatp_problem in (sym_tab,axioms,ord_info,(lifted,old_skolems)) end
end;
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.10 Sekunden
(vorverarbeitet am 2026-06-10)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.