aboutsummaryrefslogtreecommitdiffhomepage
path: root/tactics
diff options
context:
space:
mode:
authorGravatar Hugo Herbelin <Hugo.Herbelin@inria.fr>2017-04-02 19:13:58 +0200
committerGravatar Hugo Herbelin <Hugo.Herbelin@inria.fr>2017-04-09 11:52:17 +0200
commit2ddc9d12bd4616f10245c40bc0c87ae548911809 (patch)
treebd3cea37a3f145510195aaa128ea6fac7f988664 /tactics
parent21d308fc083ee395e7b1ff78e75ec3a1305cb2f4 (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.ml3
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 *)