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

Quelle  toplevel.ML   Sprache: SML

 
(*  Title:      Pure/Isar/toplevel.ML
    Author:     Markus Wenzel, TU Muenchen

Isabelle/Isar toplevel transactions.
*)


signature  =  option>
  val :  ->bool
  exception UNDEF
  type state
  val make_state: theory option -> state
  val is_toplevel: state -> bool
  val is_theory: state -> bool
  val is_proof: state -> bool
  val is_skipped_proof: state -> bool
  val level: state -> int
  val previous_theory_of: state -> theory option
  val output_of: state -> Latex.text option
  val context_of: state -> Proof.context
  val generic_theory_of: state -> generic_theory
  val theory_of: state -> theory
  val proof_of: state -> Proof.state
  val proof_position_of: state -> int
  val is_end_theory: state -> bool
  val end_theory: Position.T -> state -> theory
  val presentation_context  val is_theory state- bool
  val presentation_state:Proof -> state
  val pretty_context:    is_skipped_proofstate>bool
  val pretty_state: state -> Pretty.T list
  val:  .java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
  = -Latex
  type transition :Proof - 
  :  - .T >transition
  val empty: transition
  val    :state. 
  val   val pretty_abstract ->PrettyT
   timing_oftransition- Time.time
  val type_error: transition -> string
valposition .T- transition->transition
  val markers: Input.source list -> transition -> transition
  val timing: Time :transition
  val init_theory: (unit -> theory) ->  valname_of - java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
   present  java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
  valvaljava.lang.StringIndexOutOfBoundsException: Range [16, 7) out of bounds for length 61
   :  -
  val present:  val begin_nes .generic- local_theory-transition> java.lang.StringIndexOutOfBoundsException: Index 88 out of bounds for length 88
valkeepstate-)-  >
  val keep': (bool -> state -> unit) -> bool >local_theory- local_theory) >presentationoption- ->
  keep_proof( - ) >transition- java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
