in
aux (k, e, he, tl' @ s)
| (_, _, NCic.Const
- (NReference.Ref (_,_,NReference.Def) as refer), s) as config ->
- let _,_,body,_,_,height = NCicEnvironment.get_checked_def refer in
- if delta > height then config else aux (0, [], body, s)
+ (NReference.Ref (height,_,NReference.Def) as refer), s) as config ->
+ if delta > height then config else
+ let _,_,body,_,_,_ = NCicEnvironment.get_checked_def refer in
+ aux (0, [], body, s)
| (_, _, NCic.Const (NReference.Ref
- (_,_,NReference.Fix (fixno,recindex)) as refer),s) as config ->
- let fixes,_, height = NCicEnvironment.get_checked_fixes_or_cofixes refer in
+ (height,_,NReference.Fix (fixno,recindex)) as refer),s) as config ->
if delta > height then config else
(match
try Some (RS.from_stack (List.nth s recindex))
with
| None -> config
| Some recparam ->
+ let fixes,_,_ = NCicEnvironment.get_checked_fixes_or_cofixes refer in
match reduce ~delta:0 ~subst context recparam with
| (_,_,NCic.Const (NReference.Ref (_,_,NReference.Con _)), _) as c ->
let new_s =