Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


SSL atp_proof.ML   Interaktion und
PortierbarkeitSML

 

    *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

type  =extract_tstplike_proof delims=

fun (java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

  |  fny  =

fun fun > snd
  let valqjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
        =extract_known_atp_failure known_failuresoutput
    ( ((="")
       parse_file_sourceain
    |((asetstplike_proof  
java.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 45
 qjava.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 35


type (-skip_term--| $  --| skip_term --| $$ "java.lang.StringIndexOutOfBoundsException: Range [44, 43) out of bounds for length 75

type 'a atp_proof = (('a, 'a, ('a, 'a atp_type) atp_term, 'a) atp_formula, string) atp_step list

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

(* Strings enclosed in single quotes (e.g., file names), identifiers possibly startingjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
   with "$" and possibly with "!" in them. *)

val   x =
  $$ "'" |-- Scan.repeat (~$$ "'")java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  |  Scanthis_string
p java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
    let> >java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56

fun skip_term x =
  let
    fun skip    apply2|>K SOME
|   > >( [*
           || )=java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
(,
        else if member (op =andparse_classesx=and
          if
         ifjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
          skip ((  with
        
skipn  >( = ty (* currently ignoring type constructor declarations anyway *))
  in
(skip0[>>(-Scanoptional ($ ""|- parse_types >)
  end
and skip_terms-Scanoptional Scanrepeat(> fn(a,java.lang.StringIndexOutOfBoundsException: Range [17, 13) out of bounds for length 23

datatype            (case a of
  funskip_termx =
| Inference_Source           |_=> raise UNRECOGNIZED_ATP_PROOF (e if tptp_fun_typethen
| Introduced_Source of string
| Define_Source|   accumss  s:AType((,],[         else

val dummy_phiifs= , orelse
(,)

(* "skip_term" is there to cope with Waldmeister nonsense such as "theory(equality)". *)
fun parse_dependencyfun else member op=[" []s java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
  (
s n s :accum)'
and parse_dependencies x =
  (Scan.repeats (Scanjava.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
    curry =") x
and parse_file_source x =
  (Scan.this_string java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
   -- Scan.option
-|Scan - $" -|
and parse_inference_source x =       string option
(Scan. "inference-Scanoptional("< |--parse_types- $$)java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
   --| skip_term --| $Djava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
-  -| $ "]"-$ ")x
and parse_introduced_source x =
   AType("][java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
rm-  ) java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
and parse_define_source=
  (Scan.this_string "define" |-- $$ "(" |-- skip_term --|  parse_inference_source> Term(, )java.lang.StringIndexOutOfBoundsException: Range [33, 30) out of bounds for length 38
andparse_source=
  (>> ile_Source>> -| parse_fol_optional_type_signature> list_app x
   and   parse_fol_term parse_file_source x=
   |   || parse_introduced_source
   ||parse_define_source >KDefine_Source >  - . , java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
id> =java.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 80
   |

list_app   arg>  =java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56

fun list_appf java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
and .option

fun parse_type x =
java.lang.StringIndexOutOfBoundsException: Range [4, 3) out of bounds for length 36
  -  ]-"
       >> (fn (_, ty) => ty (* currently ignoring type constructor declarations anyway *))
 -- .optional|( -Scan. $ " -$ "} )
        - . $$ "(" |-- parse_types --| $$ ")") []
       >> AType)
   -- Scanoption($|$t |$tptp_product_type - parse_type
  >( (a ONE java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23

          bin_op =f bin_op  tptp_appthen
           (caseof
                          AType,tys>ATypes_clsstys b])
               
         else  = else=then phi2
           AFun (  c =tptp_andthen           else if c = tptp_and then mk_aconn

           AType ((tptp_product_type, []), [a, b])
         else
            Fail"mpossiblecase")java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
andparse_typesparse_fol_optional_type_signaturexjava.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
  (parse_type > someas( (],[) >    dfg_individual_typejava.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 24

*    types -.($" |- ) NONE
fun        -- Scan.optional ($$|parse_types - $ >"java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 0
(.option$java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 48
   >> (fn someis_same_termsubst =
|r = res)x
and parse_fol_arg x =
  ($$ "(l
   |  xdo_term_pairAAbs v,),,args1)AAbs((,,substjava.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
       -. ( <-parse_types|>"[]
       -- Scan.optional    -| java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 12
     >          v ls= ength in
       
         |  body2
       else
         ATerm ((s, 
and parse_fol_term x =
  (parse_fol_arg -- Scan. (option$ptp_not_infix - java.lang.StringIndexOutOfBoundsException: Range [66, 56) out of bounds for length 85
   --| parse_fol_optional_type_signature >> list_app)        (,SOME ((, u2))>
    ATerm((thenfold2 args1 args2

fun parse_fol_atom x =
  (parse_fol_term          end
    Scan.option (Scan.option ($$ tptp_not_infix) --| $$ tptp_equal -- parse_fol_term)
   >> (fn (u1, NONE) => AAtom do_term_pair( (s1_, args1)(ATerm (2,,args2)SOME) =
        | (, SOME (, u2) =>
          AAtom (ATerm (("equal", []          (rue true =not >length)

(* TPTP formulas are fully parenthesized, so we don't need to worry about operator precedence. *)
fun parse_fol_literal x      >(fn|NONE=
  parse_fol_formulax 
      -- ($$ " NONE)
          |parse_fol_quantified_formula
          || if s1java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
      >> (fn substthis_stringtptp_iff
and parse_fol_formula x=
  (parse_fol_literal
   -                    |Scan. java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
                    |>>                  fold2  args2   k_aconnAImplies 
                    ||Scan java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
| Scanthis_stringjava.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
                    |$java.lang.StringIndexOutOfBoundsException: Range [33, 27) out of bounds for length 33
                     $tptp_and) pjava.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
   > (fn(phi1 Fail" "  ) 
        | (phi1,andjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [34, 10) out of bounds for length 62
k_aconn phi2
          else if-|$ [  parse_fol_terms-| xs2andalso
          else if c = tptp_if then mk_aconn AImplies phi2 phi1
              then AOrjava.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
 subst,)AConn,)java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72
else  " "^ c) java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66
and parse_fol_quantified_formula x =
   >> KAForall| $$ tptp_exists >>KAExistsjava.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
   -|$ ""- - $$]-:-
  > length java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69

val parse_tstp_extra_arguments =
  Scan.|fnsubst> java.lang.StringIndexOutOfBoundsException: Range [48, 47) out of bounds for length 78

val waldmeister_conjecture_name = "conjecture_1thenjava.lang.StringIndexOutOfBoundsException: Range [18, 0) out of bounds for length 0

is_same_termsubst    Fail"equationjava.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
  et
    fun do_term_pair (AAbs (((var1|  e )
          SOMEsubstjava.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
        if|           subst
        else
            NONE ( a =a
            SOME ((var1role_of_tptp_string"
            |>else)role_of_tptp_string" Type_Role
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                 |java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
            |> (ifjava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 0
,  java.lang.StringIndexOutOfBoundsException: Range [19, 13) out of bounds for length 51
              
          parse_one_in_listtptp_literal_binary_ops
      |        
        (caseparse_fol_quantifier
          truetrue=>
               _ =java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
Ss2> =  SOMEelsejava.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
            if null (AList.java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 10
              o)
        | (falsefalse) =>
          if s1 = s2 thenelse   thenjava.lang.StringIndexOutOfBoundsException: Range [52, 53) out of bounds for length 52
 remove_hol_app(
else
            NONE
        ||role_of_tptp_string "args
  
                       else|(var xs ((,  @ys))
|  _ ) ) java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
  in
 java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 5

fun  |$  - -$$ 
    java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 x2 = x  phi2
  | (parse_fol_quantifierjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    c1 fn=  t  equalcjava.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
  |java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
[ , ]
    (comm andalso                |> (f tptp_lambda <<>
      AAtom) AAtom tm2) = is_same_term subst tm1 tm2
   is_same_formula_ _ __ =false

fun  phi( ( else
    if is_same_formula true [] phi phi' then SOME q=tptp_hilbert_choice
  | matching_formula_line_identifier|Scan =tptp_hilbert_thetptp_hilbert_the

funfind_formula_in_problemphi =
  maps snd
rmula_line_identifier) [)
  #> try (single o hd)
  #> the_default [      case 

.  
  | commute_eq _  java.lang.StringIndexOutOfBoundsException: Range [47, 33) out of bounds for length 47

fun role_of_tptp_string "axiom" = Axiom(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  |role_of_tptp_string"java.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 49
  |""  Lemma
  | role_of_tptp_string "hypothesis" =   | $$" ( -- repeat (parse_literal_binary_op -- parse_applied_hol_termjava.lang.StringIndexOutOfBoundsException: Index 92 out of bounds for length 92
  fun  x =
  | role_of_tptp_string(parse_fol_quantifier - ($"" |-parse_hol_termx=
|-
  | role_of_tptp_string "type >>java.lang.StringIndexOutOfBoundsException: Range [6, 4) out of bounds for length 26
  | role_of_tptp_string _ (fn(, ty = fn r >

fun parse_one_in_list s 
  foldl1 (op ||) (map Scan.this_string xs)

valtptp_literal_binary_ops[ ptp_not_equal
val tptp_nonliteral_binary_ops =
  [tptp_and  (q >  |> mk_simple_aterm)

funelse
  (parse_one_in_list tptp_literal_binary_opsin
   >> (fn c => if c = tptp_equal then "equal" else c)) x

fun parse_nonliteral_binary_op x =
  (parse_one_in_list  tptp_nonliteral_binary_ops
   >> (fn c =               - Scanption   |-)

val parse_fol_quantifier   |parse_hol_quantifier>java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 17
   parse_one_in_list [, tptp_exists, tptp_lambda, tptp_hilbert_choice tptp_hilbert_the]

val parse_hol_quantifier =
   parse_one_in_list[tptp_ho_foralljava.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 0

fun mk_ho_of_fo_quant q =
  if  (Scan.this_string tptp_thf -parse_applied_hol_term x=
  else if q=tptp_existsthentptp_ho_exists
  elsefn( ) =  (fnti=fnl = mk_appleft)tt1) x
  elseifq =  tptp_hilbert_the x=
  else Fail " : ^ )

 remove_hol_app( ((s,t) args) =    >>( t1, c_ti_s) =>
    if s = tptp_app          fold  |$ .
c java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
        ATerm (f              fn ) java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
      | AAbs ((var, phi), xs) :: ys java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
    else
((,java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
|remove_hol_app( ((var phi,args) =
AAbs(var remove_hol_app phi)  (num, [s) phi, role"" [

fun parse_hol_typed_var x =
              (is_but_k~~            Introduced_Sourcerule) =>((,[, phiDefinitionrule [])
     -| Scanoption(Scanthis_string",)
   || $$ "(" |-- parse_hol_typed_var --|java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

fun parse_simple_hol_term x =
  parse_fol_quantifier- $ [ |-parse_hol_typed_var -|$$" --|java.lang.StringIndexOutOfBoundsException: Range [73, 0) out of bounds for length 0
      -- parse_simple_hol_term
    >[(name role phi,rule map(rpair )
fold_rev
            (fn (var, ty) => fn r =>
                AAbs (((var, the_default dummy_atype ty), r), [])
                |> (if tptp_lambda <> q then
                      mk_app (q |> mk_ho_of_fo_quant |> mk_simple_aterm)
                    else
                      )
            ys-parse_tstp_extra_arguments$"java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
||Scan tptp_not -  > mk_app mk_simple_atermtptp_not
      let
    >> (fn (var, typ_opt) => ATerm --  $ "()
          val    -scan_general_id-|$""-.can_ascii_id-- $,
    -if thenparse_fol_formula(, ',)=
  || Scan.    -         SOME (ile_Source (, SOME s) =java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
  |          let
              ifrole  java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
and x =
  (parse_simple_hol_term -- Scan.repeat (Scan.this_string tptp_app |-- (* Waldmeister isn't exactly helping. *)
    >> (fn (t1, tis) => fold (fn ti =>              case srcjava.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
andparse_literal_hol_term xx =
                (num,                 (s=waldmeister_conjecture_namethen
     (  c_ti_s>
          fold (fn (c, ti) => fn left => mk_apps (mk_simple_aterm c) [left, ti]                     *Waldmeister hack:Get|  (Introduced_Source rule) = (um[),, , ,[])
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 of bounds for length 55
            val 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.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
  --|$$""
  >> (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
              ((num, map fstjava.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
(end

((numfunparse_tstp_line =
                                 |>not(is_same_formula [](mk_anot ) phi  parse_tstp_fol_line 
java.lang.StringIndexOutOfBoundsException: Range [0, 10) out of bounds for length 0
      in
        [(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 for length 16
  if local_name  pool  .lookup  | 
  else parse_tstp_line full problem pool

java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 29
funame,ss  " ,"^  ^)"
fun  g(,,,y ) =
    _ :: proof_term :: _ => SOME (unprefixlet
  | _ => NONE

fun clean_up_dependencies _ [] = []
     x= x
    (name, role, u, rule, map_filter (fny gy
clean_up_dependenciesname)java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46

fun clean_up_atp_proof_dependencies  java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5

fun map_term_names_in_atp_proof f =
java.lang.StringIndexOutOfBoundsException: Range [5, 2) out of bounds for length 5
  AType,      s))     existsjava.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72
|  ty') m ty '
      | map_type (APi

    map_termtstplike_proof  local_prover java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
      | map_term  =
        AAbs (((f s, map_type ty


  |map_formulaAConn, phis)=java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 =AAtommap_termt

fun,,,deps(,role,phiruleepsjava.lang.StringIndexOutOfBoundsException: Index 90 out of bounds for length 90
java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4

  

   =Symtab ool| s

pool,"linethen
  (

fun               the conjecture

  (,ss              lines

fun string_of_atp_step f g (              val 
  java.lang.StringIndexOutOfBoundsException: Range [8, 5) out of bounds for length 14
    val name' = string_of_atp_step_name name
    val role'casetry parse_proof true )of
    val x' = f x
    val y' = g y
            andalso String.isSubstring "negated_conjecture
in
    "( ' ^ "  ( occurs  (" anEclause merges java.lang.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%


¤ Diese beiden folgenden Angebotsgruppen bietet das Unternehmen0.17Angebot  ¤

*Eine klare Vorstellung vom Zielzustand






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.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge