Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/Isabelle/HOL/Tools/ATP/   (Beweissystem Isabelle Version 2025-1©)  Datei vom 16.11.2025 mit Größe 31 kB image not shown  

Quelle  atp_proof.ML   Sprache: SML

 

    *signatureATP_PROOF
sig a atp_typeaATP_Problematp_type
    Author:typea )atp_term=(a b .
Author      ,  Rennes

  of proofs TSTP syntax
*)

signature ATP_PROOF =
sig
  type 'a atp_type = 'a ATP_Problem.atp_type
  type ('a, 'b) atp_term = ('a, 'b) ATP_Problem.atp_term
  type atp_formula_role = ATP_Problem.atp_formula_role
  type ('a, 'b, 'c, 'd) atp_formula = ('a, 'b, 'c, 'd) ATP_Problem.atp_formula
  type 'a atp_problem = 'a ATP_Problem.atp_problem

  exception UNRECOGNIZED_ATP_PROOF of unit

  datatype atp_failure =
    MaybeUnprovable |
    Unprovable |
    GaveUp |
    ProofMissing |
    ProofIncomplete |
    ProofUnparsable |
    UnsoundProof of bool * string list |
    TimedOut |
    Inappropriate |
    OutOfResources |
    MalformedInput |
    MalformedOutput |
    Interrupted |
    Crashed |
    InternalError |
    UnknownError of string

  type atp_step_name = string * string list
  type ('a, 'b) atp_step =
    atp_step_name * atp_formula_role * 'a * 'b * atp_step_name list

  java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
  string
  val alt_ergoN z3N:
  val cvc5Nval zipperpositionN:string
  valaleN : string
  val iproverN:string
  val leo2N : string
  val leo3N : string
  val satallaxN : string
    :string
  val vampireN : string
  v agsyhol_core_rule:string
  val waldmeisterN : string
  val z3N : string
  val zipperpositionN : string
  val remote_prefix : string
  val dummy_fofN : string
  val dummy_tfxN : string
  val dummy_thfN : string

  val agsyhol_core_rule : string
  val spass_input_rule : string
  val spass_pre_skolemize_rule : string
  val spass_skolemize_rule : string
  val zipperposition_define_rule : string

  val short_output : bool -> string -> string
  val string_of_atp_failure : atp_failure -> string
  val extract_known_atp_failure : (atp_failure * stringlist -> string -> atp_failure option
  val extract_tstplike_proof_and_outcome :
    bool -> (string * stringlist -> (atp_failure * stringlist -> string
    -> string * atp_failure option
  val is_same_atp_step : atp_step_name -> atp_step_name -> bool
  val scan_general_id : string list -> string * string list
  val parse_fol_formula : string list ->
    (stringstring atp_type, (stringstring atp_type) atp_term, string) atp_formula * string list
  val clean_up_atp_proof_dependencies : string atp_proof -> string atp_proof
  val map_term_names_in_atp_proof : (string -> string) -> string atp_proof -> string atp_proof
  val nasty_atp_proof : string Symtab.table -> string atp_proof -> string atp_proof

  val skip_term : string list -> string * string list
  val parse_hol_formula : string list ->
    ('a, 'b, (stringstring ATP_Problem.atp_type) ATP_Problem.atp_term, 'c) ATP_Problem.atp_formula *
    string list
  val dummy_atype : string ATP_Problem.atp_type
  val role_of_tptp_string : string -> ATP_Problem.atp_formula_role
  val parse_line  valspass_input_rule:string
   string list>((ring*stringlist *ATP_Problem.atp_formula_role *
    (string'b, (string, string : Mathias Fleury,ENS ennes
      c ATP_Problem.atp_formula
    * string * (string * 'd list) list) list * string list
  val core_inference : 'a -> 'b -> ('b * 'list
 ') ATP_Problem..atp_term, f ATP_Problem.atp_formula * 'a * 'g list
  val vampire_step_name_ord : (string * 'a) ord
  val core_of_agsyhol_proof    :  - string
   string_of_atp_step:(' :(atp_failure * string) -> string > atp_failure option

  val atp_proof_of_tstplike_proof :ool - stringstring- -java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
type',val : -> string
  :string>string ' .tp_problem
    (,svnasty_atp_proof:stringSymtabtable   atp_proof - 
endjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

 valparse_hol_formula string -java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
struct

open ATP_Util
open     list

valval  
  =alt_ergo parse_line  -   * .  -
valcvc5N "java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 20
val eN core_inference:'a ->'b- java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
valiproverN "
val leo2N = "leo2"
valleo3N="java.lang.StringIndexOutOfBoundsException: Range [17, 6) out of bounds for length 67
valvaljava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
val spassN="
valvampireN cvc5N 
val veritN = "verit (string ,(,eN java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
valjava.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
  = satallaxNjava.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
v spassN  java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
remote_prefix =java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29

  java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
v=verit
val v :java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25

val  l=zipperposition
spass_input_rule=""
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
dummy_thfN  dummy_thf
val  val java.lang.StringIndexOutOfBoundsException: Range [6, 0) out of bounds for length 0

exception UNRECOGNIZED_ATP_PROOF of unit

datatype atp_failure =val core_inference  a>-b    *atp_formula_role
   |
  Unprovable
  c',(string e ATP_Problem. fATP_Problem. java.lang.StringIndexOutOfBoundsException: Range [79, 78) out of bounds for length 90
   |
  ProofIncomplete |
  ProofUnparsable |
| () java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
   java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
   java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  (  output
  S (, tail)=>
case "n of
  Interrupted |
  Crashed |
  InternalError |
  UnknownError of string

fun       ifend_delim = " hen
  if verbose then
    (stringtail
        
    ""

fun from_lemmas           SOME(body, _ ;
  |from_lemmasss=   " implode_space(Try.erial_commas and(mapquote ))

fun string_of_atp_failure MaybeUnprovable = "Problem maybe unprovable"
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  |java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  | vc5N ""
  | string_of_atp_failure ProofIncomplete = "Proof incomplete"
   string_of_atp_failureProofUnparsable="roofunparsable"
  | string_of_atp_failure (UnsoundProof (false, ss)) =
    Derived lemma "\""^from_lemmas^
    ", likely due to the use of an unsound type encodingvalleo2Npply2(fn ss>StringisSubstringsoutput)(unzip)of
   | string_of_atp_failureend_delim)=> (begin_delim ) java.lang.StringIndexOutOfBoundsException: Index 91 out of bounds for length 91
vv =java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
    ,java.lang.StringIndexOutOfBoundsException: Range [17, 15) out of bounds for length 62
   string_of_atp_failure waldmeister"
   string_of_atp_failureInappropriate=java.lang.StringIndexOutOfBoundsException: Range [3, 1) out of bounds for length 14
|string_of_atp_failure   Outresources
  | string_of_atp_failure
  | MalformedOutput " "
    java.lang.StringIndexOutOfBoundsException: Range [47, 26) out of bounds for length 67
   tring_of_atp_failure "
  |   | string_of_atp_failure"
   string_of_atp_failure(UnknownErrors (, SOMEProofIncomplete= )
    "Prover errorval (, )= ("java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45

datatype SOME verbose)
  |  as("M java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
     (,tail >
    (case first_field "\n" tail of
      SOMEInappropriate|_=( )
      end_delim java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
      '
Crashed ,(,) java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
        short_output output
           (
        | NONE> ")
     val  apply2  in
  = )

(* Splits by the first possible of a list of delimiters. *)  java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
fun extract_tstplike_proofjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  (   Unprovable= Problemjava.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
ME = (, )java.lang.StringIndexOutOfBoundsException: Range [91, 86) out of bounds for length 91
   _   Proof incomplete"

extract_known_atp_failurefun extract_known_atp_failure known_failures"
  known_failures ''aatp_proof=  lemma\alse" java.lang.StringIndexOutOfBoundsException: Range [50, 49) out of bounds for length 52
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  |>   | string_f_atp_failurewith "java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0

fun extract_tstplike_proof_and_outcome verbose java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 48
  |Scan $"$ Scanany1.is_letdig (^oapply2 )java.lang.StringIndexOutOfBoundsException: Index 85 out of bounds for length 85
      |string_of_atp_failureOutOfResourcesOutof java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
      proof_delims
  java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
    (case   | naccum( s  '=
      _,  )=>(" (java.lang.StringIndexOutOfBoundsException: Range [40, 39) out of bounds for length 44
a,java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
in  accumsselse)s: accum) java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
 _'=java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
    |(case)java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
    | (tstplike_proof
  end

tbsp;extract_known_atp_failure known_failuresunparsable

type 'a atp_proof Derived lemma "alse" from_lemmas ^

(**** PARSING OF TSTP FORMAT ****)

(* Strings enclosed in single quotes (e.g., file names), identifiers possibly starting
   with "$" and possibly with "!" in them. *)

valscan_general_id
  $' - .repeat ~$"" - $ ' > java.lang.StringIndexOutOfBoundsException: Range [2, 0) out of bounds for length 0
|  repeat($$" -Scan.Symbol.is_letdig>>op o implode)
    -- Scan.optional (Scan.repeatval       " of "
    >> op ^

fun   | string_of_atp =  output
let
    fun skip _ accum [] = (accum, [])
       skip accum ssas:: ss)=
        if (s = "," orelse s = ".") andalso n (_,SOMEProofIncomplete = ", | string_of_atp_failure (UnknownError ) =
          (ccum ss)
        else if member (op =) [")""]"] s then
iff n =0then(accum ss else  ( -)s: accum'
        else if member (op =) ["(""["] s then
          skip (n + 1) (java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 21
else
          skip n (s :: accum       ( tail)java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
  intailjava.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
> implode x
  end
and skip_terms x = (skip_term ::: 

datatype source =
          | NONE =")
 Inference_Sourceof * 
| Introduced_Source of string
|java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

val dummy_phiend
valdummy_atypel extract_tstplike_proofoutputjava.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42

(* "skip_term" is there to cope with Waldmeister nonsense such as "theory(equality)". *)  known_failures =
java.lang.StringIndexOutOfBoundsException: Range [19, 3) out of bounds for length 24
parse_inference_source> snd
   || scan_general_id --let  java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
let
  (Scan.repeats (Scan.option ($java.lang.StringIndexOutOfBoundsException: Range [7, 4) out of bounds for length 75
 filter_out( op )theory)
and in
  (Scan.this_string  (( , )f
    (_ SOMEProofIncomplete= ",NONE)
-| Scan     --| Scan.option  q)
and parse_inference_source x =
(can inference|-$ ( |-  end
   -|  -|  $  SOME( ( verboseoutput)java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
   -- parse_dependenciesjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
and parse_introduced_source x =
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
   - .option$ , | ) --| $")x
andparse_define_source  ( )(, )=s1s2
(.  (Scan.this_string
andarse_source 
  (parse_file_source >> File_Source >> SOME
parse_inference_source  >>
   (* The" is ' , java.lang.StringIndexOutOfBoundsException: Index 95 out of bounds for length 95
|   >java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
| >fn   Inference_Source" s](
||skip_termONE > LESS

|(, _ = java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31

  x=scan_general_id           )
and   java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

fun parse_type elseifjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
   w
    valelse
        fn_ )=
    || (scan_general_id -- Scan.optional ($$ "{" |-- parse_classes --| $$ "}") [])
        -- Scan.optional ($$ "(" |-- parse_types --| $$ ")") []
       >> AType)
   -- Scan.option (($$ tptp_app || $$ tptp_fun_type || $$ tptp_product_type) -- parse_type)
  >> (fn (a, NONE) => a
       | (a, SOME (bin_op, b)) =>
         if bin_op = tptp_app then
           (case a of
             AType (s_clss, tys) => AType (s_clss, tys @ [b])
           | _ => raise UNRECOGNIZED_ATP_PROOF ())
         else if bin_op = tptp_fun_type then
           AFun (a, b)
         else if bin_op = tptp_product_type then
           AType ((tptp_product_type, []), [a, b])
         else
           raise Fail "impossible case")) x
and parse_types x =
  (parse_type ::: Scan.repeat ($$ "," |-- parse_type)) x

(* We currently half ignore types. *)

fun    "[shen
  (   ) :)ss
        java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
| >  >  op)t)java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
   java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
|$ "-
    o*java.lang.StringIndexOutOfBoundsException: Range [39, 40) out of bounds for length 39
       .$<-  |$" java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
> fn- - $"-$)"java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
       if  =(  )
          (  ) )-|$ ) 
          java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
A  (s) ))x
and    | -  >) 
and java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
-  >) 
 parse_fol_termsx=(java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 25

fun parse_fol_atom| >  efine_Source   -Scan ( ,-java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
  parse_fol_term
    Scan.option parse_inference_source
> fn,   >> (fn (u1, NONE> fn >  " s))(* for E *)
        |-|skip_term  ,- - $,-  [
          AAtom  -|$] - $) x

(* TPTP formulas are fully parenthesized, so we don't need to worry about operator precedence. *)fargs (arg  => ATerm ((tptp_app, []), [f, arg])) args f
fun parse_fol_literal parse_source=
  (. $ ) >)
      --|  >Inference_Source java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
| parse_fol_quantified_formula
| parse_fol_atom
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 0
 x
    x= java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
-Scan (. 
                    
                    ||$ (-parse_type $"
| . tptp_if
                    || $$ tptp_or
||$                      - $"|-skip_terms- $""-|$": -java.lang.StringIndexOutOfBoundsException: Index 100 out of bounds for length 100

        | (    || (scan_general_idScan       Scan $ "- )]java.lang.StringIndexOutOfBoundsException: Index 82 out of bounds for length 82
-Scanoption   |$  |$-N) 
          |aSOME,)>
          else if c = tptp_not_iff then           else if c = tptp_not_iff then mk_anotifbin_op  ifbin_op=java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
 if   java.lang.StringIndexOutOfBoundsException: Range [44, 45) out of bounds for length 44
           if    phi1
          elseifc    a,)
else  " )java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 48
and and parse_typesraise " ) x
  (($$ tptp_forall >
   --| $$   xjava.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
   >(    ( )]=if     java.lang.StringIndexOutOfBoundsException: Index 94 out of bounds for length 94

  java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
ource-option"-java.lang.StringIndexOutOfBoundsException: Range [79, 78) out of bounds for length 85

val waldmeister_conjecture_name = "conjecture_1- option( | )

   tm1java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
let
fun (java.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 96
SOME)=
        if typ1 <>  parse_fol_arg-        Scanoptional$" --parse_types -| >)]
       java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
letal lin
            SOME
            do_term_pair java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
            |> ((parse_fol_arg-ScanScan(. ( )-$ -)
| ONENONE
        |u1  neg))=java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
    
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
          end
|do_term_pairATerm(,)  ATerm(,,)(subst
        (case apply2 u1SOMEneg))=
          (,)pnot>lengthjava.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
|
            |parse_fol_atom
           NONE=
  d x=
else
| arse_fol_quantified_formula
           java.lang.StringIndexOutOfBoundsException: Range [15, 1) out of bounds for length 20
SOMEsubst. java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
          else
            NONE
        | _ => NONE| $)-)
  a java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
                       else Kif tptp_implies  phi1java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
      | do_term_pair _ _               tptp_not_iff  mk_aconn hi1           .
  in
    SOME                  phi1|$  -parse_fol_formula
end   >( (   mpossible quote 

fun is_same_formula comm subst (          if c = tptp_implies then mk_aconn  ($tptp_forall>  |$ AIffphi1
th java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
    >( (,) )=AQuant    c   mk_aconn java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
   comm A c1phis1AConnc2 )java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72
    c1 
|  substelseraise (    c)java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66
    (($$ tptp_forall  |$$ tptp_exists>  )
    comm-$: 
          typ1typ2 length   then
    ____ java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35

 >   > n length -ls1)
           >)
|java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

fun find_formula_in_problemelseK)
  java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
  #> map_filter (matching_formula_line_identifier phi)
java.lang.StringIndexOutOfBoundsException: Range [16, 2) out of bounds for length 22
  #> the_default []

fun commute_eq           .lookupopsubstof
_= ""

   >
ljava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
  |role_of_tptp_stringelse)
|role_of_tptp_stringSOME)java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
  |SOMEjava.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
  | role_of_tptp_string| >)>iflength=
  | plain=java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
| =
  | role_of_tptp_string _ = Unknown

fun parse_one_in_list xs =
|java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4

val tptp_literal_binary_opsjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
valtptp_nonliteral_binary_ops
  [tptp_andq1 2    ength java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51

fun parse_literal_binary_op x =
  (parse_one_in_list tptp_literal_binary_ops
   >( = if    equal )x

fun parse_nonliteral_binary_op x =
  (parse_one_in_list tptp_nonliteral_binary_ops
   >> (fn c     comm AAtomtm1 (equaltystm11]tm2java.lang.StringIndexOutOfBoundsException: Range [98, 99) out of bounds for length 98

val  =
parse_one_in_list true )java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25

val parse_hol_quantifier =
  > ' java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61

funmk_ho_of_fo_quantjava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
if tptp_foralltptp_ho_forall
  else            else # try(  o)
  else if  > ]
else q=tptp_hilbert_thetptp_hilbert_the
  else raise Fail| commute_eq_=raiseFailexpected"

funremove_hol_app java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
ifs=  then
 of
  ""args1 args2
| (,phi ): > AAbs ( )java.lang.StringIndexOutOfBoundsException: Range [76, 75) out of bounds for length 83
    else
  | plain java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
,) )java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
    AAbs ((var, remove_hol_app

fun parse_hol_typed_var  ,]
  (  =
     -Scan Scanjava.lang.StringIndexOutOfBoundsException: Range [38, 5) out of bounds for length 5
| $(|- - $)x

fun parse_simple_hol_term>fn =" (,_ >(,) @ )
   -java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    (      ptp_equal"" )java.lang.StringIndexOutOfBoundsException: Range [56, 57) out of bounds for length 56
>fn s,)>
          fold_rev
            (fn (var, ty) => fn r =>
 tptp_ho_foralltptp_ho_exists,]
( java.lang.StringIndexOutOfBoundsException: Range [0, 1) out of bounds for length 0
                      mk_app (q |is_same_formula   false


            ys t)
  | Scanq  then
  java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [58, 52) out of bounds for length 65
  || parse_hol_quantifier         then
  |$ ( -  - $)
|Scantptp_not>
 > java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
  ||   | remove_hol_app (AAbs ((var,)
and x
  java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
>fn  definition=Definition
and      -Scan(  "" 
parse_applied_hol_term.parse_literal_binary_op )
    >> (fn (t1, c_ti_s) =>
          fold (fn (c, ti) => fnjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
   
           
> ( (, c_ti_s >
          java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
            val cs = mapjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
val    [,t]
            val (tis_but_k,java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 72
          java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
parse_one_in_list
ral_id-.ption$java.lang.StringIndexOutOfBoundsException: Range [54, 53) out of bounds for length 69


funtptp_forall,tptp_lambda,java.lang.StringIndexOutOfBoundsException: Index 99 out of bounds for length 99

fun parse_tstp_hol_line
Scanthis_string-  java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
  -- Symbol. fn,tis>fold  => left> leftti  t1)x
     (if full then parse_hol_formula || skip_term >>  = and  java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
     -- fun  ATerms y,)java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
- $.
        (argsjava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
      
valrole>( t1)>
val name,role ,)java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
  of
SOMEFile_Source_SOME)java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
ifrole  then
              (numin
    AAbs(,) ) java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
(num [],phi,", ]
          |java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
          SOME() = num] ,  []
--  . (. ""java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
          |funparse_hol_formula  parse_hol_term#>remove_hol_app>AAtomx
      in( -($"["|- parse_hol_typed_var-- $ "]" -|
        name' phi, , (rpair[]) deps)java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
      java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24

fun     - --$ ""
java.lang.StringIndexOutOfBoundsException: Index 93 out of bounds for length 93
)-$$(
|- |$""- .can_ascii_id-|$ ,"
    - (if fullthen          (, ,'ruledeps) =
    - SOME (ile_Source(, )>
   >> (fn (((num, role0), phi), src) =>
          let
             role= then
              (num,map fst parse_applied_hol_term x 
              (* Waldmeister isn't exactly helping. *)
              case of
                SOME (File_Source (_, SOME  =
                if    
                   (case &),, , ,[])
and parse_hol_term x =
  (parse_literal_hol_term[s ') =
    >> (fn (t1,                      (num )
          let
            val cs = map fst        [(name,role,phirule maprpair[] )java.lang.StringIndexOutOfBoundsException: Index 55 out nbsp;in

             &n/span> tis=  :  mapsnd c_ti_s
            val (tis_but_k, tk) = split_last tis
          in
            fold_rev (fn (ti, c) => fn right => mk_apps (mk_simple_aterm c) [ti,  (Scanelse
              (num [],),
          end)) x

fun parse_hol_formula x = (parse_hol_term #>> remove_hol_app #>> AAtom) x

fun parse_tstp_hol_line full problem =
this_string-$( -scan_general_id$,
-.scan_ascii_id-- $""-java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
(fullparse_hol_formula|skip_term>K  skip_term> K dummy_phi
     -- parse_tstp_extra_arguments --| $$               _=>((num[num]),phi,role", [)java.lang.StringInde mk_step () = (name-  .
 span>
  --|$$""
  >> (fn ((num role0 phi          java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
      let
        val role =                             casesrc
val (, phi,role               case phijava.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
f
            SOME (File_Source (_, SOME s)) oblem (k_anotphi problem of
            if role = Definition then
           &|          &nbnbsp;fstjava.lang.StringIndexOutOfBoundsException: Index 68 out bsp;java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
problem
  || parse_tstp_hol_line full problem

(**** PARSING OF SPASS OUTPUT ****)

*  returns  ofthe "." Wey.*
val   -|$ . -end

parse_spass_annotations
|.tptp_tff  "

(* We ignore the stars and the pluses that follow literals in SPASS's&n[(name(*SPASS clausereferencesof the formxy" We ignore "" *java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71
     )

fun parse_tstp_fol_line
  (val parse_spass_annotations =
      || Scanthis_string ) -- $$"()
    |-- scan_general_id --| $$ "(* We ignore the stars and the pluses that follow literals in SPASS's output. *)
    -- (if full then parse_fol_formula || skip_term >> K dummy_phi                   (num [java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
    -- parse_tstp_extra_arguments --| $$ ")" --| $$ ". ((numjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
   >( (numrole0,src
          let
             role role_of_tptp_string role0
            val (              | SOME(Introduced_Source ) => ((num[) phi),Definition, rule, [])
              (* Waldmeister isn't exactly helping. *)
              (case src
SOME _SOMEScan  - $ - -|$>
      .repeat
                   > (              _>((num[num], phi,role",[)
                     (* Waldmeister hack: Get the original orientation of the equation to avoid
                        confusing Isar. *)

[(s '] =java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
                     ((num, [s]),
                      phi            (caserole of
                   | _ => ((num, []), phi))
                
                   (                     |                  Vampire  *
                ," [java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
              | SOME (File_Source _               >mk_step (]
                ((nummap (find_formula_in_problem problem),phiend
             java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 0
              | SOME (Introduced_Source rule) =>  arse_tstp_fol_line problem
_Source>(num[, phi,Definitionzipperposition_define_rule[]java.lang.StringIndexOutOfBoundsException: Index 100 out of bounds for length 100
              | _ => (((num, [num]), phi)

            fun mk_step (java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
          ase
            [(case role' of
=>
               (Scan.optional $$"" |--Scanrepeat    : :_=>SOME " :: <" >"
                 AAtom(* We ignore the stars and the pluses that follow literals in SPASS's output. *)
                  (* Vampire's equality proxy axiom *)funparse_decorated_atom =
(nameDefinitionphirulemap (rpair [)deps
             |_ > mk_step()
             | _ => mk_step (ATerm(c_False,[) ])
          end)

funfun  x java.lang.StringIndexOutOfBoundsException: Range [25, 26) out of bounds for length 25
  parse_tstp_fol_line     -Scanrepeat -- $"java.lang.StringIndexOutOfBoundsException: Range [50, 5) out of bounds for length 5
  || parse_tstp_hol_line full problem

(**** PARSING OF SPASS OUTPUT ****)

(* SPASS returns clause references of the form "x.y". We ignore "y". *) ATerm(,java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
funx=

val parse_spass_annotations =
  Scan.optional ($$ " - Symbol.scan_ascii_id - parse_spass_annotations --|$$""-- AAbs (fs ty,m tm,mapmap_termargsjava.lang.StringIndexOutOfBoundsException: Range [68, 67) out of bounds for length 67


fun parse_decorated_atom x =
( - .repeat($ "" |$ ""|$$ |  )=( java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50

fun (,]   ATerm(c_False,],[)java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
   

=
  (.repeat -- $$"" - $"|"
-Scan  -- $- - $""
     -- Scan.repeat parse_decorated_atom
   >

  notSymtab )| een , , )  )=
  Scan.option,,u,m fn java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

(* Syntax: <num>[0:<inference><annotations>] <atoms> || <atoms> -> <atoms> .
           derived from formulae <ident>* *)

fun parse_spass_line x =
( -  -|$""- . .is_digit|$""
     - Symbol -parse_spass_annotations-|$$""-  -|$ ."
-Scan (.this_stringderived formulae
                     |-- Scan|map_term( ((,),), args) =
> fn(num),v ' .tptp_string_of_role java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
          [(        AConn,phis  (  map_formula)

fun core_inference inf fact = ((fact    val names'

fun parse_line full java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds fut

    fun fold_extract accumexists_name_in_formulapred
      fold_extractpool Symtabp   
        
           n
if.  0"linethen
            (* This pattern occurs in the "info()" comment of an E clause that directly emerges from
               the conjecture. We don't want to tell the user that they can prove "P" by assuming
               "P". *)

accum
          else
let
               clean_line=
                (case space_explode "#" line of
                  [] => ""
                | before_hash :: _ =|  (ine)=
            in
               (tp  java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
                    val names' = string_of_liststring_of_atp_step_nameline
                if local_prover =    "("^name^ "" patternin")"comment  clause e 
                  fold_extract accum lines"Pe
                
                  java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
              | _ => fold_extract = "
            end
        else
          fold_extract accum lines
   atp_proof_of_tstplike_proof__" ]
    fold_extract [] (split_lines output)
  end


96%

.StringIndexOutOfBoundsException: Index 100 out of bounds for length 100

  end

fun parse_proof full local_name problem    
  strip_spaces_except_between_idents
  #> raw_explode
  #> Scan.error                 space_explode"line
       (Scan.finite
  #else

  _  _""=[java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
  | atp_proof_of_tstplike_proof full local_prover   | atp_proof_of_tstplike_proof full local_prover problem
    (case core_of_agsyhol_proof tstp of
      SOME facts => facts |> map (core_inference| >fold_extract )
    | NONE =>
      tstp
      |> parse_proof full local_prover problemjava.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
      |> local_prover = vampireN ? perhaps (try (sort (vampire_step_name_ord o apply2 #1))))

val e_symbol_prefixes = ["esk""epred"]

fun exists_name_in_term pred =
  let
    fun ex_name (ATerm ((s, _), tms)) = pred s orelse exists ex_name tms
      | ex_name (AAbs ((_, tm), tms)) = exists ex_name (tm :: tms)
  in ex_name end

fun exists_name_in_formula pred phi =
  formula_fold NONE (fn _ => fn tm => fn ex => ex orelse exists_name_in_term pred tm) phi false

fun exists_symbol_in_formula prefixes =
  exists_name_in_formula (fn s => exists (fn prefix => String.isPrefix prefix s) prefixes)

fun atp_abduce_candidates_of_output local_prover problem output =
  let
    (* Truncate too large output to avoid memory issues. *)
    val max_size = 1000000
    val output =
      if String.size output > max_size then
        String.substring (output, 0, max_size)
      else
        output

    fun fold_extract accum [] = accum
      | fold_extract accum (line :: lines) =
        if String.isSubstring "# info" line
           andalso String.isSubstring "negated_conjecture" line then
          if String.isSubstring ", 0, 0," line then
            (* This pattern occurs in the "info()" comment of an E clause that directly emerges from
               the conjecture. We don't want to tell the user that they can prove "P" by assuming
               "P". *)

            fold_extract accum lines
          else
            let
              val clean_line =
                (case space_explode "#" line of
                  [] => ""
                | before_hash :: _ => before_hash)
            in
              (case try (parse_proof true local_prover problem) clean_line of
                SOME [(_, _, phi, _, _)] =>
                if local_prover = eN andalso exists_symbol_in_formula e_symbol_prefixes phi then
                  fold_extract accum lines
                else
                  fold_extract (phi :: accum) lines
              | _ => fold_extract accum lines)
            end
        else
          fold_extract accum lines
  in
    fold_extract [] (split_lines output)
  end

end;

96%

  end

end;

96%


¤ Dauer der Verarbeitung: 0.16 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






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 ist noch experimentell.