Sebas online demonstration

The code is available on github.

Syntax Reference

Feature Type syntax
Basic Types S, T
top top
bottom bot
intersection S & T
union S | T
negation ~T
nominal tag1 #A
record { a: S, b: T }
function S -> T
variable 'a
Input format
type alias 'a == T
subtyping relation S <: T
subtyping problem 'a == {a: 'a}
'b == {a: 'b}
  |-
'a <: 'b
'b <: 'a

1. Note that the supertag relation is the prefix relation. For example, #A is a supertag of #AA, #AB, etc.