diff options
author | Hugo Herbelin <Hugo.Herbelin@inria.fr> | 2014-08-13 18:02:11 +0200 |
---|---|---|
committer | Hugo Herbelin <Hugo.Herbelin@inria.fr> | 2014-08-18 18:56:38 +0200 |
commit | 5c82bcd1f87cc893319f2553c81a73c69b13b54d (patch) | |
tree | 83ca001f700b5fdb48d0fac8e249c08c589a1d15 /intf/misctypes.mli | |
parent | d5fece25d8964d5d9fcd55b66164286aeef5fb9f (diff) |
Reorganisation of intropattern code
- emphasizing the different kinds of patterns
- factorizing code of the non-naming intro-patterns
Still some questions:
- Should -> and <- apply to hypotheses or not (currently they apply to
hypotheses either when used in assert-style tactics or apply in, or
when the term to rewrite is a variable, in which case "subst" is
applied)?
- Should "subst" be used when the -> or <- rewrites an equation x=t
posed by "assert" (i.e. rewrite everywhere and clearing x and hyp)?
- Should -> and <- be applicable in non assert-style if the lemma has
quantifications?
Diffstat (limited to 'intf/misctypes.mli')
-rw-r--r-- | intf/misctypes.mli | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/intf/misctypes.mli b/intf/misctypes.mli index 6ee44215c..3d9a344ee 100644 --- a/intf/misctypes.mli +++ b/intf/misctypes.mli @@ -17,14 +17,18 @@ type patvar = Id.t (** Introduction patterns *) type intro_pattern_expr = - | IntroOrAndPattern of or_and_intro_pattern_expr - | IntroInjection of (Loc.t * intro_pattern_expr) list + | IntroForthcoming of bool + | IntroNaming of intro_pattern_naming_expr + | IntroAction of intro_pattern_action_expr +and intro_pattern_naming_expr = | IntroWildcard - | IntroRewrite of bool | IntroIdentifier of Id.t | IntroFresh of Id.t - | IntroForthcoming of bool | IntroAnonymous +and intro_pattern_action_expr = + | IntroOrAndPattern of or_and_intro_pattern_expr + | IntroInjection of (Loc.t * intro_pattern_expr) list + | IntroRewrite of bool and or_and_intro_pattern_expr = (Loc.t * intro_pattern_expr) list list (** Move destination for hypothesis *) |