arcs must be directed (is A a subtype of B or vice versa)
graph must be acyclic (proper subtype)
delete arc from C to A (transitively implied)
graph must be acyclic (proper subtype)
primitive types A and B must be exclusive, so they cannot have a common subtype C