aboutsummaryrefslogtreecommitdiffhomepage
path: root/proofs/proof_trees.ml
diff options
context:
space:
mode:
Diffstat (limited to 'proofs/proof_trees.ml')
-rw-r--r--proofs/proof_trees.ml74
1 files changed, 37 insertions, 37 deletions
diff --git a/proofs/proof_trees.ml b/proofs/proof_trees.ml
index af106b1c4..8e2a9b0ea 100644
--- a/proofs/proof_trees.ml
+++ b/proofs/proof_trees.ml
@@ -116,36 +116,36 @@ let pr_goal g =
let env = evar_env g in
let penv = pr_context_of env in
let pc = prterm_env_at_top env g.evar_concl in
- [< 'sTR" "; hV 0 [< penv; 'fNL;
- 'sTR (emacs_str (String.make 1 (Char.chr 253))) ;
- 'sTR "============================"; 'fNL ;
- 'sTR" " ; pc>]; 'fNL>]
+ str" " ++ hv 0 (penv ++ fnl () ++
+ str (emacs_str (String.make 1 (Char.chr 253))) ++
+ str "============================" ++ fnl () ++
+ str" " ++ pc) ++ fnl ()
let pr_concl n g =
let env = evar_env g in
let pc = prterm_env_at_top env g.evar_concl in
- [< 'sTR (emacs_str (String.make 1 (Char.chr 253))) ;
- 'sTR "subgoal ";'iNT n;'sTR " is:";'cUT;'sTR" " ; pc >]
+ str (emacs_str (String.make 1 (Char.chr 253))) ++
+ str "subgoal " ++ int n ++ str " is:" ++ cut () ++ str" " ++ pc
(* print the subgoals but write Subtree proved! even in case some existential
variables remain unsolved, pr_subgoals_existential is a safer version
of pr_subgoals *)
let pr_subgoals = function
- | [] -> [< 'sTR"Subtree proved!" ; 'fNL >]
+ | [] -> (str"Subtree proved!" ++ fnl ())
| [g] ->
- let pg = pr_goal g in v 0 [< 'sTR ("1 "^"subgoal");'cUT; pg >]
+ let pg = pr_goal g in v 0 (str ("1 "^"subgoal") ++cut () ++ pg)
| g1::rest ->
let rec pr_rec n = function
- | [] -> [< >]
+ | [] -> (mt ())
| g::rest ->
let pg = pr_concl n g in
let prest = pr_rec (n+1) rest in
- [< 'cUT; pg; prest >]
+ (cut () ++ pg ++ prest)
in
let pg1 = pr_goal g1 in
let pgr = pr_rec 2 rest in
- v 0 [< 'iNT(List.length rest+1) ; 'sTR" subgoals" ;'cUT; pg1; pgr >]
+ v 0 (int(List.length rest+1) ++ str" subgoals" ++ cut () ++ pg1 ++ pgr)
let pr_subgoal n =
let rec prrec p = function
@@ -153,7 +153,7 @@ let pr_subgoal n =
| g::rest ->
if p = 1 then
let pg = pr_goal g in
- v 0 [< 'sTR "subgoal ";'iNT n;'sTR " is:"; 'cUT; pg >]
+ v 0 (str "subgoal " ++ int n ++ str " is:" ++ cut () ++ pg)
else
prrec (p-1) rest
in
@@ -165,85 +165,85 @@ let pr_seq evd =
in
let pdcl = pr_named_context_of env in
let pcl = prterm_env_at_top env cl in
- hOV 0 [< pdcl ; 'sPC ; hOV 0 [< 'sTR"|- " ; pcl >] >]
+ hov 0 (pdcl ++ spc () ++ hov 0 (str"|- " ++ pcl))
let prgl gl =
let pgl = pr_seq gl in
- [< 'sTR"[" ; pgl ; 'sTR"]" ; 'sPC >]
+ (str"[" ++ pgl ++ str"]" ++ spc ())
let pr_evgl gl =
let phyps = pr_idl (ids_of_named_context gl.evar_hyps) in
let pc = prterm gl.evar_concl in
- hOV 0 [< 'sTR"[" ; phyps; 'sPC; 'sTR"|- " ; pc; 'sTR"]" >]
+ hov 0 (str"[" ++ phyps ++ spc () ++ str"|- " ++ pc ++ str"]")
let pr_evgl_sign gl =
let ps = pr_named_context_of (evar_env gl) in
let pc = prterm gl.evar_concl in
- hOV 0 [< 'sTR"[" ; ps; 'sPC; 'sTR"|- " ; pc; 'sTR"]" >]
+ hov 0 (str"[" ++ ps ++ spc () ++ str"|- " ++ pc ++ str"]")
(* evd.evgoal.lc seems to be printed twice *)
let pr_decl evd =
let pevgl = pr_evgl evd in
let pb =
match evd.evar_body with
- | Evar_empty -> [< 'fNL >]
- | Evar_defined c -> let pc = prterm c in [< 'sTR" => " ; pc; 'fNL >]
+ | Evar_empty -> (fnl ())
+ | Evar_defined c -> let pc = prterm c in (str" => " ++ pc ++ fnl ())
in
- h 0 [< pevgl; pb >]
+ h 0 (pevgl ++ pb)
let pr_evd evd =
prlist_with_sep pr_fnl
(fun (ev,evd) ->
let pe = pr_decl evd in
- h 0 [< pr_id (id_of_existential ev) ; 'sTR"==" ; pe >])
+ h 0 (pr_id (id_of_existential ev) ++ str"==" ++ pe))
(Evd.to_list evd)
let pr_decls decls = pr_evd decls
let pr_evc evc =
let pe = pr_evd evc.sigma in
- [< pe >]
+ (pe)
let pr_evars =
prlist_with_sep pr_fnl
(fun (ev,evd) ->
let pegl = pr_evgl_sign evd in
- [< pr_id (id_of_existential ev); 'sTR " : "; pegl >])
+ (pr_id (id_of_existential ev) ++ str " : " ++ pegl))
(* Print an enumerated list of existential variables *)
let rec pr_evars_int i = function
- | [] -> [< >]
+ | [] -> (mt ())
| (ev,evd)::rest ->
let pegl = pr_evgl_sign evd in
let pei = pr_evars_int (i+1) rest in
- [< (hOV 0 [< 'sTR "Existential "; 'iNT i; 'sTR " ="; 'sPC;
- pr_id (id_of_existential ev) ; 'sTR " : "; pegl >]);
- 'fNL ; pei >]
+ (hov 0 (str "Existential " ++ int i ++ str " =" ++ spc () ++
+ pr_id (id_of_existential ev) ++ str " : " ++ pegl)) ++
+ fnl () ++ pei
let pr_subgoals_existential sigma = function
| [] ->
let exl = Evd.non_instantiated sigma in
if exl = [] then
- [< 'sTR"Subtree proved!" ; 'fNL >]
+ (str"Subtree proved!" ++ fnl ())
else
let pei = pr_evars_int 1 exl in
- [< 'sTR "No more subgoals but non-instantiated existential ";
- 'sTR "variables :" ;'fNL; (hOV 0 pei) >]
+ (str "No more subgoals but non-instantiated existential " ++
+ str "variables :" ++fnl () ++ (hov 0 pei))
| [g] ->
let pg = pr_goal g in
- v 0 [< 'sTR ("1 "^"subgoal");'cUT; pg >]
+ v 0 (str ("1 "^"subgoal") ++cut () ++ pg)
| g1::rest ->
let rec pr_rec n = function
- | [] -> [< >]
+ | [] -> (mt ())
| g::rest ->
let pc = pr_concl n g in
let prest = pr_rec (n+1) rest in
- [< 'cUT; pc; prest >]
+ (cut () ++ pc ++ prest)
in
let pg1 = pr_goal g1 in
let prest = pr_rec 2 rest in
- v 0 [< 'iNT(List.length rest+1) ; 'sTR" subgoals" ;'cUT; pg1; prest;
- 'fNL >]
+ v 0 (int(List.length rest+1) ++ str" subgoals" ++ cut ()
+ ++ pg1 ++ prest ++ fnl ())
open Ast
open Termast
@@ -308,7 +308,7 @@ let ast_of_cvt_redexp = function
let ast_of_cvt_arg = function
| Identifier id -> nvar id
| Qualid qid -> ast_of_qualid qid
- | Quoted_string s -> str s
+ | Quoted_string s -> string s
| Integer n -> num n
| Command c -> ope ("COMMAND",[c])
| Constr c ->
@@ -316,8 +316,8 @@ let ast_of_cvt_arg = function
| OpenConstr (_,c) ->
ope ("COMMAND",[ast_of_constr false (Global.env ()) c])
| Constr_context _ ->
- anomalylabstrm "ast_of_cvt_arg" [<'sTR
- "Constr_context argument could not be used">]
+ anomalylabstrm "ast_of_cvt_arg" (str
+ "Constr_context argument could not be used")
| Clause idl ->
let transl = function
| InHyp id -> ope ("INHYP", [nvar id])