use language predicate as defined in paper (and coq)