/// <summary> /// Compares two function types, by first normalizing so that they each have /// names of variables that correspond to the locations in the function /// </summary> public static bool CompareFxnTypes(CatFxnType f, CatFxnType g) { CatFxnType f2 = CatVarRenamer.RenameVars(f.AddImplicitRhoVariables()); CatFxnType g2 = CatVarRenamer.RenameVars(g.AddImplicitRhoVariables()); return(f2.IsSubtypeOf(g2)); }