From 5dcafa956e49eefc451dd021a0fe8ad2e2338088 Mon Sep 17 00:00:00 2001 From: Hugo Herbelin Date: Fri, 15 Aug 2014 17:43:35 +0200 Subject: Lazy interpretation of patterns so that expressions such as "intros H H'/H" can be given with second H bound by the first one. Not very satisfied by passing closure to tactics.ml, but otherwise tactics would have to be aware of glob_constr. --- tactics/tacticals.mli | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'tactics/tacticals.mli') diff --git a/tactics/tacticals.mli b/tactics/tacticals.mli index de2bbbfae..54aa3b697 100644 --- a/tactics/tacticals.mli +++ b/tactics/tacticals.mli @@ -117,16 +117,16 @@ type branch_assumptions = { (** [check_disjunctive_pattern_size loc pats n] returns an appropriate error message if |pats| <> n *) val check_or_and_pattern_size : - Loc.t -> constr or_and_intro_pattern_expr -> int -> unit + Loc.t -> delayed_open_constr or_and_intro_pattern_expr -> int -> unit (** Tolerate "[]" to mean a disjunctive pattern of any length *) -val fix_empty_or_and_pattern : int -> constr or_and_intro_pattern_expr -> - constr or_and_intro_pattern_expr +val fix_empty_or_and_pattern : int -> + delayed_open_constr or_and_intro_pattern_expr -> + delayed_open_constr or_and_intro_pattern_expr (** Useful for [as intro_pattern] modifier *) val compute_induction_names : - int -> constr or_and_intro_pattern_expr located option -> - intro_patterns array + int -> or_and_intro_pattern option -> intro_patterns array val elimination_sort_of_goal : goal sigma -> sorts_family val elimination_sort_of_hyp : Id.t -> goal sigma -> sorts_family @@ -242,11 +242,11 @@ module New : sig constr -> unit Proofview.tactic val case_then_using : - constr or_and_intro_pattern_expr located option -> (branch_args -> unit Proofview.tactic) -> + or_and_intro_pattern option -> (branch_args -> unit Proofview.tactic) -> constr option -> pinductive -> Term.constr * Term.types -> unit Proofview.tactic val case_nodep_then_using : - constr or_and_intro_pattern_expr located option -> (branch_args -> unit Proofview.tactic) -> + or_and_intro_pattern option -> (branch_args -> unit Proofview.tactic) -> constr option -> pinductive -> Term.constr * Term.types -> unit Proofview.tactic val elim_on_ba : (branch_assumptions -> unit Proofview.tactic) -> branch_args -> unit Proofview.tactic -- cgit v1.2.3