evenlength and oddlength predicate