FC:\{java.util.AbstractList=Elem: Node(java.util.AbstractList) Prec: [java.util.Collection, java.lang.Object, java.util.List, java.lang.Iterable, java.util.AbstractCollection] Desc: [java.util.Vector] , java.util.Collection=Elem: Node(java.util.Collection) Prec: [java.lang.Object, java.lang.Iterable] Desc: [java.util.AbstractList, java.util.List, java.util.Vector, java.util.AbstractCollection] , java.lang.Cloneable=Elem: Node(java.lang.Cloneable) Prec: [java.lang.Object] Desc: [java.util.Vector] , java.lang.Object=Elem: Node(java.lang.Object) Prec: [java.lang.Object] Desc: [java.util.AbstractList, java.lang.Cloneable, java.util.Collection, java.lang.Object, java.util.RandomAccess, Lambda, java.io.Serializable, java.util.List, java.util.Vector, java.lang.Iterable, java.util.AbstractCollection, Apply] , java.util.RandomAccess=Elem: Node(java.util.RandomAccess) Prec: [java.lang.Object] Desc: [java.util.Vector] , java.util.List=Elem: Node(java.util.List) Prec: [java.util.Collection, java.lang.Object, java.lang.Iterable] Desc: [java.util.AbstractList, java.util.Vector] , Lambda=Elem: Node(Lambda) Prec: [java.lang.Object] Desc: [] , java.io.Serializable=Elem: Node(java.io.Serializable) Prec: [java.lang.Object] Desc: [java.util.Vector] , java.util.Vector=Elem: Node(java.util.Vector) Prec: [java.util.AbstractList, java.lang.Cloneable, java.util.Collection, java.lang.Object, java.util.RandomAccess, java.io.Serializable, java.util.List, java.lang.Iterable, java.util.AbstractCollection] Desc: [] , java.lang.Iterable=Elem: Node(java.lang.Iterable) Prec: [java.lang.Object] Desc: [java.util.AbstractList, java.util.Collection, java.util.List, java.util.Vector, java.util.AbstractCollection] , java.util.AbstractCollection=Elem: Node(java.util.AbstractCollection) Prec: [java.util.Collection, java.lang.Object, java.lang.Iterable] Desc: [java.util.AbstractList, java.util.Vector] , Apply=Elem: Node(Apply) Prec: [java.lang.Object] Desc: [] } class Apply { Apply()({ super(()); })::TPH M }class Lambda { TPH X m()({ TPH Y lam1; (lam1)::TPH Y = ((TPH Z x) -> ({ return (x)::TPH Z; })::TPH AA)::TPH AD; return (lam1)::TPH Y; })::TPH AE Lambda()({ super(()); })::TPH AH }0 AA: [(AA =. BFC, 1, -1)] 1 Unifikation: [(AD =. Fun1, -1), (AA =. BFC, 1, -1), (Z <. AA, 1, 1), (AD <. Y, -1, -1), (Y <. X, -1, -1)] 1 AA: [(AA =. BFC, 1, -1)] 2 Unifikation: [(Fun1 <. Y, , -1), (AD =. Fun1, -1), (Z <. BFC, 1, -1), (AA =. BFC, 1, -1), (Y <. X, -1, -1)] 2 AA: [(AA =. BFC, 1, -1)] 3 Unifikation: [(Z <. BFC, 1, -1), (AD =. Fun1, -1), (AA =. BFC, 1, -1), (Y =. Fun1, -1), (Fun1 <. X, , -1), (BFC <. gen_bf, -1, -1), (gen_hv <. Z, 1, 1)] 3 AA: [(AA =. BFC, 1, -1)] 4 Unifikation: [(gen_ah <. gen_hv, 1, 1), (Z <. BFC, 1, -1), (AD =. Fun1, -1), (AA =. BFC, 1, -1), (Y =. Fun1, -1), (gen_bf <. gen_sr, -1, -1), (BFC <. gen_bf, -1, -1), (X =. Fun1, -1), (gen_hv <. Z, 1, 1)] [(gen_ah <. gen_hv, 1, 1), (Z <. BFC, 1, -1), (AD =. Fun1, -1), (AA =. BFC, 1, -1), (Y =. Fun1, -1), (gen_bf <. gen_sr, -1, -1), (BFC <. gen_bf, -1, -1), (X =. Fun1, -1), (gen_hv <. Z, 1, 1)] Result1 [[(gen_ah <. gen_hv, 1, 1), (Z <. BFC, 1, -1), (AD =. Fun1, -1), (AA =. BFC, 1, -1), (Y =. Fun1, -1), (gen_bf <. gen_sr, -1, -1), (BFC <. gen_bf, -1, -1), (X =. Fun1, -1), (gen_hv <. Z, 1, 1)]] Result1 [[(gen_ah <. gen_hv, 1, 1), (Z <. BFC, 1, -1), (AD =. Fun1, -1), (AA =. BFC, 1, -1), (Y =. Fun1, -1), (gen_bf <. gen_sr, -1, -1), (BFC <. gen_bf, -1, -1), (X =. Fun1, -1), (gen_hv <. Z, 1, 1)]] Result1 [[(gen_ah <. gen_hv, 1, 1), (Z <. BFC, 1, -1), (AD =. Fun1, -1), (AA =. BFC, 1, -1), (Y =. Fun1, -1), (gen_bf <. gen_sr, -1, -1), (BFC <. gen_bf, -1, -1), (X =. Fun1, -1), (gen_hv <. Z, 1, 1)]] Result1 [[(gen_ah <. gen_hv, 1, 1), (Z <. BFC, 1, -1), (AD =. Fun1, -1), (AA =. BFC, 1, -1), (Y =. Fun1, -1), (gen_bf <. gen_sr, -1, -1), (BFC <. gen_bf, -1, -1), (X =. Fun1, -1), (gen_hv <. Z, 1, 1)]] RES: [[(gen_ah <. gen_hv, 1, 1), (Z <. BFC, 1, -1), (AD =. Fun1, -1), (AA =. BFC, 1, -1), (Y =. Fun1, -1), (gen_bf <. gen_sr, -1, -1), (BFC <. gen_bf, -1, -1), (X =. Fun1, -1), (gen_hv <. Z, 1, 1)]]