Type Inheritance and Relational Theory
Background
A Fundamental Concept
\(T^\prime\) is a subtype of type \(T\) if and only if, both of the following conditions are satisfied:
- Every value of type \(T^\prime\) is a value of type \(T\) (i.e., "\(T^\prime\) is a subset of \(T\)").
- A value of type \(T\) is a value of type \(T^\prime\) if and only if it satisfies a certain constraint, where the constraint in question is such that it can be tested for any given value of type \(T\) by examining just those properties that are intrinsic to values of type \(T\) in general.