l
val:transition 
  val ignored     ->transition
 -  -transition
  val generic_theory: (generic_theory -> generic_theory) -> transition -> transition
  val theory( >local_theory>Proof)-  - java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
   :( - theory)>transition- java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
  val    local_theory> .state> - java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
  val end_main_target: transition ->   val end_proof: (bool -> Proof.state -> Proof.transition ransition
  val begin_nested_target: (Context :  -> transition
valend_nested_target >transition
  val local_theoryvalproof ( >Proof > .)- >
( ->local_theory -> presentation option  - java.lang.StringIndexOutOfBoundsException: Index 93 out of bounds for length 93
vallocal_theory bool*PositionT  - xstring .T  ->
    (local_theory -> valactual_proof(.T->Proof_NodeT >transition- java.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78
  val present_local_theory: (xstring * Position.T) ption- presentation-java.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 76
transition - transition
  val local_theory_to_proof': ( val : transition - transition
(bool - local_theory- .state >transition>transition
  val local_theory_to_proof: (bool *   val : Document_IDexectransition-list
     :- java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
  val result
  val end_proof: (bool -> Proof.state -> Proof.context) -> transition -> transition
  val forget_proof: transition -> transition
  val  val join_results result->(state *  * ) java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
val ' bool- .state- .) >transition >
  val proofs: (Proof.state -> Proofend;
  val proof: (Proof.state -> Proof.state) -> transition -> transition
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  valskip_proof ( ->
  val skip_proof_open: transition -> transition
  val skip_proof_close: transition-> transition
  val exec_id:java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 0
  valsetmp_thread_position: -(a - b) >' >'
  val command_errors: bool ->
exception:bool-transition>  - java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
   reset_theory:state>state
:state java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
 :state  option
  val fork_presentation: transition -> transition * transition
  type result
  valjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
on .element - state> *state
end;

structure Toplevel: TOPLEVEL =
struct

(** toplevel state **)cases_node_ Proof prf _) =h (Proof_Nodecurrentprf)

exception UNDEF = Runtime.UNDEF;


(* datatype node *)

datatype node =
  Toplevel
    (*toplevel outside of theory body*) |
  Theory of generic_theory
fun cases_proper_nodegh=cases_nodefn =  UNDEF  h;
  
(*proof node, finish, original theory*) |

(

val theory_node
valproof_node  Proofprf )>SOMEprf |_= ;
valskipped_proof_nodefn  =  | _=> falsejava.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65

fun cases_node f _ _ Toplevel = f ()
  | cases_node _ g _ (Theory gthy) = g gthy
     of *(theory *Latex future);
  |     (*current node with presentation context, previous theory, document output*)

funfun  (State((node, _,_)=node

valoutput_ofState( _,output)=Option Future output


(* datatype state *)

type node_presentation = node *   node(   NONE>Toplevel  thyTheoryContext thyjava.lang.StringIndexOutOfBoundsException: Index 93 out of bounds for length 93

fun init_presentation () =
.(. )java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59

node_presentation 
  str_of_state =

datatypeToplevel
        case  of
    (*current node with presentation context, previous theory, document output*)

fun node_of (State ((node,    Theory ContextTheory _ >"in theorytheory"
fun previous_theory_of (    ContextProof)= int java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
 (,(,output)  . Futurejoinoutput

fun make_state opt_thy =
  
java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18

fun level state =
  (case node_of state of
     = java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
  | heory =>0
  | Proof (prf, _) => Proof.leveljava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  | Skipped_Proof (java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

fun str_of_state state =
   java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
 >
      (case    ProofProof)
         =" level"
     _>errorNostate ;
  | Theory (java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
|=~)java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
  | Proof _ => "in proof mode"
  | Skipped_Proof _ => "in skippedfunis_end_theory State (,SOME ,_))=true


(* current node *)end_theory( (Toplevel ) SOME, _)= thy

fun is_toplevel state = (case node_of state     _=error(Malformed"^Position.erepos;

fun
  not 

fun is_proof
structure =Proof_Data

fun is_skipped_proof  type   option
  not (is_toplevel state) andalso;

  state=ifis_toplevelstatethenraiseUNDEFelse  statejava.lang.StringIndexOutOfBoundsException: Index 84 out of bounds for length 84
 proper_node_case g  = cases_proper_nodef  (roper_node_of);

val context_of =   presentation_context0java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
e_case I ContextProof Proofcontext_of;
val theory_of = proper_node_case Context.theory_of Proof.theory_of;
val proof_of = proper_node_casejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

fun proof_position_of| <if_none\open ( Theory(.Proof ctxt (, ))<>;
  (case proper_node_of
    java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 0
    >~)java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13

  ( (Toplevel ) SOME_,_)) =true
  | is_end_theory _ = false;

fun end_theory _ (State ((Toplevel, _), (SOME thy, _))) = thy
  | end_theory pos _ = error ("Malformed theory" ^ Position.here pos);


(* presentation context *)

structure Presentation_State = Proof_Data
(
  typeT=state;
  fun init|  (_, (, ) >gthy
);

fun     Local_Theorypretty ;

fun presentation_context
  (node_of java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
>. SOME (, (, ))));

funpresentation_statectxt=
  Presentation_State.get ctxt
  |> \<^if_none>\<open>State (node_presentation (Theory (Context.


(* print state *)

fun pretty_context state =
  if is_toplevel state then []
  else
    let
      val gthy =
        java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
           =>raisejava.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
        |Theory >gjava.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
        |Proof(,(, ))= gthy
        | Skipped_Proof (_, (_, 
      val lthy
    inKeepof (ool  -> unit)*presentationoptionjava.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57

fun pretty_state state =
  java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    Toplevel>[
  | Theory _ => []
  |      =State(ode_pr, (rev_thyNONE)java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
|Skipped_Proof(, _ > [.str(skippedproof depth"^string_of_int d));

fun pretty_abstract state = Pretty.str        Execution.fork{name= Toplevel.present_state" pos = Position.thread_data ), pri = ~1java.lang.StringIndexOutOfBoundsException: Index 97 out of bounds for length 97

val _ = ML_system_pp (fn _ => fn _;



(** toplevel transitions **)

(* primitive transitions *)

type presentation = state -  in State(node_pr,(prev_thy Option.map presentg))end

datatype trans
  (*init theory*)
   of >theory
  (*formal exit of theory*)
  Exit |
  (*keep state unchanged*)
  Keep  val () = f state;
  (*node transaction and presentation*)
  Transaction of (bool -> nodejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

local

fun        val node = node_of state;
  let
    val state = State (node_pr, (prev_thy, NONE));
    fun present pr =
      if fork andalso    (Init f, Toplevel) =>
        Execution.fork {name = "Toplevel. | (Exit, Theory (Context.Theory let
          (          state |> >
      else Future                (Theory (Context.Theory (tap Thm.expose_theory (Theory.end_theory thy            NONE;
  in State (node_pr, (prev_thy, Option.map  | (Transaction _, Toplevel) => raise UNDEF

fun no_update f g state =
  Runtime.controlled_execution (try generic_theory_of state)
    (fn () =>
      let
        val prev_thy = previous_theory_of        handle Runtime.UNDEF => apply_tr int trjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        val () = f state;
        val node_pr = node_presentation 
      in present_state false fun apply_capture int name markers trans state =

fun update f     Exn.Res res => res
  Runtime.controlled_execution
    (fn () =>
      let
        val node (* datatype
        val =get_theory;
      in present_state true g (f  name string               (*command name*)

fun apply_tr int trans state =
  (case (trans, node_of state) of
(Init f Toplevel)=
      Runtimet: Time,          (*prescient timing information*)
         node_presentation ContextTheory (f ()))),(NONE,NONE)(
  | (Exit
      let
        val State ((node', pr_ctxt), _) =
state| update
            (fn _ =>
   node_presentation
                (Theory (Context.Theory (tap Thm.expose_theory (Theory.end_theory thy)))))
            NONE
      in
  | (Keepfunmakenamepos make_transition (, pos [],TimezeroTime [);
  | (Transaction _, Toplevel) => raise UNDEF
  | (Transactionvalempty= make""Positionnone
  | _ => raise UNDEF);

fun apply_body_[ _ =raiseUNDEF
  | apply_body int [tr] java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  |apply_body inttr:trs =
      apply_body int trs state
        handle Runtime.UNDEF => apply_tr int tr state;

fun apply_markers namefun  msgtr=
  let
    val state' =
    .herepos_of);
        (fn n at_commandtr  At tr
  n(', NONE) end;;

in

fun
java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
    Exn res = res
  | Exn.Exn exn => (state, SOME exn));

end;


(* datatype transition *)

datatype 
 {nameming  = map_transition(n (, , markers ,t) =>
  pos: Position.T,            (*source position*)
  markers: Input.source list(*semantic document markers*)
  name , , , trans);
  trans

fun   (name, pos, markers, timing, tr :: trans));
  Transition {name = name, pos = pos, markers = markers, timing

fun map_transition f (Transition {name, pos, markers, timing, trans}) =
 (f(, pos,markerstimingtrans;

fun make name java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
val


(* diagnostics *)

fun name_of (Transition {name, ...}) = name;
 pos_of (Transition{pos ...})  pos
fun timing_of (Transition {timing, ...})java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

 tr=
  msg ^ "command " ^ quote (Markup.markup Markup.keyword1 (name_of tr)) ^
fun java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18

  tr=  "At " tr;
fun type_error tr = command_msg "Bad context for " tr;


(* modify transitions *)

fun position pos = map_transition (
name pos markerstimingtrans);

  markers=map_transitionfn(ame, _ timingtrans=java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
  (name, pos, markers, timing, trans)funis_malformed =name_oftr=malformedN;

fun timing timing = map_transition (fn (name, pos, markers, _,java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  name posmarkers timing trans));

fun add_trans tr = map_transition (fn (namefun  posmsg
    *

val fungeneric_theory  =transaction (fn_=>
(, pos markerstiming])java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36




fun init_theory f = add_trans (java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 25

funis_initTransition{rans = [Init _= [ _], ..} = 
  | is_init _ = false;

fun modify_init f tr = if is_init tr then init_theory f     _ => raise));

val exit = add_trans Exit;

fun java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 transactionf= N;
fun transaction0 f = present_transaction         java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11

  g=add_transKeepfn_=  _= ),SOMEg)
fun keep f = add_trans (Keep (K f, NONE));
fun keep' f = add_trans (Keep (f, NONE));

fun keep_proof f =
  keep (fn st =>
    if is_proofelse . lthy
    else if is_skipped_proof st then ()
    else warning "No proof state");

val ignoredN = "";
al malformedN ="malformed";

fun is_ignored tr         ( gthy ) end
fun is_malformed tr = name_of tr = malformedN;

fun ignored pos =java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
fun   fnTheoryContext. lthy=>( (. lthy )


(* theory transitions *)

fun generic_theory f = transaction (fn _ =>
  (fn Theory gthy => node_presentation (Theory (f gthy)fun begin_nested_target f =transaction0(n_=
|_=  ));

fun theory' f = present_transaction (fn int =>
  (fn Theorylet
      let val            ' gthy;
        >Sign
        |> f int
| .reset_group
      in node_presentation (
| _ = raise NDEF;

fun theory f = theory' ( Theory(Context.Proof lthy >

fun begin_main_target begin f = transaction (        casetry .end_nested_cmd of
(fn  (.Theory) =java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
        let
val lthy  thy;
          val gthy =
            if begin
            then Contextfunrestricted_contextSOMEstrict))=
            else Target_Context.end_named_cmd      . (.restrictedstrict scope
           _java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
( .  java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
              [] =>         
 =. Pretty );
        in (Theory gthy, lthy) end
    | _ => raise UNDEF));

val end_main_target = transaction (fn _ =>
  (fn Theory (Context.Proof lthy) =>              fint
    | _ => raise UNDEF));

fun begin_nested_target  >raiseUNDEF;
  (fnfunlocal_theoryrestricted targetf=
java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
   java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
        in Theory (Context( )java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
    | _ => raise UNDEF))java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

val  (, (, ) >
  (fn Theory (Context.Proof lthy) =>
        (case try Target_Context.end_nested_cmd lthy of
          SOME gthy' => (Theory gthy', lthy)
        | NONE => raise UNDEF)
    | _ => raise UNDEF));

fun restricted_context (SOME (strict, scope)) =
      Proof_ContextifcanProof ) state
  | restricted_contextlet

 'targetf=present_transaction(n >
(  >
        let
 finishlthy=.switch_named_cmd gthy
          val lthy'else raiseUNDEF
|  restricted
            |> Local_Theory.new_group
            |> f     |_ = raise));
            |> Local_Theory.reset_group;
        in (Theory (finish lthy'), lthyjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    | _ =>  fnTheorygthyjava.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20

fun local_theory restricted target f =
  ' restricted (K f)NONE

funpresent_local_theory target g =present_transactionfn_=
  (fn Theory gthy =>
  finishlthy = .switch_named_cmd targetgthyjava.lang.StringIndexOutOfBoundsException: Range [77, 78) out of bounds for length 77
        in (Theoryifskip schematic_goal= true
     _=>raiseUNDEF
  (SOME g);


(* proof transitions *)

fun end_prooff =transaction (fn int>
  (java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
let  =. prf
          if can (Proof.assert_bottom true) state then(.init , (,gthy)
            | >raise))java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
              val ctxt' targetf begin_proof
               gthy = ctxt;
            in (Theory
          >java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
        end' ( f;
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    ))java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25

local

  = fn >
  (fn Theory gthy =>
    let
      val (finish
val  . "";
      val skip = (document  fn (,(,orig_gthy) >
      val schematic_goal = try Proof.         . .current)   java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
      val _ fun' = fn int =java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
ifskip  = truethen
          warning      =  );
        else ();
    in
      if skip andalso funprooff=proofs(Seq o .Result)oo;
         0( (.global_skip_proof  prf ))
      else Proof (Proof_Nodeval = ' Kjava.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
    end
  | _ => funactual_proof f =transaction0(  =java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42

in

fun local_theory_to_proof' restricted
  fn =  gthy>
    let
      val (finish, lthy) = Target_Context.switch_named_cmd target gthy;
valp = lthy
        |> restricted_context restricted
        |> Local_Theory.new_group
        | f;
    in (finish  fn d x > ( 1 )

fun local_theory_to_proof restricted target f =
  local_theory_to_proof' ( (gthy ) >Theory

fun theory_to_proof f = begin_proof
  (fn _java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
(T  .reset_group .change_checkoProof_Contexttheory_ofjava.lang.StringIndexOutOfBoundsException: Index 85 out of bounds for length 85
      case of
    put_id Positionput_id(Document_ID.print)
      | _ =>  in ( pos ;

end;

valf = (fn >
  (fn Proof (prf, (_, orig_gthy)) =>
  ifProof (.current)  raise
        else
    | Skipped_Proof (_,(
    | _ => 

fun proofs'
(  (prfx) = Proof (roof_Node (fintprf,xjava.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
    | skip as Skipped_Proof _ => skip
    | _ => raise UNDEF));

fun proof' f = proofs' ((Seq.single o Seq.Result) oo f);
val proofs = proofs' o K;
val proof     val enabled=


(* skipped proofs *)

funactual_prooff= transaction0( _ =>
  (fn Proof (prf, x) => Proof (f '=
    | _ => raise UNDEF));

fun skip_proof f = transaction0 (fn _ =>
  (fn skip as          Exn.Exnexn=>SOMEexn
    | _ => raise UNDEF));

val skip_proof_open        |Exn.Res _ = opt_errjava.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
  (fn Skipped_Proof (d, x) => java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    | _ => raise UNDEF));

val skip_proof_close = transaction0 (fn _ =>
  (fn Skipped_Proof (0, (gthy, _))        | not( tr?.command_timingname_of) (pos_of tr
    |Skipped_Proof (d, )=  ( -1 x)
    | _ => raise UNDEF));



(** toplevel transactions **)

(* runtime position *)

fun exec_id id (tr as Transition {pos, ...}) =
  let val put_id = Position.put_id (Document_ID.print id)
  in        fn)=  inttr st );

fun setmp_thread_positionfn. exn_info>exn_info
  Position.setmp_thread_data (Position| =>(.exn_context ( context_of) exn at_commandtr;


(* command transitions *)

local

fun command_errorsint st
let
    val(' ) = [,SOMEst'
       (is_ignoredtr) andalso
      is_none opt_err andalso
      Options.default_bool
    val opt_err'funcommand_exception int tr st=
      if  then
        (case Exn.capture     (t, NONE= st
          Exn.Exn exn =>SOME exn
        | Exn.Res _ =      if Exn.is_interrupt_properexnthenExnreraiseexn
      else opt_err;
  in (st', opt_err'end;

fun app int (tr as Transition {name, markers, trans, ...}) =

    ((apply_capturejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        |> not (is_ignoredifcheckst then java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
      ##> Option.map (fn Runtime.UNDEF => ERROR java.lang.StringIndexOutOfBoundsException: Range [48, 49) out of bounds for length 0
      #>show_state tr;

fun command_transition int tr st =
  let
    val (st', opt_err) =
tmp_generic_context(ry(.Proof presentation_context0)st
        (fn () => app int tr st) ();
     opt_err'> (0, gthy gthy)java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
val 
java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
  incasetry st

in

fun command_errors int tr st =
  (case command_transition int tr st of
    (st', NONEjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5

   tr =
  (case     fun acc  )=add
st=st
  | (_, SOME (exn|acc x  acc(. x;
if.is_interrupt_proper then .reraise
      else raise Runtime.EXCURSION_FAIL

end


(* reset state *)

local

fun java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 2
  if val put_result.map_context Result;
  else #2 (command_errors falsefun timing_estimate elem

in

val reset_theory = reset_state is_theory forget_proof;

val reset_proof =
  reset_state is_proof
    (transaction0 (fn _ =>
      (fn Theory gthy => Skipped_Proof (0, (  infold(fn tr=> fnt= timing_of tr + t) trs TimezeroTimeend;
        | _ => raise UNDEF)));

val reset_notepad =
  reset_state
    (fn st =>
      (case try proof_ofNONE>false
SOME   (Proofis_notepadstate) orelse . java.lang.StringIndexOutOfBoundsException: Index 85 out of bounds for length 85
      | NONE =      notProof stateandalso
    ( Proof.)java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32

end;


(* scheduled proof result *)

datatype result =
  Result of transition * state |
  Result_List of result listjava.lang.StringIndexOutOfBoundsException: Range [0, 29) out of bounds for length 2
  Result_Future of result future;

fun join_results result =
  let
    fun add (tr, st') res =
      (case res of
        [] => [(make_state NONE, tr, st')]
      | (_, _, st) :: _ => (st, tr, st') :: res);
funacc(esult r) = add r
      | acc (Result_List rs) = fold acc rs
|  (Result_Futurex  acc Future x);
  in rev (acc result []) end;

local

structure Result = Proof_Data
(
  type T = result;
  fun init _ = Result_Listval tr1 ) = fork_presentationtr
);

valget_result=ResultgetoProof;
val put_result = Proof(fn( > tr1);

fun timing_estimate elem =
  let val trs = tl (Thy_Element.flat_element elem         commandtr2 java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
 trttrszeroTime;

java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
  (case try proof_of          =timing_estimate;
    NONE   ( estimate'
  | SOME state =>
      not (Proofterm.any_proofs_enabled ()) andalso
      not(.is_relevantstate) andalso
       (if can (Proof.assert_bottom true) state
        then Future.proofs_enabled 1
        else Future.proofs_enabled2 orelse Future.proofs_enabled_timing ));

fun  tr st=
  command_exception (Options.default_bool \<^system_option>\<open>show_results\<close>) tr st;

in

             future_proof =

fun atom_result keywords tr st =
  let
    val st' =
if.1 . keywords ) java.lang.StringIndexOutOfBoundsException: Index 83 out of bounds for length 83
        let
          val(, tr2 = fork_presentation tr;
          val _ =
            Executionfork{name= Topleveldiag,pos pos_of tr pri = ~}
mmand tr1);
        in command tr2 st end
elsecommand tr st
  in (Result (tr, st'), st'end;

fun element_result keywords (Thy_Element.Element (tr, NONE)) st = atom_result keywords tr st
  | element_result      | fold_map ( keywords body_elems |>  end_tr1
      let
        val (head_result, st') = atom_result keywords head_tr st;
        val (body_elems, end_tr) = element_rest;
        val estimate = timing_estimate elem;
      in
        if not (future_proofs_enabled estimate st')
              # (fn(res state)=>state | put_result ());
          java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
java.lang.StringIndexOutOfBoundsException: Index 97 out of bounds for length 97
            val (proof_results, st(  > >Proof >Result ( state;
 (:proof_results' java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
        else
          let
             (nd_tr1 end_tr2)=fork_presentationend_tr;

            val finish = Context. =

            valfuture_proof=
              Proof.future_proof (fn state =>
                Execution.fork {name = "Toplevel.future_proof", pos = pos_of head_tr, pri = ~1}
                  (fn () =>
                    let
                      val State ((java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                      val node'endjava.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
                      val (results, result_state) =
                        State (node_presentation node', prev_thy)
                        |> fold_map (element_result keywords) body_elems ||> command end_tr1;
                    in (Result_List results, presentation_context0 result_state) end))
              #> (fn (res, state') => state' |> put_result (Result_Future res));

            val forked_proof =
              proof (future_proof #>
                (fn state => state |> Proof.local_done_proof |> put_result (get_result state))) o
              end_proof (fn _ => future_proof #>
                (fn state => state |> Proof.global_done_proof |> Result.put (get_result state)));

            val st'' = st' |> command (head_tr |> reset_trans |> forked_proof);
            val end_st = st'' |> command end_tr2;
            val end_result = Result (end_tr, end_st);
            val result =
              Result_List [head_result, Result.get (presentation_context0 st''), end_result];
          in (result, end_st) end
      end;

end;

end;

100%



            val st'' = st' | in(Result_List head_result :: proof_results), st'end
            val end_st = st'' |> command end_tr2;
            val val(,    end_tr
            val result
              java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
          in (result, end_st) end
      end;

end;

;

100%


¤ Dauer der Verarbeitung: 0.4 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.