🤖 AI Summary
This paper addresses the absence of a formal semantic subtyping definition for parameterized map types in Erlang. We propose the first set-theoretic type model supporting type variables, base types, set types, and map types—fully covering Erlang’s entire map type syntax. Grounded in set inclusion as its semantic foundation, our model provides the first explicit subtyping judgment rules for parameterized map types. It captures structural constraints via type variables and set-theoretic operations—including intersection, union, and complement. The resulting semantic subtyping framework enables precise derivation of complex map-type subtyping relationships, thereby significantly improving the accuracy and expressiveness of Erlang’s static type checking. Moreover, it establishes a rigorous theoretical foundation for future extensions of Erlang’s type system and practical tool implementation.
📝 Abstract
In this paper we will construct a set-theoretic model of types featuring type variables, base types, set-theoretic types and map types. Syntax of map types spans all the map types available in Erlang. The model of types is used to define a semantic subtyping relation based on set containment. The novelty of this work is the definition of subtyping over parameteric map types.