Formal semantics of natural language