formal semantics