| Check of 'term
| Proof
| Qed of string option
- (* name.
+ (** name.
* Name is needed when theorem was started without providing a name
*)
| Quit
| Theorem of thm_flavour * string option * 'term * 'term option
- (* flavour, name, type, body
+ (** flavour, name, type, body
* - name is absent when an unnamed theorem is being proved, tipically in
* interactive usage
* - body is present when its given along with the command, otherwise it
* will be given in proof editing mode using the tactical language
*)
+ | Redo of int option
+ | Undo of int option
type ('term, 'ident) tactical =
| LocatedTactical of CicAst.location * ('term, 'ident) tactical
| Qed name ->
(match name with None -> "Qed" | Some name -> sprintf "Save %s" name)
| Quit -> "Quit"
+ | Redo None -> "Redo"
+ | Redo (Some n) -> sprintf "Redo %d" n
| Theorem (flavour, name, typ, body) ->
sprintf "%s %s: %s %s"
(pp_flavour flavour)
(match body with
| None -> ""
| Some body -> "\\def " ^ CicAstPp.pp_term body)
+ | Undo None -> "Undo"
+ | Undo (Some n) -> sprintf "Undo %d" n
let rec pp_tactical = function
| LocatedTactical (loc, tac) -> pp_tactical tac