mk_preamble st what script
and proc_other st what =
+ let _, dtext = test_depth st in
let text = Printf.sprintf "%s: %s" "UNEXPANDED" (string_of_head what) in
- let script = [T.Note text] in
+ let script = [T.Apply (what, dtext ^ text)] in
mk_preamble st what script
and proc_proof st t =
let steps, nodes = T.count_steps 0 ast, T.count_nodes 0 ast in
let text = Printf.sprintf "tactics: %u\nnodes: %u" steps nodes in
if st.skip_thm_and_qed then ast
- else T.Theorem (Some s, t, "") :: ast @ [T.Qed text]
+ else T.Theorem (`Theorem, Some s, t, "") :: ast @ [T.Qed text]
| _ ->
failwith "not a theorem"
(****************************************************************************)
+type flavour = Cic.object_flavour
type name = string option
type hyp = string
type what = Cic.annterm
type pattern = Cic.annterm
type step = Note of note
- | Theorem of name * what * note
+ | Theorem of flavour * name * what * note
| Qed of note
| Id of note
| Intros of count option * name list * note
let mk_thnote str a =
if str = "" then a else mk_note "" :: mk_note str :: a
-let mk_theorem name t =
+let mk_theorem flavour name t =
let name = match name with Some name -> name | None -> assert false in
- let obj = N.Theorem (`Theorem, name, t, None) in
+ let obj = N.Theorem (flavour, name, t, None) in
G.Executable (floc, G.Command (floc, G.Obj (floc, obj)))
let mk_qed =
let rec render_step sep a = function
| Note s -> mk_notenote s a
- | Theorem (n, t, s) -> mk_theorem n t :: mk_thnote s a
+ | Theorem (f, n, t, s) -> mk_theorem f n t :: mk_thnote s a
| Qed s -> mk_qed :: mk_tacnote s a
| Id s -> mk_id sep :: mk_tacnote s a
| Intros (c, ns, s) -> mk_intros c ns sep :: mk_tacnote s a
(****************************************************************************)
+type flavour = Cic.object_flavour
type name = string option
type hyp = string
type what = Cic.annterm
type pattern = Cic.annterm
type step = Note of note
- | Theorem of name * what * note
+ | Theorem of flavour * name * what * note
| Qed of note
| Id of note
| Intros of count option * name list * note