The rewrite relation of the following TRS is considered.
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) |