log-e-sappho/example/comparable.msph

16 lines
196 B
Text

nominal lt
nominal eq
nominal gt
type ord = lt | eq | gt
type comparable[t] = {
member cmp : t -> ord
}
type integer = {
member cmp : integer -> ord
}
assert integer <: comparable[integer]