*)
(**
- current proof (proof uri * metas * (in)complete proof * term to be prooved),
- possibly None
+ current proof (proof uri * metas * (in)complete proof * term to be prooved)
*)
-type proof = (UriManager.uri * Cic.metasenv * Cic.term * Cic.term) option
+type proof = UriManager.uri * Cic.metasenv * Cic.term * Cic.term
(** current goal, integer index *)
-type goal = int option
- (** current status: (proof, goal) pair *)
-type status = proof * goal
+type goal = int
(**
a tactic: make a transition from one status to another one or, usually,
raise a "Fail" (@see Fail) exception in case of failure
*)
-type tactic = status:status -> status
+ (** an unfinished proof with the optional current goal *)
+type tactic = status:(proof * goal) -> proof * goal list
(** tactic failure *)
exception Fail of string