now matita can start on a .p file.
LibraryClean.clean_baseuris [value];
assert (Http_getter_storage.is_empty value);
end;
- HExtlib.mkdir
- (Filename.dirname (Http_getter.filename ~writable:true (value ^
- "/foo.con")));
+ if not (Helm_registry.get_opt_default Helm_registry.bool "matita.nodisk"
+ ~default:false)
+ then
+ HExtlib.mkdir
+ (Filename.dirname (Http_getter.filename ~writable:true (value ^
+ "/foo.con")));
end;
GrafiteTypes.set_option status name value,[]
| GrafiteAst.Drop loc -> raise Drop
let mot = CicUtil.metas_of_term_set in
let parameters = uniq (mot p @ mot l @ mot r) in
(* ?if they are under a lambda? *)
+(*
let parameters =
HExtlib.list_uniq (List.sort Pervasives.compare parameters)
in
+*)
let what = List.map (fun (i,l) -> Cic.Meta (i,l)) parameters in
let with_what, lift_no =
List.fold_right (fun _ (acc,n) -> ((Cic.Rel n)::acc),n+1) what ([],1)
matitaExcPp.cmi matitaEngine.cmi buildTimeConf.cmi matitacLib.cmi
matitacLib.cmx: matitamakeLib.cmx matitaMisc.cmx matitaInit.cmx \
matitaExcPp.cmx matitaEngine.cmx buildTimeConf.cmx matitacLib.cmi
-matitac.cmo: matitaprover.cmo matitamake.cmi matitadep.cmi matitaclean.cmi \
+matitac.cmo: matitaprover.cmi matitamake.cmi matitadep.cmi matitaclean.cmi \
matitacLib.cmi gragrep.cmi
matitac.cmx: matitaprover.cmx matitamake.cmx matitadep.cmx matitaclean.cmx \
matitacLib.cmx gragrep.cmx
matitaGtkMisc.cmi
matitaGtkMisc.cmx: matitaTypes.cmx matitaGeneratedGui.cmx buildTimeConf.cmx \
matitaGtkMisc.cmi
-matitaGui.cmo: matitamakeLib.cmi matitaTypes.cmi matitaScript.cmi \
- matitaMisc.cmi matitaMathView.cmi matitaGtkMisc.cmi \
+matitaGui.cmo: matitaprover.cmi matitamakeLib.cmi matitaTypes.cmi \
+ matitaScript.cmi matitaMisc.cmi matitaMathView.cmi matitaGtkMisc.cmi \
matitaGeneratedGui.cmo matitaExcPp.cmi buildTimeConf.cmi matitaGui.cmi
-matitaGui.cmx: matitamakeLib.cmx matitaTypes.cmx matitaScript.cmx \
- matitaMisc.cmx matitaMathView.cmx matitaGtkMisc.cmx \
+matitaGui.cmx: matitaprover.cmx matitamakeLib.cmx matitaTypes.cmx \
+ matitaScript.cmx matitaMisc.cmx matitaMathView.cmx matitaGtkMisc.cmx \
matitaGeneratedGui.cmx matitaExcPp.cmx buildTimeConf.cmx matitaGui.cmi
matitaInit.cmo: matitamakeLib.cmi buildTimeConf.cmi matitaInit.cmi
matitaInit.cmx: matitamakeLib.cmx buildTimeConf.cmx matitaInit.cmi
matita.cmx: matitaTypes.cmx matitaScript.cmx matitaMathView.cmx \
matitaInit.cmx matitaGui.cmx matitaGtkMisc.cmx buildTimeConf.cmx
matitaprover.cmo: matitaInit.cmi matitaExcPp.cmi matitaEngine.cmi \
- buildTimeConf.cmi
+ buildTimeConf.cmi matitaprover.cmi
matitaprover.cmx: matitaInit.cmx matitaExcPp.cmx matitaEngine.cmx \
- buildTimeConf.cmx
+ buildTimeConf.cmx matitaprover.cmi
matitaScript.cmo: matitamakeLib.cmi matitaTypes.cmi matitaMisc.cmi \
matitaGtkMisc.cmi matitaEngine.cmi buildTimeConf.cmi \
applyTransformation.cmi matitaScript.cmi
matitaExcPp.cmo \
matitaEngine.cmo \
matitacLib.cmo \
+ matitaprover.cmo \
applyTransformation.cmo \
matitaGtkMisc.cmo \
matitaScript.cmo \
(** {2 Initialization} *)
-let _ = MatitaInit.initialize_all ()
+let _ =
+ MatitaInit.add_cmdline_spec
+ ["-tptppath",Arg.String
+ (fun s -> Helm_registry.set_string "matita.tptppath" s),
+ "Where to find the Axioms/ and Problems/ directory"];
+ MatitaInit.initialize_all ()
+;;
+
(* let _ = Saturation.init () (* ALB to link paramodulation *) *)
(** {2 GUI callbacks} *)
method loadScript file =
let script = MatitaScript.current () in
script#reset ();
- script#assignFileName file;
- let content =
- if Sys.file_exists file then file
- else BuildTimeConf.script_template
- in
- source_view#source_buffer#begin_not_undoable_action ();
- script#loadFromFile content;
- source_view#source_buffer#end_not_undoable_action ();
- console#message ("'"^file^"' loaded.");
- self#_enableSaveTo file
+ if Pcre.pmatch ~pat:"\\.p$" file then
+ begin
+ let tptppath =
+ Helm_registry.get_opt_default Helm_registry.string ~default:"./"
+ "matita.tptppath"
+ in
+ let data = Matitaprover.p_to_ma ~filename:file ~tptppath in
+ let filename = Pcre.replace ~pat:"\\.p$" ~templ:".ma" file in
+ script#assignFileName filename;
+ source_view#source_buffer#begin_not_undoable_action ();
+ script#loadFromString data;
+ source_view#source_buffer#end_not_undoable_action ();
+ console#message ("'"^filename^"' loaded.");
+ self#_enableSaveTo filename
+ end
+ else
+ begin
+ script#assignFileName file;
+ let content =
+ if Sys.file_exists file then file
+ else BuildTimeConf.script_template
+ in
+ source_view#source_buffer#begin_not_undoable_action ();
+ script#loadFromFile content;
+ source_view#source_buffer#end_not_undoable_action ();
+ console#message ("'"^file^"' loaded.");
+ self#_enableSaveTo file
+ end
method setStar name b =
let l = main#scriptLabel in
let grafite_status = self#grafite_status in
List.iter (fun o -> o lexicon_status grafite_status) observers
+ method loadFromString s =
+ buffer#set_text s;
+ self#reset_buffer;
+ buffer#set_modified true
+
method loadFromFile f =
buffer#set_text (HExtlib.input_file f);
self#reset_buffer;
method assignFileName : string -> unit (* to the current active file *)
method loadFromFile : string -> unit
+ method loadFromString : string -> unit
method saveToFile : unit -> unit
method filename : string
"
;;
+let p_to_ma ~tptppath ~filename =
+ let data =
+ Tptp2grafite.tptp2grafite ~filename ~tptppath:tptppath
+ ~raw_preamble ()
+ in
+ data
+;;
+
let main () =
MatitaInit.fill_registry ();
let tptppath = ref "./" in
| [file] -> file
| _ -> prerr_endline "You must specify exactly one .p file."; exit 1
in
- let data =
- Tptp2grafite.tptp2grafite ~filename:inputfile ~tptppath:!tptppath
- ~raw_preamble ()
- in
+ let data = p_to_ma ~filename:inputfile ~tptppath:!tptppath in
(* prerr_endline data; *)
let is = Ulexing.from_utf8_string data in
let gs = GrafiteSync.init () in
--- /dev/null
+(* Copyright (C) 2006, HELM Team.
+ *
+ * This file is part of HELM, an Hypertextual, Electronic
+ * Library of Mathematics, developed at the Computer Science
+ * Department, University of Bologna, Italy.
+ *
+ * HELM is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * HELM is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HELM; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+ * MA 02111-1307, USA.
+ *
+ * For details, see the HELM World-Wide-Web page,
+ * http://helm.cs.unibo.it/
+ *)
+
+val main: unit -> unit
+
+val p_to_ma: tptppath:string -> filename:string -> string
+
--- /dev/null
+Unsatisfiable/BOO025-1.ma
+Unsatisfiable/BOO072-1.ma
+Unsatisfiable/BOO074-1.ma
+Unsatisfiable/GRP424-1.ma
+Unsatisfiable/GRP441-1.ma
+Unsatisfiable/GRP500-1.ma
+Unsatisfiable/LAT096-1.ma
+Unsatisfiable/LAT097-1.ma