]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/matita/matita.ml
1. new expressions AND, OR, XOR
[helm.git] / helm / software / matita / matita.ml
index 62e425bf38b13dcb28fc0c7f7e7e553d97d113bb..9fa70e11f8b56d65d778542b3e1c84cd06c91f4c 100644 (file)
@@ -67,6 +67,8 @@ let script =
             ~parent:gui#main#toplevel ())
       ()
   in
+  Predefined_virtuals.load_predefined_virtuals ();
+  Predefined_virtuals.load_predefined_classes ();
   gui#sourceView#source_buffer#begin_not_undoable_action ();
   s#reset (); 
   s#template (); 
@@ -116,6 +118,12 @@ let _ =
     let addDebugSeparator () =
       ignore (GMenu.separator_item ~packing:gui#main#debugMenu_menu#append ())
     in
+    addDebugItem "dump aliases" (fun _ ->
+      let status = script#lexicon_status in
+      HLog.debug (String.concat "\n"
+       (DisambiguateTypes.Environment.fold
+         (fun _ x l -> (LexiconAstPp.pp_alias x)::l)
+         status.LexiconEngine.aliases [])));
     addDebugItem "dump environment to \"env.dump\"" (fun _ ->
       let oc = open_out "env.dump" in
       CicEnvironment.dump_to_channel oc;
@@ -168,8 +176,10 @@ let _ =
             (MatitaScript.current ())#grafite_status.GrafiteTypes.proof_status
             with
             | GrafiteTypes.No_proof -> (Cic.Implicit None)
-            | Incomplete_proof i -> let _,_,_subst,p,_, _ = i.GrafiteTypes.proof in p
-            | Proof p -> let _,_,_subst,p,_, _ = p in p
+            | Incomplete_proof i -> 
+                 let _,_,_subst,p,_, _ = i.GrafiteTypes.proof in 
+                 Lazy.force p
+            | Proof p -> let _,_,_subst,p,_, _ = p in Lazy.force p
             | Intermediate _ -> assert false)));
      addDebugItem "Print current proof (natural language) to stderr" 
        (fun _ -> 
@@ -183,9 +193,9 @@ let _ =
             | GrafiteTypes.No_proof -> assert false
             | Incomplete_proof i -> 
                 let _,m,_subst,p,ty, attrs = i.GrafiteTypes.proof in 
-                Cic.CurrentProof ("current (incomplete) proof",m,p,ty,[],attrs)
+                Cic.CurrentProof ("current (incomplete) proof",m,Lazy.force p,ty,[],attrs)
             | Proof (_,m,_subst,p,ty, attrs) -> 
-                Cic.CurrentProof ("current proof",m,p,ty,[],attrs)
+                Cic.CurrentProof ("current proof",m,Lazy.force p,ty,[],attrs)
             | Intermediate _ -> assert false)));
 (*     addDebugItem "ask record choice"
       (fun _ ->
@@ -231,9 +241,9 @@ let _ =
 *)
     addDebugSeparator ();
     addDebugItem "enable multiple disambiguation passes (default)"
-      (fun _ -> GrafiteDisambiguator.only_one_pass := false);
+      (fun _ -> MultiPassDisambiguator.only_one_pass := false);
     addDebugItem "enable only one disambiguation pass"
-      (fun _ -> GrafiteDisambiguator.only_one_pass := true);
+      (fun _ -> MultiPassDisambiguator.only_one_pass := true);
     addDebugItem "always show all disambiguation errors"
       (fun _ -> MatitaGui.all_disambiguation_passes := true);
     addDebugItem "prune disambiguation errors"
@@ -270,8 +280,9 @@ let _ =
         ~doc:(HExtlib.unopt (mview ())#get_document) ~name:"matita.xml" ())); *)
     addDebugItem "load (sequent) MathML from matita.xml"
       (fun _ -> (mview ())#load_uri ~filename:"matita.xml");
-    addDebugItem "autoWin"
-    (fun _ -> MatitaAutoGui.auto_dialog Auto.get_auto_status);
+    addDebugSeparator ();
+    addDebugItem "Expand virtuals"
+    (fun _ -> (MatitaScript.current ())#expandAllVirtuals);
   end
   (** Debugging }}} *)