HaloO, TSa wrote:
Note that A = (A|B) & (A|C) is the intersection type of A|B and A|C. Note further that A|B is a subtype of A and B written A|B <: A and A|B <: B and so on. Usually the A|B|C is called Bottom or some such. I think it is the Whatever type of Perl6. It is the glb (greatest lower bound) of A, B and C. In a larger lattice this type gets larger as well. Any is the trivial supertype of all types.
Damn it! I always puzzle glb and lub (least upper bound). So it should read lub there. This is because the intension set gets larger even though a subtype is formed. Note that the extension set "the instances" becomes smaller! In a limiting case the Whatever type has got no instances at all :) Sorry, --