("-inst" Quant_Inst),
* (* some proof rules include further information that is currently dropped by the parser *) Hypothesis)
signaturetrueLemma sig (*proof rules*)nit", datatype z3_rule =
True_Axiom | Asserted | Goal | Modus_Ponens"goal", Goal
Transitivity_Star(mpModus_Ponens "Reflexivity),
("ymm" Symmetry),
Commutativity | Def_Axiom | Intro_Def | Apply_Def | Iff_Oeq | Nnf_Pos | Nnf_Neg (("",Transitivity,
Cnf_Star | Skolemize | Modus_Ponens_Oeq | Th_Lemma ofstring ("(def-axiom",)java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
val is_assumptionmp Modus_Ponens_Oeq valjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
Hypothesis - ) ", Nnf_Starjava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
is_assumptionGoal =
rule:|is_assumptionfalse
premsis_assumptionjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
aseookup
fixes: stringlist,SOME >
:
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
. >termSymtab - list->
Proof.context -> z3_step list the. eq_rule)
datatypez3_node {
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
open SMTLIB_Proof z3_rule
(* proof rules *)
datatype z3_rule =
True_Axiom | | |Modus_Ponens|Reflexivity |Symmetry | |
Transitivity_Star | Monotonicity | Quant_Intro | Distributivityin(.get_first eq_rule java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 14
Rewrite | Rewrite_Star | Pull_Quant | Pull_Quant_Star | Push_Quant | Elim_Unused_Vars |
Dest_Eq_Res | Quant_Inst | Hypothesis | Lemma | Unit_Resolution | Iff_True | Iff_False |
Commutativity | Def_Axiom | Intro_Def | Apply_Def | Iff_Oeq | Nnf_Pos | Nnf_Neg | Nnf_Star |
Cnf_Star | Skolemize | Modus_Ponens_Oeq | Th_Lemma ofstring (* some proof rules include further information that is currently dropped by the parser *)bounds: string }
val rule_names
("(
("goal",java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
("mp", Modus_Ponens),
("refl", Reflexivity),
("symm", Symmetry),
("trans", Transitivity),
rule: z3_rule,
("monotonicity", prems Z3_Node{d =id rule =rule prems = premsconcl = bounds bounds
(bounds: listjava.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
("",Distributivity,
("and-elim", And_Elim),
("not-or-elim", Not_Or_Elim),
("ewrite", Rewrite)
("rewritejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 let
("pull- java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
("push-Symbol.paces(2* pth) ^
("elim-unused", Elim_Unused_Vars),
("commas
("quant-inst", Quant_Inst),
("hypothesis", Hypothesis),
("lemma", Lemma),
("unit-resolution", Unit_Resolution),
("-true" Iff_True),
("iff-false",Symbolspaces2*depth
( "[""" implode_space bounds
(defaxiom,Def_Axiom),, "intro-def, map prefix "\"ostr depth 11) )java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 62
("apply-def", Apply_Def),
("iff~"
("nnfdatatype = Z3_Stepof {
("nnf-neg", Nnf_Neg),
("nnf*d:int,
("[tring_of_int ,
("sk", Skolemize),
("mp~", Modus_Ponens_Oeq)]
funrule_of_string name map" ( java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
mes:, case,:,
|:list
| ,
| string_of_rule fun = in theis_fix_stepbool
(* proofs *)
z3_node
id: intPrnode =
rule: z3_rulejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
prems ( pairupdate_bindingnode
conclargs
bounds: string- . : =
fun mk_node r=raiseSMTLIB_PARSEbad
node_of =java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
string_of_node
(lookup_binding of java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
>java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
.(depth^
enclose "{"java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 0
parse.)java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
string_of_rule rule_of
java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
txt]
cat_linesmap'eclare_fun -) injava.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
datatype
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
:
prems fundest_nameval(, cx) =parse tsempty_contextctxttyps funs
fixes: e, ctxt_of cx)java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
java.lang.StringIndexOutOfBoundsException: Range [2, 0) out of bounds for length 0
fun mk_step 3tep{ =d,,rule=, prems prems concl=concl =fixesjava.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
is_fix_step = subst_of tyenv
(* proof parser *)java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
fun rule_ofval Tsjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
| rule_ofval =type_of cx ty
(casein parse ts declare_funname ( Term.map_atyps_same
SMTLIB proofp]: _) =node_of cx
| _ => parse' ts _= raise SMTLIB_PARSE("java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 0
fun node_of pjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 val( . env of
SMTLIB (node cx)= parse tsempty_contextctxt typs funs
( in |NONE>raise Fail " producedbyZ3 failed:^
ode . ( msg>error(parsingerror " ^ msg)
| Tree p' =>
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
>
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
| _ => raise
MTLIBS[Symlet,.S bindings p]java.lang.StringIndexOutOfBoundsException: Range [57, 56) out of bounds for length 56
with_bindings(mapdest_binding bindings)node_of pp java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62 inVartab.add [ end let valfun Termmap_types(substTs_same ) ' end val r = rule_of (\^>\<open>.All( =)substjava.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60 in
cx
|> fold_map node_of ps
||>> `(with_fresh_names (term_of p))
|fun subst_types ctxtenvbounds tt = end let
fun dest_name (SMTLIB.Sym name) = name
_namet =raise SMTLIB_PARSE " name" tjava.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
fun dest_seq (fun(aseSymtab.lookup envboundjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
|dest_seqt = raiseSMTLIB_PARSE ( Z3format, tjava.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
fun parse "heq1 q2andalsoT1= T2 then
parse (MTLIBS[SMTLIB.Sym let val nameapply2Termsubst_bound (t java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64 val = type_ofcx) (dest_seq tys
NONE in parse' ts (declare_fun valobjTs=map objT_of
parse(S[MTLIB"roof, : __cx= node_of p
| parse in Term. (. apfst HOLogic.mk_not) with_quantopp_quant i (1, t2))) with_quantopp_quant i ( t2)
fun let val ts =dest_seq(|dest_quant_pairit1, )= with_quant eq_quanti (t1t2 val (, cxcx) = parse ts(eq_quant(<>\<Ex<>_)(<onst_name>openHOL.Exclose_) java.lang.StringIndexOutOfBoundsException: Index 101 out of bounds for length 101
(node,ctxt_ofcx end handle SMTLIB.PARSE (l, msg) =
= TERMlift_quant,])
(* handling of bound variables *) match_types ctxtpat|opp_quant false
fun subst_of tyenv = letfun add (ix, (S, T | Pattern.first_order_match (java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 in Vartab patifpredq1 andalsoT1 = then
fun substTs_same subst = letval applyT = types ctxtpat) valt=Var ( i ) in Term.map_atyps_same applyT end
fun subst_types ctxt env bounds t = let valmatch = Sign.typ_match (Proof_Context.theory_of ctxt)
fun objT_of bound =
(case Symtab.lookup env bound of
EobjT>
| NONE => raise Faildest_all( +1) ( fundest_quant_pair (<erm<open>.ot\<>t1,t2) java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
val t' ant_pair i (t1, t2 = with_quant eq_quanti (, t2) mapsndstrip_qnt_vars^>\<openPure.\<close tt' val objTs = map objT_of bounds val subst =subst_offoldmatch (1,t2 HOLogic.(HOLogic (t1t2java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65 in
funeq_quant (^>\>HOL
(ase (strip_match ty
| eq_quant _ _ = falsern (theory_ofctxt pat,objjava.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72
fun with_quant if letval t1(.etapply (,Var " ), T))) in elsejava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
with_quant__ =java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
fun subst= let else
funvalt= ctxtin (Symtabmakebs~ mapapplyTpatTs)end
(case dest_quant_pair val = id rule t
SOME (
| NONE ifis_fix_rule ruleprems then
fun match_types ctxtfun has_step (tabNONE= rec_apply env falsesteps
emptyVartabempty)
|> rec_applyenv rule ids bounds java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
funjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
match_types patobj
SOME (tyenv, _) =>
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
fun typs op=)uant_Intro,Nnf_Negruleandalso =
(odejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
|i t= (, t)
fun dest_alls t = dest_all (Termifhas_stepsteps id
fun match_rule ctxt env (Z3_Node {bounds = bs', concl = t',else let valt'' =singletonVariable.olymorphicctxt t' val (i, objvalt =subst_typesctxt envbounds concl in
(casetry e b = fold_map (lin_proof ctxte) #-addb ifis_fix_rulerule prems then
| SOME subst => let valapplyT=Samecommit(substTs_same subst) val patTs = map snd ( inSOME(Symtab.make(bs ~ mapapplyT patTs) end) end
(* linearizing proofs and resolving types of bound variables *) falsesteps
fun has_step (tab linearize ctxtnode =
fun add_step id rule bounds concl is_fix_step ids ( let in(id,(Inttab.updateid ) tab,step :: sts) end
fun is_fix_rule rule prems =
member (op =) [Quant_Intro,java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
fun lin_proof ctxt env (Z3_Node {id, rule, prems, concl, bounds}) steps = if has_step stepsid thenid steps else
; val t = subst_types ctxt env bounds concl val add = add_step id rule bounds t fun rec_apply e b = fold_map (lin_proof ctxt e) prems #-> add b in if is_fix_rule rule prems then
(case match_rule ctxt env (hd prems) bounds t of
NONE => rec_apply env false steps
| SOME env' => rec_apply env'true steps) else rec_apply env false steps end
fun parse typs funs lines ctxt = letval (node, ctxt') = parse_proof typs funs lines ctxt in (linearize ctxt' node, ctxt') end
end;
Messung V0.5 in Prozent
¤ 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.0.9Bemerkung:
¤
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.