]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/matita/matita.ml
new tacticals
[helm.git] / helm / matita / matita.ml
index 5e2526748d6c8eed030cd365326494f234afaa11..b9e09f24d8dbc88bcbbaa4ca05c4ca30dc71e4c7 100644 (file)
@@ -77,9 +77,12 @@ let _ =
   let sequents_observer status =
     sequents_viewer#reset;
     match status.proof_status with
-    | Incomplete_proof ((proof, goal) as status) ->
-        sequents_viewer#load_sequents status;
-        sequents_viewer#goto_sequent goal
+    | Incomplete_proof ({ stack = stack } as incomplete_proof) ->
+        sequents_viewer#load_sequents incomplete_proof;
+        (try
+          script#setGoal (Continuationals.Stack.find_goal stack);
+          sequents_viewer#goto_sequent script#goal
+        with Failure _ -> script#setGoal ~-1);
     | Proof proof -> sequents_viewer#load_logo_with_qed
     | No_proof -> sequents_viewer#load_logo
     | Intermediate _ -> assert false (* only the engine may be in this state *)
@@ -138,12 +141,19 @@ let _ =
     addDebugItem "print top-level grammar entries"
       CicNotationParser.print_l2_pattern;
     addDebugItem "dump moo to stderr" (fun _ ->
-      let status = (MatitaScript.instance ())#status in
+      let status = (MatitaScript.current ())#status in
       let moo, metadata = status.moo_content_rev in
       List.iter (fun cmd -> prerr_endline
         (GrafiteAstPp.pp_command cmd)) (List.rev moo);
       List.iter (fun m -> prerr_endline
         (GrafiteAstPp.pp_metadata m)) metadata);
+    addDebugItem "print metasenv goals and stack to stderr"
+      (fun _ ->
+        prerr_endline ("metasenv goals: " ^ String.concat " "
+          (List.map (fun (g, _, _) -> string_of_int g)
+            (MatitaScript.current ())#proofMetasenv));
+        prerr_endline ("stack: " ^ Continuationals.Stack.pp
+          (MatitaMisc.get_stack (MatitaScript.current ())#status)));
     addDebugItem "rotate light bulbs"
       (fun _ ->
          let nb = gui#main#hintNotebook in