]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/gTopLevel/gTopLevel.ml
Reindentation.
[helm.git] / helm / gTopLevel / gTopLevel.ml
index 7c28c22ced477ee65adad54bba34af1d2c5ed763..7d3985af3a56b63ef24059f16bac82e8f3a06232 100644 (file)
@@ -480,7 +480,7 @@ let save_obj uri obj =
 ;;
 
 let qed () =
- match !ProofEngine.proof with
+ match ProofEngine.get_proof () with
     None -> assert false
   | Some (uri,[],bo,ty) ->
      if
@@ -569,10 +569,10 @@ let mk_fresh_name_callback context name ~typ =
 let refresh_proof (output : TermViewer.proof_viewer) =
  try
   let uri,currentproof =
-   match !ProofEngine.proof with
+   match ProofEngine.get_proof () with
       None -> assert false
     | Some (uri,metasenv,bo,ty) ->
-       ProofEngine.proof := Some(uri,metasenv,bo,ty);
+       ProofEngine.set_proof (Some (uri,metasenv,bo,ty)) ;
        if List.length metasenv = 0 then
         begin
          !qed_set_sensitive true ;
@@ -587,12 +587,16 @@ let refresh_proof (output : TermViewer.proof_viewer) =
    ignore (output#load_proof uri currentproof)
  with
   e ->
- match !ProofEngine.proof with
+ match ProofEngine.get_proof () with
     None -> assert false
   | Some (uri,metasenv,bo,ty) ->
 prerr_endline ("Offending proof: " ^ CicPp.ppobj (Cic.CurrentProof ("questa",metasenv,bo,ty,[]))) ; flush stderr ;
    raise (InvokeTactics.RefreshProofException e)
 
+let set_proof_engine_goal g =
+ ProofEngine.goal := g
+;;
+
 let refresh_goals ?(empty_notebook=true) notebook =
  try
   match !ProofEngine.goal with
@@ -606,7 +610,7 @@ let refresh_goals ?(empty_notebook=true) notebook =
        notebook#proofw#unload
    | Some metano ->
       let metasenv =
-       match !ProofEngine.proof with
+       match ProofEngine.get_proof () with
           None -> assert false
         | Some (_,metasenv,_,_) -> metasenv
       in
@@ -622,18 +626,18 @@ let refresh_goals ?(empty_notebook=true) notebook =
           notebook#remove_all_pages ~skip_switch_page_event ;
           List.iter (function (m,_,_) -> notebook#add_page m) metasenv ;
         in
-          if empty_notebook then
-           begin
-            regenerate_notebook () ;
-            notebook#set_current_page
-             ~may_skip_switch_page_event:false metano
-           end
-          else
-           begin
-            notebook#set_current_page
-             ~may_skip_switch_page_event:true metano ;
-            notebook#proofw#load_sequent metasenv currentsequent
-           end
+         if empty_notebook then
+          begin
+           regenerate_notebook () ;
+           notebook#set_current_page
+            ~may_skip_switch_page_event:false metano
+          end
+         else
+          begin
+           notebook#set_current_page
+            ~may_skip_switch_page_event:true metano ;
+           notebook#proofw#load_sequent metasenv currentsequent
+          end
  with
   e ->
 let metano =
@@ -642,7 +646,7 @@ let metano =
    | Some m -> m
 in
 let metasenv =
- match !ProofEngine.proof with
+ match ProofEngine.get_proof () with
     None -> assert false
   | Some (_,metasenv,_,_) -> metasenv
 in
@@ -701,14 +705,13 @@ let load_unfinished_proof () =
         match CicParser.obj_of_xml prooffiletype (Some prooffile) with
            Cic.CurrentProof (_,metasenv,bo,ty,_) ->
             typecheck_loaded_proof metasenv bo ty ;
-            ProofEngine.proof :=
-             Some (uri, metasenv, bo, ty) ;
-            ProofEngine.goal :=
+            ProofEngine.set_proof (Some (uri, metasenv, bo, ty)) ;
+            refresh_proof output ;
+            set_proof_engine_goal
              (match metasenv with
                  [] -> None
                | (metano,_,_)::_ -> Some metano
              ) ;
-            refresh_proof output ;
             refresh_goals notebook ;
              output_html outputhtml
               ("<h1 color=\"Green\">Current proof type loaded from " ^
@@ -876,7 +879,7 @@ let setgoal metano =
  let notebook = (rendering_window ())#notebook in
  let outputhtml = ((rendering_window ())#outputhtml : GHtml.xmhtml) in
   let metasenv =
-   match !ProofEngine.proof with
+   match ProofEngine.get_proof () with
       None -> assert false
     | Some (_,metasenv,_,_) -> metasenv
   in
@@ -1579,9 +1582,9 @@ prerr_endline ("######################## " ^ xxx) ;
   try
    let metasenv,expr = !get_metasenv_and_term () in
     let _  = CicTypeChecker.type_of_aux' metasenv [] expr in
-     ProofEngine.proof :=
-      Some (!get_uri (), (1,[],expr)::metasenv, Cic.Meta (1,[]), expr) ;
-     ProofEngine.goal := Some 1 ;
+     ProofEngine.set_proof
+      (Some (!get_uri (), (1,[],expr)::metasenv, Cic.Meta (1,[]), expr)) ;
+     set_proof_engine_goal (Some 1) ;
      refresh_goals notebook ;
      refresh_proof output ;
      !save_set_sensitive true ;
@@ -1622,7 +1625,7 @@ let check scratch_window () =
  let inputt = ((rendering_window ())#inputt : TermEditor.term_editor) in
  let outputhtml = ((rendering_window ())#outputhtml : GHtml.xmhtml) in
   let metasenv =
-   match !ProofEngine.proof with
+   match ProofEngine.get_proof () with
       None -> []
     | Some (_,metasenv,_,_) -> metasenv
   in
@@ -1671,9 +1674,8 @@ let open_ () =
        | Cic.Variable _
        | Cic.InductiveDefinition _ -> raise NotADefinition
      in
-      ProofEngine.proof :=
-       Some (uri, metasenv, bo, ty) ;
-      ProofEngine.goal := None ;
+      ProofEngine.set_proof (Some (uri, metasenv, bo, ty)) ;
+      set_proof_engine_goal None ;
       refresh_goals notebook ;
       refresh_proof output ;
       !save_set_sensitive true
@@ -2143,7 +2145,7 @@ let searchPattern () =
  let outputhtml = ((rendering_window ())#outputhtml : GHtml.xmhtml) in
   try
     let proof =
-     match !ProofEngine.proof with
+     match ProofEngine.get_proof () with
         None -> assert false
       | Some proof -> proof
     in
@@ -2652,7 +2654,7 @@ object(self)
        if not skip then
         try
          let (metano,setgoal,page) = List.nth !pages i in
-          ProofEngine.goal := Some metano ;
+          set_proof_engine_goal (Some metano) ;
           Lazy.force (page#compute) ;
           Lazy.force setgoal;
           if notify_hbugs_on_goal_change then
@@ -2830,7 +2832,7 @@ class rendering_window output (notebook : notebook) =
    ~callback:
      (function _ ->
        ApplyStylesheets.reload_stylesheets () ;
-       if !ProofEngine.proof <> None then
+       if ProofEngine.get_proof () <> None then
         try
          refresh_goals notebook ;
          refresh_proof output