>>40
http://en.wikipedia.org/wiki/Algebraic_types
In set theory the equivalent of an algebraic data type is a disjoint union – a set whose elements are pairs consisting of a tag (equivalent to a constructor) and an object of a type corresponding to the tag (equivalent to the constructor arguments).
That is: Haskell is equivalent to Set Theory.