Holds if GVN t1
subsumes GVN t2
. That is, it is possible to replace all
type parameters in t1
with some GVNs (possibly type parameters themselves)
to make the two substituted terms equal.
Import path
import semmle.code.csharp.Unification
predicate subsumes(ConstructedGvnType t1, ConstructedGvnType t2)