mutual inductive empty types
is_non_informative ~logger [Some (C.Name name,C.Decl ty)]
paramsno (snd (List.nth cl 0)) ugraph
in
- (* is a singleton or empty non recursive and non informative
+ (* is it a singleton or empty non recursive and non informative
definition? *)
non_informative, ugraph
else
- false,ugraph
+ let is_empty =
+ List.fold_left
+ (fun b (_,_,_,cl) -> b && List.length cl = 0) true itl
+ in
+ (* is it a block of mutual inductive empty definitions? *)
+ is_empty,ugraph
| _ ->
raise (TypeCheckerFailure
(lazy ("Unknown mutual inductive definition:" ^