- | NCic.Fixpoint _ -> []
- | NCic.Inductive _ -> []
- | NCic.Constant (_,_,_, ty, _) ->
- [ ty, NCic.Const(NReference.reference_of_spec
- uri (NReference.Def height)) ]
+ | NCic.Fixpoint (ind,ifl,_) ->
+ HExtlib.list_mapi
+ (fun (_,_,rno,ty,_) i ->
+ if ind then mk_item ty (NReference.Fix (i,rno,height))
+ else mk_item ty (NReference.CoFix height)) ifl
+ | NCic.Inductive (b,lno,itl,_) ->
+ HExtlib.list_mapi
+ (fun (_,_,ty,_) i -> mk_item ty (NReference.Ind (b,i,lno))) itl
+ @
+ List.map (fun ((_,_,ty),i,j) -> mk_item ty (NReference.Con (i,j+1,lno)))
+ (List.flatten (HExtlib.list_mapi
+ (fun (_,_,_,cl) i -> HExtlib.list_mapi (fun x j-> x,i,j) cl)
+ itl))
+ | NCic.Constant (_,_,Some _, ty, _) ->
+ [ mk_item ty (NReference.Def height) ]
+ | NCic.Constant (_,_,None, ty, _) ->
+ [ mk_item ty NReference.Decl ]