type ('term, 'lazy_term, 'reduction, 'ident) tactic =
| Absurd of loc * 'term
| Apply of loc * 'term
type ('term, 'lazy_term, 'reduction, 'ident) tactic =
| Absurd of loc * 'term
| Apply of loc * 'term
| Assumption of loc
| Auto of loc * (string * string) list
| Change of loc * ('term, 'lazy_term, 'ident) pattern * 'lazy_term
| Assumption of loc
| Auto of loc * (string * string) list
| Change of loc * ('term, 'lazy_term, 'ident) pattern * 'lazy_term
(* Costruttori Aggiunti *)
| Assume of loc * 'ident * 'term
| Suppose of loc * 'term *'ident * 'term option
(* Costruttori Aggiunti *)
| Assume of loc * 'ident * 'term
| Suppose of loc * 'term *'ident * 'term option
- | By_term_we_proved of loc *'term option * 'term * 'ident * 'term option
- | We_need_to_prove of loc * 'term * 'ident * 'term option
+ | By_term_we_proved of loc *'term option * 'term * 'ident option * 'term option
+ | We_need_to_prove of loc * 'term * 'ident option * 'term option
| Bydone of loc * 'term option
| We_proceed_by_induction_on of loc * 'term * 'term
| Byinduction of loc * 'term * 'ident
| Bydone of loc * 'term option
| We_proceed_by_induction_on of loc * 'term * 'term
| Byinduction of loc * 'term * 'ident