Type-logical semantics