The rewrite relation of the following TRS is considered.
app(app(const,x),y) | → | x | (1) |
app(app(app(subst,f),g),x) | → | app(app(f,x),app(g,x)) | (2) |
app(app(fix,f),x) | → | app(app(f,app(fix,f)),x) | (3) |
We uncurry the binary symbol app in combination with the following symbol map which also determines the applicative arities of these symbols.
const | is mapped to | const, | const1(x1), | const2(x1, x2) | |
subst | is mapped to | subst, | subst1(x1), | subst2(x1, x2), | subst3(x1, x2, x3) |
fix | is mapped to | fix, | fix1(x1), | fix2(x1, x2) |
const2(x,y) | → | x | (11) |
subst3(f,g,x) | → | app(app(f,x),app(g,x)) | (12) |
fix2(f,x) | → | app(app(f,fix1(f)),x) | (13) |
app(const,y1) | → | const1(y1) | (4) |
app(const1(x0),y1) | → | const2(x0,y1) | (5) |
app(subst,y1) | → | subst1(y1) | (6) |
app(subst1(x0),y1) | → | subst2(x0,y1) | (7) |
app(subst2(x0,x1),y1) | → | subst3(x0,x1,y1) | (8) |
app(fix,y1) | → | fix1(y1) | (9) |
app(fix1(x0),y1) | → | fix2(x0,y1) | (10) |
const2(x0,x1) |
subst3(x0,x1,x2) |
fix2(x0,x1) |
app(const,x0) |
app(const1(x0),x1) |
app(subst,x0) |
app(subst1(x0),x1) |
app(subst2(x0,x1),x2) |
app(fix,x0) |
app(fix1(x0),x1) |
subst3#(f,g,x) | → | app#(app(f,x),app(g,x)) | (14) |
subst3#(f,g,x) | → | app#(f,x) | (15) |
subst3#(f,g,x) | → | app#(g,x) | (16) |
fix2#(f,x) | → | app#(app(f,fix1(f)),x) | (17) |
fix2#(f,x) | → | app#(f,fix1(f)) | (18) |
app#(const1(x0),y1) | → | const2#(x0,y1) | (19) |
app#(subst2(x0,x1),y1) | → | subst3#(x0,x1,y1) | (20) |
app#(fix1(x0),y1) | → | fix2#(x0,y1) | (21) |
app#(const1(x0),y1) | → | const2#(x0,y1) | (19) |
subst3#(const,y1,x0) | → | app#(const1(x0),app(y1,x0)) | (22) |
subst3#(const1(x0),y1,x1) | → | app#(const2(x0,x1),app(y1,x1)) | (23) |
subst3#(subst,y1,x0) | → | app#(subst1(x0),app(y1,x0)) | (24) |
subst3#(subst1(x0),y1,x1) | → | app#(subst2(x0,x1),app(y1,x1)) | (25) |
subst3#(subst2(x0,x1),y1,x2) | → | app#(subst3(x0,x1,x2),app(y1,x2)) | (26) |
subst3#(fix,y1,x0) | → | app#(fix1(x0),app(y1,x0)) | (27) |
subst3#(fix1(x0),y1,x1) | → | app#(fix2(x0,x1),app(y1,x1)) | (28) |
subst3#(const,y1,x0) | → | app#(const1(x0),app(y1,x0)) | (22) |
subst3#(subst,y1,x0) | → | app#(subst1(x0),app(y1,x0)) | (24) |
→ |
→ |
→ |
fix2#(const,y1) | → | app#(const1(fix1(const)),y1) | (32) |
fix2#(const1(x0),y1) | → | app#(const2(x0,fix1(const1(x0))),y1) | (33) |
fix2#(subst,y1) | → | app#(subst1(fix1(subst)),y1) | (34) |
fix2#(subst1(x0),y1) | → | app#(subst2(x0,fix1(subst1(x0))),y1) | (35) |
fix2#(subst2(x0,x1),y1) | → | app#(subst3(x0,x1,fix1(subst2(x0,x1))),y1) | (36) |
fix2#(fix,y1) | → | app#(fix1(fix1(fix)),y1) | (37) |
fix2#(fix1(x0),y1) | → | app#(fix2(x0,fix1(fix1(x0))),y1) | (38) |
fix2#(const,y1) | → | app#(const1(fix1(const)),y1) | (32) |
fix2#(subst,y1) | → | app#(subst1(fix1(subst)),y1) | (34) |
→ |
→ |
→ |
app#(subst2(x0,x1),y1) | → | subst3#(x0,x1,y1) | (20) |
app#(fix1(x0),y1) | → | fix2#(x0,y1) | (21) |
fix2#(f,x) | → | app#(f,fix1(f)) | (18) |
fix2#(subst1(x0),y1) | → | app#(subst2(x0,fix1(subst1(x0))),y1) | (35) |
fix2#(fix,y1) | → | app#(fix1(fix1(fix)),y1) | (37) |
subst3#(f,g,x) | → | app#(g,x) | (16) |
subst3#(subst1(x0),y1,x1) | → | app#(subst2(x0,x1),app(y1,x1)) | (25) |
subst3#(fix,y1,x0) | → | app#(fix1(x0),app(y1,x0)) | (27) |
subst3#(const1(x0),y1,x1) | → | app#(x0,app(y1,x1)) | (29) |
subst3#(subst2(x0,x1),y1,x2) | → | app#(app(app(x0,x2),app(x1,x2)),app(y1,x2)) | (30) |
subst3#(fix1(x0),y1,x1) | → | app#(app(app(x0,fix1(x0)),x1),app(y1,x1)) | (31) |
fix2#(const1(x0),y1) | → | app#(x0,y1) | (39) |
fix2#(subst2(x0,x1),y1) | → | app#(app(app(x0,fix1(subst2(x0,x1))),app(x1,fix1(subst2(x0,x1)))),y1) | (40) |
fix2#(fix1(x0),y1) | → | app#(app(app(x0,fix1(x0)),fix1(fix1(x0))),y1) | (41) |
subst3#(subst2(y_0,y_1),x1,x2) | → | app#(subst2(y_0,y_1),x2) | (42) |
subst3#(fix1(y_0),x1,x2) | → | app#(fix1(y_0),x2) | (43) |
app#(subst2(x0,x1),y1) | → | subst3#(x0,x1,y1) | (20) |
app#(fix1(x0),y1) | → | fix2#(x0,y1) | (21) |
fix2#(subst1(x0),y1) | → | app#(subst2(x0,fix1(subst1(x0))),y1) | (35) |
fix2#(fix,y1) | → | app#(fix1(fix1(fix)),y1) | (37) |
subst3#(f,g,x) | → | app#(g,x) | (16) |
subst3#(subst1(x0),y1,x1) | → | app#(subst2(x0,x1),app(y1,x1)) | (25) |
subst3#(fix,y1,x0) | → | app#(fix1(x0),app(y1,x0)) | (27) |
subst3#(const1(x0),y1,x1) | → | app#(x0,app(y1,x1)) | (29) |
subst3#(subst2(x0,x1),y1,x2) | → | app#(app(app(x0,x2),app(x1,x2)),app(y1,x2)) | (30) |
subst3#(fix1(x0),y1,x1) | → | app#(app(app(x0,fix1(x0)),x1),app(y1,x1)) | (31) |
fix2#(const1(x0),y1) | → | app#(x0,y1) | (39) |
fix2#(subst2(x0,x1),y1) | → | app#(app(app(x0,fix1(subst2(x0,x1))),app(x1,fix1(subst2(x0,x1)))),y1) | (40) |
fix2#(fix1(x0),y1) | → | app#(app(app(x0,fix1(x0)),fix1(fix1(x0))),y1) | (41) |
subst3#(subst2(y_0,y_1),x1,x2) | → | app#(subst2(y_0,y_1),x2) | (42) |
subst3#(fix1(y_0),x1,x2) | → | app#(fix1(y_0),x2) | (43) |
fix2#(subst2(y_0,y_1),x1) | → | app#(subst2(y_0,y_1),fix1(subst2(y_0,y_1))) | (44) |
fix2#(fix1(y_0),x1) | → | app#(fix1(y_0),fix1(fix1(y_0))) | (45) |
app#(subst2(x0,x1),y1) | → | subst3#(x0,x1,y1) | (20) |
fix2#(subst1(x0),y1) | → | app#(subst2(x0,fix1(subst1(x0))),y1) | (35) |
fix2#(fix,y1) | → | app#(fix1(fix1(fix)),y1) | (37) |
subst3#(f,g,x) | → | app#(g,x) | (16) |
subst3#(subst1(x0),y1,x1) | → | app#(subst2(x0,x1),app(y1,x1)) | (25) |
subst3#(fix,y1,x0) | → | app#(fix1(x0),app(y1,x0)) | (27) |
subst3#(const1(x0),y1,x1) | → | app#(x0,app(y1,x1)) | (29) |
subst3#(subst2(x0,x1),y1,x2) | → | app#(app(app(x0,x2),app(x1,x2)),app(y1,x2)) | (30) |
subst3#(fix1(x0),y1,x1) | → | app#(app(app(x0,fix1(x0)),x1),app(y1,x1)) | (31) |
fix2#(const1(x0),y1) | → | app#(x0,y1) | (39) |
fix2#(subst2(x0,x1),y1) | → | app#(app(app(x0,fix1(subst2(x0,x1))),app(x1,fix1(subst2(x0,x1)))),y1) | (40) |
fix2#(fix1(x0),y1) | → | app#(app(app(x0,fix1(x0)),fix1(fix1(x0))),y1) | (41) |
subst3#(subst2(y_0,y_1),x1,x2) | → | app#(subst2(y_0,y_1),x2) | (42) |
subst3#(fix1(y_0),x1,x2) | → | app#(fix1(y_0),x2) | (43) |
fix2#(subst2(y_0,y_1),x1) | → | app#(subst2(y_0,y_1),fix1(subst2(y_0,y_1))) | (44) |
fix2#(fix1(y_0),x1) | → | app#(fix1(y_0),fix1(fix1(y_0))) | (45) |
app#(fix1(subst1(y_0)),x1) | → | fix2#(subst1(y_0),x1) | (46) |
app#(fix1(fix),x1) | → | fix2#(fix,x1) | (47) |
app#(fix1(const1(y_0)),x1) | → | fix2#(const1(y_0),x1) | (48) |
app#(fix1(subst2(y_0,y_1)),x1) | → | fix2#(subst2(y_0,y_1),x1) | (49) |
app#(fix1(fix1(y_0)),x1) | → | fix2#(fix1(y_0),x1) | (50) |
app#(subst2(x0,x1),y1) | → | subst3#(x0,x1,y1) | (20) |
fix2#(subst1(x0),y1) | → | app#(subst2(x0,fix1(subst1(x0))),y1) | (35) |
fix2#(fix,y1) | → | app#(fix1(fix1(fix)),y1) | (37) |
subst3#(subst1(x0),y1,x1) | → | app#(subst2(x0,x1),app(y1,x1)) | (25) |
subst3#(fix,y1,x0) | → | app#(fix1(x0),app(y1,x0)) | (27) |
subst3#(const1(x0),y1,x1) | → | app#(x0,app(y1,x1)) | (29) |
subst3#(subst2(x0,x1),y1,x2) | → | app#(app(app(x0,x2),app(x1,x2)),app(y1,x2)) | (30) |
subst3#(fix1(x0),y1,x1) | → | app#(app(app(x0,fix1(x0)),x1),app(y1,x1)) | (31) |
fix2#(const1(x0),y1) | → | app#(x0,y1) | (39) |
fix2#(subst2(x0,x1),y1) | → | app#(app(app(x0,fix1(subst2(x0,x1))),app(x1,fix1(subst2(x0,x1)))),y1) | (40) |
fix2#(fix1(x0),y1) | → | app#(app(app(x0,fix1(x0)),fix1(fix1(x0))),y1) | (41) |
subst3#(subst2(y_0,y_1),x1,x2) | → | app#(subst2(y_0,y_1),x2) | (42) |
subst3#(fix1(y_0),x1,x2) | → | app#(fix1(y_0),x2) | (43) |
fix2#(subst2(y_0,y_1),x1) | → | app#(subst2(y_0,y_1),fix1(subst2(y_0,y_1))) | (44) |
fix2#(fix1(y_0),x1) | → | app#(fix1(y_0),fix1(fix1(y_0))) | (45) |
app#(fix1(subst1(y_0)),x1) | → | fix2#(subst1(y_0),x1) | (46) |
app#(fix1(fix),x1) | → | fix2#(fix,x1) | (47) |
app#(fix1(const1(y_0)),x1) | → | fix2#(const1(y_0),x1) | (48) |
app#(fix1(subst2(y_0,y_1)),x1) | → | fix2#(subst2(y_0,y_1),x1) | (49) |
app#(fix1(fix1(y_0)),x1) | → | fix2#(fix1(y_0),x1) | (50) |
subst3#(x0,subst2(y_0,y_1),x2) | → | app#(subst2(y_0,y_1),x2) | (51) |
subst3#(x0,fix1(subst1(y_0)),x2) | → | app#(fix1(subst1(y_0)),x2) | (52) |
subst3#(x0,fix1(fix),x2) | → | app#(fix1(fix),x2) | (53) |
subst3#(x0,fix1(const1(y_0)),x2) | → | app#(fix1(const1(y_0)),x2) | (54) |
subst3#(x0,fix1(subst2(y_0,y_1)),x2) | → | app#(fix1(subst2(y_0,y_1)),x2) | (55) |
subst3#(x0,fix1(fix1(y_0)),x2) | → | app#(fix1(fix1(y_0)),x2) | (56) |
fix2#(subst1(x0),y1) | → | app#(subst2(x0,fix1(subst1(x0))),y1) | (35) |
fix2#(fix,y1) | → | app#(fix1(fix1(fix)),y1) | (37) |
subst3#(subst1(x0),y1,x1) | → | app#(subst2(x0,x1),app(y1,x1)) | (25) |
subst3#(fix,y1,x0) | → | app#(fix1(x0),app(y1,x0)) | (27) |
subst3#(const1(x0),y1,x1) | → | app#(x0,app(y1,x1)) | (29) |
subst3#(subst2(x0,x1),y1,x2) | → | app#(app(app(x0,x2),app(x1,x2)),app(y1,x2)) | (30) |
subst3#(fix1(x0),y1,x1) | → | app#(app(app(x0,fix1(x0)),x1),app(y1,x1)) | (31) |
fix2#(const1(x0),y1) | → | app#(x0,y1) | (39) |
fix2#(subst2(x0,x1),y1) | → | app#(app(app(x0,fix1(subst2(x0,x1))),app(x1,fix1(subst2(x0,x1)))),y1) | (40) |
fix2#(fix1(x0),y1) | → | app#(app(app(x0,fix1(x0)),fix1(fix1(x0))),y1) | (41) |
subst3#(subst2(y_0,y_1),x1,x2) | → | app#(subst2(y_0,y_1),x2) | (42) |
subst3#(fix1(y_0),x1,x2) | → | app#(fix1(y_0),x2) | (43) |
fix2#(subst2(y_0,y_1),x1) | → | app#(subst2(y_0,y_1),fix1(subst2(y_0,y_1))) | (44) |
fix2#(fix1(y_0),x1) | → | app#(fix1(y_0),fix1(fix1(y_0))) | (45) |
app#(fix1(subst1(y_0)),x1) | → | fix2#(subst1(y_0),x1) | (46) |
app#(fix1(fix),x1) | → | fix2#(fix,x1) | (47) |
app#(fix1(const1(y_0)),x1) | → | fix2#(const1(y_0),x1) | (48) |
app#(fix1(subst2(y_0,y_1)),x1) | → | fix2#(subst2(y_0,y_1),x1) | (49) |
app#(fix1(fix1(y_0)),x1) | → | fix2#(fix1(y_0),x1) | (50) |
subst3#(x0,subst2(y_0,y_1),x2) | → | app#(subst2(y_0,y_1),x2) | (51) |
subst3#(x0,fix1(subst1(y_0)),x2) | → | app#(fix1(subst1(y_0)),x2) | (52) |
subst3#(x0,fix1(fix),x2) | → | app#(fix1(fix),x2) | (53) |
subst3#(x0,fix1(const1(y_0)),x2) | → | app#(fix1(const1(y_0)),x2) | (54) |
subst3#(x0,fix1(subst2(y_0,y_1)),x2) | → | app#(fix1(subst2(y_0,y_1)),x2) | (55) |
subst3#(x0,fix1(fix1(y_0)),x2) | → | app#(fix1(fix1(y_0)),x2) | (56) |
app#(subst2(subst1(y_0),x1),x2) | → | subst3#(subst1(y_0),x1,x2) | (57) |
app#(subst2(fix,x1),x2) | → | subst3#(fix,x1,x2) | (58) |
app#(subst2(const1(y_0),x1),x2) | → | subst3#(const1(y_0),x1,x2) | (59) |
app#(subst2(subst2(y_0,y_1),x1),x2) | → | subst3#(subst2(y_0,y_1),x1,x2) | (60) |
app#(subst2(fix1(y_0),x1),x2) | → | subst3#(fix1(y_0),x1,x2) | (61) |
app#(subst2(x0,subst2(y_1,y_2)),x2) | → | subst3#(x0,subst2(y_1,y_2),x2) | (62) |
app#(subst2(x0,fix1(subst1(y_1))),x2) | → | subst3#(x0,fix1(subst1(y_1)),x2) | (63) |
app#(subst2(x0,fix1(fix)),x2) | → | subst3#(x0,fix1(fix),x2) | (64) |
app#(subst2(x0,fix1(const1(y_1))),x2) | → | subst3#(x0,fix1(const1(y_1)),x2) | (65) |
app#(subst2(x0,fix1(subst2(y_1,y_2))),x2) | → | subst3#(x0,fix1(subst2(y_1,y_2)),x2) | (66) |
app#(subst2(x0,fix1(fix1(y_1))),x2) | → | subst3#(x0,fix1(fix1(y_1)),x2) | (67) |
fix2#(subst1(x0),y1) | → | app#(subst2(x0,fix1(subst1(x0))),y1) | (35) |
fix2#(fix,y1) | → | app#(fix1(fix1(fix)),y1) | (37) |
subst3#(subst1(x0),y1,x1) | → | app#(subst2(x0,x1),app(y1,x1)) | (25) |
subst3#(fix,y1,x0) | → | app#(fix1(x0),app(y1,x0)) | (27) |
subst3#(const1(x0),y1,x1) | → | app#(x0,app(y1,x1)) | (29) |
subst3#(subst2(x0,x1),y1,x2) | → | app#(app(app(x0,x2),app(x1,x2)),app(y1,x2)) | (30) |
subst3#(fix1(x0),y1,x1) | → | app#(app(app(x0,fix1(x0)),x1),app(y1,x1)) | (31) |
fix2#(subst2(x0,x1),y1) | → | app#(app(app(x0,fix1(subst2(x0,x1))),app(x1,fix1(subst2(x0,x1)))),y1) | (40) |
fix2#(fix1(x0),y1) | → | app#(app(app(x0,fix1(x0)),fix1(fix1(x0))),y1) | (41) |
subst3#(subst2(y_0,y_1),x1,x2) | → | app#(subst2(y_0,y_1),x2) | (42) |
subst3#(fix1(y_0),x1,x2) | → | app#(fix1(y_0),x2) | (43) |
fix2#(subst2(y_0,y_1),x1) | → | app#(subst2(y_0,y_1),fix1(subst2(y_0,y_1))) | (44) |
fix2#(fix1(y_0),x1) | → | app#(fix1(y_0),fix1(fix1(y_0))) | (45) |
app#(fix1(subst1(y_0)),x1) | → | fix2#(subst1(y_0),x1) | (46) |
app#(fix1(fix),x1) | → | fix2#(fix,x1) | (47) |
app#(fix1(const1(y_0)),x1) | → | fix2#(const1(y_0),x1) | (48) |
app#(fix1(subst2(y_0,y_1)),x1) | → | fix2#(subst2(y_0,y_1),x1) | (49) |
app#(fix1(fix1(y_0)),x1) | → | fix2#(fix1(y_0),x1) | (50) |
subst3#(x0,subst2(y_0,y_1),x2) | → | app#(subst2(y_0,y_1),x2) | (51) |
subst3#(x0,fix1(subst1(y_0)),x2) | → | app#(fix1(subst1(y_0)),x2) | (52) |
subst3#(x0,fix1(fix),x2) | → | app#(fix1(fix),x2) | (53) |
subst3#(x0,fix1(const1(y_0)),x2) | → | app#(fix1(const1(y_0)),x2) | (54) |
subst3#(x0,fix1(subst2(y_0,y_1)),x2) | → | app#(fix1(subst2(y_0,y_1)),x2) | (55) |
subst3#(x0,fix1(fix1(y_0)),x2) | → | app#(fix1(fix1(y_0)),x2) | (56) |
app#(subst2(subst1(y_0),x1),x2) | → | subst3#(subst1(y_0),x1,x2) | (57) |
app#(subst2(fix,x1),x2) | → | subst3#(fix,x1,x2) | (58) |
app#(subst2(const1(y_0),x1),x2) | → | subst3#(const1(y_0),x1,x2) | (59) |
app#(subst2(subst2(y_0,y_1),x1),x2) | → | subst3#(subst2(y_0,y_1),x1,x2) | (60) |
app#(subst2(fix1(y_0),x1),x2) | → | subst3#(fix1(y_0),x1,x2) | (61) |
app#(subst2(x0,subst2(y_1,y_2)),x2) | → | subst3#(x0,subst2(y_1,y_2),x2) | (62) |
app#(subst2(x0,fix1(subst1(y_1))),x2) | → | subst3#(x0,fix1(subst1(y_1)),x2) | (63) |
app#(subst2(x0,fix1(fix)),x2) | → | subst3#(x0,fix1(fix),x2) | (64) |
app#(subst2(x0,fix1(const1(y_1))),x2) | → | subst3#(x0,fix1(const1(y_1)),x2) | (65) |
app#(subst2(x0,fix1(subst2(y_1,y_2))),x2) | → | subst3#(x0,fix1(subst2(y_1,y_2)),x2) | (66) |
app#(subst2(x0,fix1(fix1(y_1))),x2) | → | subst3#(x0,fix1(fix1(y_1)),x2) | (67) |
fix2#(const1(fix1(subst1(y_0))),x1) | → | app#(fix1(subst1(y_0)),x1) | (68) |
fix2#(const1(fix1(fix)),x1) | → | app#(fix1(fix),x1) | (69) |
fix2#(const1(fix1(const1(y_0))),x1) | → | app#(fix1(const1(y_0)),x1) | (70) |
fix2#(const1(fix1(subst2(y_0,y_1))),x1) | → | app#(fix1(subst2(y_0,y_1)),x1) | (71) |
fix2#(const1(fix1(fix1(y_0))),x1) | → | app#(fix1(fix1(y_0)),x1) | (72) |
fix2#(const1(subst2(subst1(y_0),y_1)),x1) | → | app#(subst2(subst1(y_0),y_1),x1) | (73) |
fix2#(const1(subst2(fix,y_0)),x1) | → | app#(subst2(fix,y_0),x1) | (74) |
fix2#(const1(subst2(const1(y_0),y_1)),x1) | → | app#(subst2(const1(y_0),y_1),x1) | (75) |
fix2#(const1(subst2(subst2(y_0,y_1),y_2)),x1) | → | app#(subst2(subst2(y_0,y_1),y_2),x1) | (76) |
fix2#(const1(subst2(fix1(y_0),y_1)),x1) | → | app#(subst2(fix1(y_0),y_1),x1) | (77) |
fix2#(const1(subst2(y_0,subst2(y_1,y_2))),x1) | → | app#(subst2(y_0,subst2(y_1,y_2)),x1) | (78) |
fix2#(const1(subst2(y_0,fix1(subst1(y_1)))),x1) | → | app#(subst2(y_0,fix1(subst1(y_1))),x1) | (79) |
fix2#(const1(subst2(y_0,fix1(fix))),x1) | → | app#(subst2(y_0,fix1(fix)),x1) | (80) |
fix2#(const1(subst2(y_0,fix1(const1(y_1)))),x1) | → | app#(subst2(y_0,fix1(const1(y_1))),x1) | (81) |
fix2#(const1(subst2(y_0,fix1(subst2(y_1,y_2)))),x1) | → | app#(subst2(y_0,fix1(subst2(y_1,y_2))),x1) | (82) |
fix2#(const1(subst2(y_0,fix1(fix1(y_1)))),x1) | → | app#(subst2(y_0,fix1(fix1(y_1))),x1) | (83) |
t0 | = | app#(subst2(subst1(y_0),fix1(subst1(subst1(y_0)))),x2') |
→P | subst3#(subst1(y_0),fix1(subst1(subst1(y_0))),x2') | |
→P | app#(fix1(subst1(subst1(y_0))),x2') | |
→P | fix2#(subst1(subst1(y_0)),x2') | |
→P | app#(subst2(subst1(y_0),fix1(subst1(subst1(y_0)))),x2') | |
= | t4 |