| C.LetIn (_,s,t) -> (aux s) @ (aux t)
| C.Appl l -> List.fold_left (fun i t -> i @ (aux t)) [] l
| C.Const _
- | C.Abst _
| C.MutInd _
| C.MutConstruct _ -> []
| C.MutCase (sp,cookingsno,i,outt,t,pl) ->
| C.LetIn (nn,s,t) -> C.LetIn (nn, aux n s, aux (n+1) t)
| C.Appl l -> C.Appl (List.map (aux n) l)
| C.Const _ as t -> t
- | C.Abst _ -> assert false
| C.MutInd _
| C.MutConstruct _ as t -> t
| C.MutCase (sp,cookingsno,i,outt,t,pl) ->
| _ ->raise NotTheRightEliminatorShape
in
find_head he,fargs
+ | C.Meta (emeta,_) -> emeta,[]
(* *)
| _ -> raise NotTheRightEliminatorShape
in