Add denotational semantics