diff options
author | Hugo Herbelin <Hugo.Herbelin@inria.fr> | 2017-04-02 19:13:58 +0200 |
---|---|---|
committer | Hugo Herbelin <Hugo.Herbelin@inria.fr> | 2017-04-09 11:52:17 +0200 |
commit | 2ddc9d12bd4616f10245c40bc0c87ae548911809 (patch) | |
tree | bd3cea37a3f145510195aaa128ea6fac7f988664 /tactics | |
parent | 21d308fc083ee395e7b1ff78e75ec3a1305cb2f4 (diff) |
Fixing #5420 as well as many related bugs due to miscounting let-ins.
- Supporting let-ins in tactic "fix", and hence in interactive
Fixpoint and mutual theorems.
- Documenting more precisely the meaning of n in tactic "fix id n".
- Fixing computation of recursive index at interpretation time in the
presence of let-ins.
Diffstat (limited to 'tactics')
-rw-r--r-- | tactics/tactics.ml | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/tactics/tactics.ml b/tactics/tactics.ml index 0aab77314..43fc1d511 100644 --- a/tactics/tactics.ml +++ b/tactics/tactics.ml @@ -507,6 +507,9 @@ let rec check_mutind env sigma k cl = match kind_of_term (strip_outer_cast cl) w else let open Context.Rel.Declaration in check_mutind (push_rel (LocalAssum (na, c1)) env) sigma (pred k) b +| LetIn (na, c1, t, b) -> + let open Context.Rel.Declaration in + check_mutind (push_rel (LocalDef (na, c1, t)) env) sigma k b | _ -> error "Not enough products." (* Refine as a fixpoint *) |