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