public class Inf { m(x,y,a){ var z; var v; var w; var b; y=x; z=x; v=y; w=y; y=a; b=a; } } /* TPH M m(TPH N x, TPH O y, TPH P a)({ TPH Q z; TPH R v; TPH S w; TPH T b; (y)::TPH O = (x)::TPH N; (z)::TPH Q = (x)::TPH N; (v)::TPH R = (y)::TPH O; (w)::TPH S = (y)::TPH O; (y)::TPH O = (a)::TPH P; (b)::TPH T = (a)::TPH P; return; })::TPH U Inf()({ super(()); })::TPH X } // v::R w::S // \ / // z::Q y::O b::T // \ / \ / // x::N a::P RESULT Final: [[(TPH O < TPH S), (TPH P < TPH O), (TPH O < TPH R), (TPH P < TPH T), (TPH M = void), (TPH N < TPH O), (TPH N < TPH Q)]] Simplified constraints: [(TPH O < TPH S), (TPH P < TPH O), (TPH O < TPH R), (TPH P < TPH T), (TPH N < TPH O), (TPH N < TPH Q)] m: [(TPH DDV = java.lang.Object), (TPH DDX = java.lang.Object), (TPH DDX < TPH DDV), (TPH N < TPH DDX), (TPH P < TPH DDX)] Class Inf: [] Inf: [] Unify nach Oder-Constraints-Anpassung: UND:[(void =. M, , -1 WC: false, IT: false), (N <. O, 1 WC: false, IT: false, 1 WC: false, IT: false), (P <. O, 1 WC: false, IT: false, 1 WC: false, IT: false), (N <. Q, 1 WC: false, IT: false, 0 WC: true, IT: false), (O <. S, 1 WC: false, IT: false, 0 WC: true, IT: false), (O <. R, 1 WC: false, IT: false, 0 WC: true, IT: false), (P <. T, 1 WC: false, IT: false, 0 WC: true, IT: false)] isInherited = false isStatement = false ODER: */