Quellcode-Bibliothek toplevel.ML
Interaktion und PortierbarkeitSML
(* 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. valval 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 valval 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
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 typeoption 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
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
funval 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 falsefun 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));
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
*
valfungeneric_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
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 elseif 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 letval' 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 = ifbegin 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) =>
(casetry 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 caseof
put_id Positionput_id(Document_ID.print)
| _ => in ( pos ;
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=
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));
fun exec_id id (tr as Transition {pos, ...}) = letval 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= ifthen
(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;
funapp 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 elseraise 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_notepad =
reset_state
(fn st =>
(casetry 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 = letval 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
(casetry 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 ifnot (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;
val st'' = st' | in(Result_List head_result :: proof_results), st') end val end_st = st'' |> command end_tr2; valval(, end_tr val result
java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30 in (result, end_st) end end;
end;
;
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.14Bemerkung:
(vorverarbeitet)
¤
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.