| C.Prod _ -> []
| C.Lambda (n,s,t) when t == term -> [Some (n,C.Decl s)]
| C.Lambda _ -> []
- | C.LetIn (n,s,t) when t == term -> [Some (n,C.Def s)]
+ | C.LetIn (n,s,t) when t == term -> [Some (n,C.Def (s,None))]
| C.LetIn _ -> []
| C.Appl _
| C.Const _ -> []
let counter = ref 0 in
List.rev_map
(function (name,_,ty,bo) ->
- let res = Some (C.Name name, (C.Def (C.Fix (!counter,ifl)))) in
+ let res =
+ Some (C.Name name, (C.Def ((C.Fix (!counter,ifl)), Some ty)))
+ in
incr counter ;
res
) ifl
let counter = ref 0 in
List.rev_map
(function (name,ty,bo) ->
- let res = Some (C.Name name,(C.Def (C.CoFix (!counter,ifl)))) in
+ let res =
+ Some (C.Name name,(C.Def ((C.CoFix (!counter,ifl)), Some ty)))
+ in
incr counter ;
res
) ifl