-(* addDebugItem "ask record choice"
- (fun _ ->
- HLog.debug (string_of_int
- (MatitaGtkMisc.ask_record_choice ~gui ~title:"title" ~message:"msg"
- ~fields:["a"; "b"; "c"]
- ~records:[
- ["0"; "0"; "0"]; ["0"; "0"; "1"]; ["0"; "1"; "0"]; ["0"; "1"; "1"];
- ["1"; "0"; "0"]; ["1"; "0"; "1"]; ["1"; "1"; "0"]; ["1"; "1"; "1"]]
- ()))); *)
- addDebugItem "rotate light bulbs"
- (fun _ ->
- let nb = gui#main#hintNotebook in
- nb#goto_page ((nb#current_page + 1) mod 3));
- addDebugItem "print runtime dir"
- (fun _ ->
- prerr_endline BuildTimeConf.runtime_base_dir);
- addDebugItem "disable all (pretty printing) notations"
- (fun _ -> CicNotation.set_active_notations []);
- addDebugItem "enable all (pretty printing) notations"
- (fun _ ->
- CicNotation.set_active_notations
- (List.map fst (CicNotation.get_all_notations ())));
+ addDebugItem "Print current proof term"
+ (fun _ ->
+ HLog.debug
+ (CicPp.ppterm
+ (match
+ (MatitaScript.current ())#grafite_status#proof_status
+ with
+ | GrafiteTypes.No_proof -> (Cic.Implicit None)
+ | 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 _ ->
+ prerr_endline
+ (ApplyTransformation.txt_of_cic_object 120 []
+ ~map_unicode_to_tex:(Helm_registry.get_bool
+ "matita.paste_unicode_as_tex")
+ (match
+ (MatitaScript.current ())#grafite_status#proof_status
+ with
+ | GrafiteTypes.No_proof -> assert false
+ | Incomplete_proof i ->
+ let _,m,_subst,p,ty, attrs = i.GrafiteTypes.proof in
+ Cic.CurrentProof ("current (incomplete) proof",m,Lazy.force p,ty,[],attrs)
+ | Proof (_,m,_subst,p,ty, attrs) ->
+ Cic.CurrentProof ("current proof",m,Lazy.force p,ty,[],attrs)
+ | Intermediate _ -> assert false)));
+ addDebugSeparator ();
+ addDebugCheckbox "high level pretty printer" ~init:true
+ (fun mi () -> CicMetaSubst.use_low_level_ppterm_in_context := mi#active);
+ addDebugSeparator ();
+ addDebugItem "always show all disambiguation errors"
+ (fun _ -> MatitaGui.all_disambiguation_passes := true);
+ addDebugItem "prune disambiguation errors"
+ (fun _ -> MatitaGui.all_disambiguation_passes := false);
+ addDebugSeparator ();
+ addDebugCheckbox "multiple disambiguation passes" ~init:true
+ (fun mi () -> MultiPassDisambiguator.only_one_pass := mi#active);
+ addDebugCheckbox "tactics logging"
+ (fun mi () -> NTacStatus.debug := mi#active);
+ addDebugCheckbox "auto logging"
+ (fun mi () -> NAuto.debug := mi#active);
+ addDebugCheckbox "disambiguation/refiner/unification logging"
+ (fun mi () -> NCicRefiner.debug := mi#active; NCicUnification.debug :=
+ mi#active; MultiPassDisambiguator.debug := mi#active);
+ addDebugCheckbox "reduction logging"
+ (fun mi () -> NCicReduction.debug := mi#active);
+ addDebugSeparator ();
+ addDebugItem "Expand virtuals"
+ (fun _ -> (MatitaScript.current ())#expandAllVirtuals);