加载中…
We propose to use orthologic as the basis for designing type systems supporting intersection, union, and negation types in the presence of subtyping assumptions. We show how to extend orthologic to support monotonic and antimonotonic functions, supporting the use of type constructors in such type systems. We present a proof system for orthologic with function symbols, showing that it admits partial cut elimination. Using these insights, we present an algorithm for deciding the subtyping relation under assumptions. We also show polynomial-time normalization algorithm, allowing simplification of types to their minimal canonical form.

生成讲解博客的中文版本

生成AI智能校验的中文版本