In predicate logic, statements (which are called predicates) can be expressed with variables that can be quantified (e.g. “for all values of …”). Event-B uses predicate logic with the following features:
Predicates and expressions are distinguished.
All expressions have a data type, e.g. integer or set of integers.
Quantification over variables, not predicates, is supported. This includes quantification over sets.
A partial function semantics is included, e.g. the predicate is not a tautology because
does not represent a valid value.
Comprehension sets are supported.
Predicates can be evaluated to a Boolean value.