Semantic algebra