semantics and reasoning