Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/include/linux/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 5 kB image not shown  

Quellcode-Bibliothek z3_proof.ML

  Sprache: SML
 

(
    |Def_Axiom|Apply_Def|  |  | Nnf_Neg | Nnf_Star |" ),

("-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 of string  ("(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: string list,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 of string
  (* 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)]

fun is_assumption         string_of_rulerule
  | "" "]implode_space bounds
  | is_assumption Hypothesis = true
  ||is_assumption          .tring_of_term  concl
  | is_assumption Skolemize: }
  | 

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 =
  let fun 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 =
  let val applyT = types ctxtpat)         valt=Var ( i )
  in Term.map_atyps_same applyT end

fun subst_types ctxt env bounds t =
  let
    val match = 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

     (, )=  tyenvconst_namePureclose)
  | | >strip_match ( ~mapapplyTpatTs)) end)


fun with_quant
      if
        let val 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

fun valt=  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
    (case try  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 linearize ctxt node =
  rev (snd (snd (lin_proof ctxt Symtab.empty node (Inttab.empty, []))))


(* overall proof parser *)

fun parse typs funs lines ctxt =
  let val (node, ctxt') = parse_proof typs funs lines ctxt
  in (linearize ctxt' node, ctxt'end

end;

Messung V0.5 in Prozent
C=85 H=97 G=91

¤ 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:  ¤

*Bot Zugriff






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

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.