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