Pattern completeness analysis ----------------------------- This analysis analyzes an operation for a pattern-complete definition. An operation is pattern complete if each pattern match is defined for all constructors. For instance, the operation not True = False not False = True is pattern complete, whereas the operation head (x:_) = x is incomplete. If an operation is defined by overlapping rules, it is complete if there is one alternative with complete pattern matching. For instance, the operation por True x = True por x True = True por False False = False is not complete, since it corresponds to the following definition: por x y = por1 x y ? por2 x y por1 True _ = True por1 False False = True por2 _ True = True Hence, each alternative is incomplete.