(0) Obligation:

Clauses:

p(0, 0).
p(s(X), X).
le(0, Y, true).
le(s(X), 0, false).
le(s(X), s(Y), B) :- le(X, Y, B).
minus(X, Y, Z) :- ','(le(X, Y, B), if(B, X, Y, Z)).
if(true, X, Y, 0).
if(false, X, Y, s(Z)) :- ','(p(X, X1), minus(X1, Y, Z)).

Queries:

minus(g,a,a).

(1) PrologToPrologProblemTransformerProof (SOUND transformation)

Built Prolog problem from termination graph.

(2) Obligation:

Clauses:

minus54(T84) :- le58(X166).
minus54(0) :- le58(true).
minus54(s(T89)) :- ','(le58(false), minus54(T89)).
minus26(T54, T56) :- le29(T54, X92).
minus26(T70, 0) :- le29(T70, true).
minus26(0, s(T77)) :- ','(le29(0, false), minus54(T77)).
minus26(s(T96), s(T77)) :- ','(le29(s(T96), false), minus26(T96, T77)).
le84(0, T118, true).
le84(s(T123), 0, false).
le84(s(T128), s(T130), X280) :- le84(T128, T130, X280).
le29(0, true).
le29(s(T62), false).
le58(true).
minus1(0, T25, 0).
minus1(s(T46), 0, s(T40)) :- minus26(T46, T40).
minus1(s(T103), s(T105), T106) :- le84(T103, T105, X249).
minus1(s(T145), s(T146), 0) :- le84(T145, T146, true).
minus1(s(T165), s(T157), s(T156)) :- ','(le84(T165, T157, false), minus1(T165, s(T157), T156)).

Queries:

minus1(g,a,a).

(3) PrologToPiTRSProof (SOUND transformation)

We use the technique of [LOPSTR]. With regard to the inferred argument filtering the predicates were used in the following modes:
minus1_in: (b,f,f)
minus26_in: (b,f)
minus54_in: (f)
le84_in: (b,f,f) (b,f,b)
Transforming Prolog into the following Term Rewriting System:
Pi-finite rewrite system:
The TRS R consists of the following rules:

minus1_in_gaa(0, T25, 0) → minus1_out_gaa(0, T25, 0)
minus1_in_gaa(s(T46), 0, s(T40)) → U12_gaa(T46, T40, minus26_in_ga(T46, T40))
minus26_in_ga(T54, T56) → U5_ga(T54, T56, le29_in_ga(T54, X92))
le29_in_ga(0, true) → le29_out_ga(0, true)
le29_in_ga(s(T62), false) → le29_out_ga(s(T62), false)
U5_ga(T54, T56, le29_out_ga(T54, X92)) → minus26_out_ga(T54, T56)
minus26_in_ga(T70, 0) → U6_ga(T70, le29_in_gg(T70, true))
le29_in_gg(0, true) → le29_out_gg(0, true)
le29_in_gg(s(T62), false) → le29_out_gg(s(T62), false)
U6_ga(T70, le29_out_gg(T70, true)) → minus26_out_ga(T70, 0)
minus26_in_ga(0, s(T77)) → U7_ga(T77, le29_in_gg(0, false))
U7_ga(T77, le29_out_gg(0, false)) → U8_ga(T77, minus54_in_a(T77))
minus54_in_a(T84) → U1_a(T84, le58_in_a(X166))
le58_in_a(true) → le58_out_a(true)
U1_a(T84, le58_out_a(X166)) → minus54_out_a(T84)
minus54_in_a(0) → U2_a(le58_in_g(true))
le58_in_g(true) → le58_out_g(true)
U2_a(le58_out_g(true)) → minus54_out_a(0)
minus54_in_a(s(T89)) → U3_a(T89, le58_in_g(false))
U3_a(T89, le58_out_g(false)) → U4_a(T89, minus54_in_a(T89))
U4_a(T89, minus54_out_a(T89)) → minus54_out_a(s(T89))
U8_ga(T77, minus54_out_a(T77)) → minus26_out_ga(0, s(T77))
minus26_in_ga(s(T96), s(T77)) → U9_ga(T96, T77, le29_in_gg(s(T96), false))
U9_ga(T96, T77, le29_out_gg(s(T96), false)) → U10_ga(T96, T77, minus26_in_ga(T96, T77))
U10_ga(T96, T77, minus26_out_ga(T96, T77)) → minus26_out_ga(s(T96), s(T77))
U12_gaa(T46, T40, minus26_out_ga(T46, T40)) → minus1_out_gaa(s(T46), 0, s(T40))
minus1_in_gaa(s(T103), s(T105), T106) → U13_gaa(T103, T105, T106, le84_in_gaa(T103, T105, X249))
le84_in_gaa(0, T118, true) → le84_out_gaa(0, T118, true)
le84_in_gaa(s(T123), 0, false) → le84_out_gaa(s(T123), 0, false)
le84_in_gaa(s(T128), s(T130), X280) → U11_gaa(T128, T130, X280, le84_in_gaa(T128, T130, X280))
U11_gaa(T128, T130, X280, le84_out_gaa(T128, T130, X280)) → le84_out_gaa(s(T128), s(T130), X280)
U13_gaa(T103, T105, T106, le84_out_gaa(T103, T105, X249)) → minus1_out_gaa(s(T103), s(T105), T106)
minus1_in_gaa(s(T145), s(T146), 0) → U14_gaa(T145, T146, le84_in_gag(T145, T146, true))
le84_in_gag(0, T118, true) → le84_out_gag(0, T118, true)
le84_in_gag(s(T123), 0, false) → le84_out_gag(s(T123), 0, false)
le84_in_gag(s(T128), s(T130), X280) → U11_gag(T128, T130, X280, le84_in_gag(T128, T130, X280))
U11_gag(T128, T130, X280, le84_out_gag(T128, T130, X280)) → le84_out_gag(s(T128), s(T130), X280)
U14_gaa(T145, T146, le84_out_gag(T145, T146, true)) → minus1_out_gaa(s(T145), s(T146), 0)
minus1_in_gaa(s(T165), s(T157), s(T156)) → U15_gaa(T165, T157, T156, le84_in_gag(T165, T157, false))
U15_gaa(T165, T157, T156, le84_out_gag(T165, T157, false)) → U16_gaa(T165, T157, T156, minus1_in_gaa(T165, s(T157), T156))
U16_gaa(T165, T157, T156, minus1_out_gaa(T165, s(T157), T156)) → minus1_out_gaa(s(T165), s(T157), s(T156))

The argument filtering Pi contains the following mapping:
minus1_in_gaa(x1, x2, x3)  =  minus1_in_gaa(x1)
0  =  0
minus1_out_gaa(x1, x2, x3)  =  minus1_out_gaa
s(x1)  =  s(x1)
U12_gaa(x1, x2, x3)  =  U12_gaa(x3)
minus26_in_ga(x1, x2)  =  minus26_in_ga(x1)
U5_ga(x1, x2, x3)  =  U5_ga(x3)
le29_in_ga(x1, x2)  =  le29_in_ga(x1)
le29_out_ga(x1, x2)  =  le29_out_ga(x2)
minus26_out_ga(x1, x2)  =  minus26_out_ga
U6_ga(x1, x2)  =  U6_ga(x2)
le29_in_gg(x1, x2)  =  le29_in_gg(x1, x2)
true  =  true
le29_out_gg(x1, x2)  =  le29_out_gg
false  =  false
U7_ga(x1, x2)  =  U7_ga(x2)
U8_ga(x1, x2)  =  U8_ga(x2)
minus54_in_a(x1)  =  minus54_in_a
U1_a(x1, x2)  =  U1_a(x2)
le58_in_a(x1)  =  le58_in_a
le58_out_a(x1)  =  le58_out_a(x1)
minus54_out_a(x1)  =  minus54_out_a
U2_a(x1)  =  U2_a(x1)
le58_in_g(x1)  =  le58_in_g(x1)
le58_out_g(x1)  =  le58_out_g
U3_a(x1, x2)  =  U3_a(x2)
U4_a(x1, x2)  =  U4_a(x2)
U9_ga(x1, x2, x3)  =  U9_ga(x1, x3)
U10_ga(x1, x2, x3)  =  U10_ga(x3)
U13_gaa(x1, x2, x3, x4)  =  U13_gaa(x4)
le84_in_gaa(x1, x2, x3)  =  le84_in_gaa(x1)
le84_out_gaa(x1, x2, x3)  =  le84_out_gaa(x3)
U11_gaa(x1, x2, x3, x4)  =  U11_gaa(x4)
U14_gaa(x1, x2, x3)  =  U14_gaa(x3)
le84_in_gag(x1, x2, x3)  =  le84_in_gag(x1, x3)
le84_out_gag(x1, x2, x3)  =  le84_out_gag
U11_gag(x1, x2, x3, x4)  =  U11_gag(x4)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x1, x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x4)

Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog

(4) Obligation:

Pi-finite rewrite system:
The TRS R consists of the following rules:

minus1_in_gaa(0, T25, 0) → minus1_out_gaa(0, T25, 0)
minus1_in_gaa(s(T46), 0, s(T40)) → U12_gaa(T46, T40, minus26_in_ga(T46, T40))
minus26_in_ga(T54, T56) → U5_ga(T54, T56, le29_in_ga(T54, X92))
le29_in_ga(0, true) → le29_out_ga(0, true)
le29_in_ga(s(T62), false) → le29_out_ga(s(T62), false)
U5_ga(T54, T56, le29_out_ga(T54, X92)) → minus26_out_ga(T54, T56)
minus26_in_ga(T70, 0) → U6_ga(T70, le29_in_gg(T70, true))
le29_in_gg(0, true) → le29_out_gg(0, true)
le29_in_gg(s(T62), false) → le29_out_gg(s(T62), false)
U6_ga(T70, le29_out_gg(T70, true)) → minus26_out_ga(T70, 0)
minus26_in_ga(0, s(T77)) → U7_ga(T77, le29_in_gg(0, false))
U7_ga(T77, le29_out_gg(0, false)) → U8_ga(T77, minus54_in_a(T77))
minus54_in_a(T84) → U1_a(T84, le58_in_a(X166))
le58_in_a(true) → le58_out_a(true)
U1_a(T84, le58_out_a(X166)) → minus54_out_a(T84)
minus54_in_a(0) → U2_a(le58_in_g(true))
le58_in_g(true) → le58_out_g(true)
U2_a(le58_out_g(true)) → minus54_out_a(0)
minus54_in_a(s(T89)) → U3_a(T89, le58_in_g(false))
U3_a(T89, le58_out_g(false)) → U4_a(T89, minus54_in_a(T89))
U4_a(T89, minus54_out_a(T89)) → minus54_out_a(s(T89))
U8_ga(T77, minus54_out_a(T77)) → minus26_out_ga(0, s(T77))
minus26_in_ga(s(T96), s(T77)) → U9_ga(T96, T77, le29_in_gg(s(T96), false))
U9_ga(T96, T77, le29_out_gg(s(T96), false)) → U10_ga(T96, T77, minus26_in_ga(T96, T77))
U10_ga(T96, T77, minus26_out_ga(T96, T77)) → minus26_out_ga(s(T96), s(T77))
U12_gaa(T46, T40, minus26_out_ga(T46, T40)) → minus1_out_gaa(s(T46), 0, s(T40))
minus1_in_gaa(s(T103), s(T105), T106) → U13_gaa(T103, T105, T106, le84_in_gaa(T103, T105, X249))
le84_in_gaa(0, T118, true) → le84_out_gaa(0, T118, true)
le84_in_gaa(s(T123), 0, false) → le84_out_gaa(s(T123), 0, false)
le84_in_gaa(s(T128), s(T130), X280) → U11_gaa(T128, T130, X280, le84_in_gaa(T128, T130, X280))
U11_gaa(T128, T130, X280, le84_out_gaa(T128, T130, X280)) → le84_out_gaa(s(T128), s(T130), X280)
U13_gaa(T103, T105, T106, le84_out_gaa(T103, T105, X249)) → minus1_out_gaa(s(T103), s(T105), T106)
minus1_in_gaa(s(T145), s(T146), 0) → U14_gaa(T145, T146, le84_in_gag(T145, T146, true))
le84_in_gag(0, T118, true) → le84_out_gag(0, T118, true)
le84_in_gag(s(T123), 0, false) → le84_out_gag(s(T123), 0, false)
le84_in_gag(s(T128), s(T130), X280) → U11_gag(T128, T130, X280, le84_in_gag(T128, T130, X280))
U11_gag(T128, T130, X280, le84_out_gag(T128, T130, X280)) → le84_out_gag(s(T128), s(T130), X280)
U14_gaa(T145, T146, le84_out_gag(T145, T146, true)) → minus1_out_gaa(s(T145), s(T146), 0)
minus1_in_gaa(s(T165), s(T157), s(T156)) → U15_gaa(T165, T157, T156, le84_in_gag(T165, T157, false))
U15_gaa(T165, T157, T156, le84_out_gag(T165, T157, false)) → U16_gaa(T165, T157, T156, minus1_in_gaa(T165, s(T157), T156))
U16_gaa(T165, T157, T156, minus1_out_gaa(T165, s(T157), T156)) → minus1_out_gaa(s(T165), s(T157), s(T156))

The argument filtering Pi contains the following mapping:
minus1_in_gaa(x1, x2, x3)  =  minus1_in_gaa(x1)
0  =  0
minus1_out_gaa(x1, x2, x3)  =  minus1_out_gaa
s(x1)  =  s(x1)
U12_gaa(x1, x2, x3)  =  U12_gaa(x3)
minus26_in_ga(x1, x2)  =  minus26_in_ga(x1)
U5_ga(x1, x2, x3)  =  U5_ga(x3)
le29_in_ga(x1, x2)  =  le29_in_ga(x1)
le29_out_ga(x1, x2)  =  le29_out_ga(x2)
minus26_out_ga(x1, x2)  =  minus26_out_ga
U6_ga(x1, x2)  =  U6_ga(x2)
le29_in_gg(x1, x2)  =  le29_in_gg(x1, x2)
true  =  true
le29_out_gg(x1, x2)  =  le29_out_gg
false  =  false
U7_ga(x1, x2)  =  U7_ga(x2)
U8_ga(x1, x2)  =  U8_ga(x2)
minus54_in_a(x1)  =  minus54_in_a
U1_a(x1, x2)  =  U1_a(x2)
le58_in_a(x1)  =  le58_in_a
le58_out_a(x1)  =  le58_out_a(x1)
minus54_out_a(x1)  =  minus54_out_a
U2_a(x1)  =  U2_a(x1)
le58_in_g(x1)  =  le58_in_g(x1)
le58_out_g(x1)  =  le58_out_g
U3_a(x1, x2)  =  U3_a(x2)
U4_a(x1, x2)  =  U4_a(x2)
U9_ga(x1, x2, x3)  =  U9_ga(x1, x3)
U10_ga(x1, x2, x3)  =  U10_ga(x3)
U13_gaa(x1, x2, x3, x4)  =  U13_gaa(x4)
le84_in_gaa(x1, x2, x3)  =  le84_in_gaa(x1)
le84_out_gaa(x1, x2, x3)  =  le84_out_gaa(x3)
U11_gaa(x1, x2, x3, x4)  =  U11_gaa(x4)
U14_gaa(x1, x2, x3)  =  U14_gaa(x3)
le84_in_gag(x1, x2, x3)  =  le84_in_gag(x1, x3)
le84_out_gag(x1, x2, x3)  =  le84_out_gag
U11_gag(x1, x2, x3, x4)  =  U11_gag(x4)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x1, x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x4)

(5) DependencyPairsProof (EQUIVALENT transformation)

Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem:
Pi DP problem:
The TRS P consists of the following rules:

MINUS1_IN_GAA(s(T46), 0, s(T40)) → U12_GAA(T46, T40, minus26_in_ga(T46, T40))
MINUS1_IN_GAA(s(T46), 0, s(T40)) → MINUS26_IN_GA(T46, T40)
MINUS26_IN_GA(T54, T56) → U5_GA(T54, T56, le29_in_ga(T54, X92))
MINUS26_IN_GA(T54, T56) → LE29_IN_GA(T54, X92)
MINUS26_IN_GA(T70, 0) → U6_GA(T70, le29_in_gg(T70, true))
MINUS26_IN_GA(T70, 0) → LE29_IN_GG(T70, true)
MINUS26_IN_GA(0, s(T77)) → U7_GA(T77, le29_in_gg(0, false))
MINUS26_IN_GA(0, s(T77)) → LE29_IN_GG(0, false)
U7_GA(T77, le29_out_gg(0, false)) → U8_GA(T77, minus54_in_a(T77))
U7_GA(T77, le29_out_gg(0, false)) → MINUS54_IN_A(T77)
MINUS54_IN_A(T84) → U1_A(T84, le58_in_a(X166))
MINUS54_IN_A(T84) → LE58_IN_A(X166)
MINUS54_IN_A(0) → U2_A(le58_in_g(true))
MINUS54_IN_A(0) → LE58_IN_G(true)
MINUS54_IN_A(s(T89)) → U3_A(T89, le58_in_g(false))
MINUS54_IN_A(s(T89)) → LE58_IN_G(false)
U3_A(T89, le58_out_g(false)) → U4_A(T89, minus54_in_a(T89))
U3_A(T89, le58_out_g(false)) → MINUS54_IN_A(T89)
MINUS26_IN_GA(s(T96), s(T77)) → U9_GA(T96, T77, le29_in_gg(s(T96), false))
MINUS26_IN_GA(s(T96), s(T77)) → LE29_IN_GG(s(T96), false)
U9_GA(T96, T77, le29_out_gg(s(T96), false)) → U10_GA(T96, T77, minus26_in_ga(T96, T77))
U9_GA(T96, T77, le29_out_gg(s(T96), false)) → MINUS26_IN_GA(T96, T77)
MINUS1_IN_GAA(s(T103), s(T105), T106) → U13_GAA(T103, T105, T106, le84_in_gaa(T103, T105, X249))
MINUS1_IN_GAA(s(T103), s(T105), T106) → LE84_IN_GAA(T103, T105, X249)
LE84_IN_GAA(s(T128), s(T130), X280) → U11_GAA(T128, T130, X280, le84_in_gaa(T128, T130, X280))
LE84_IN_GAA(s(T128), s(T130), X280) → LE84_IN_GAA(T128, T130, X280)
MINUS1_IN_GAA(s(T145), s(T146), 0) → U14_GAA(T145, T146, le84_in_gag(T145, T146, true))
MINUS1_IN_GAA(s(T145), s(T146), 0) → LE84_IN_GAG(T145, T146, true)
LE84_IN_GAG(s(T128), s(T130), X280) → U11_GAG(T128, T130, X280, le84_in_gag(T128, T130, X280))
LE84_IN_GAG(s(T128), s(T130), X280) → LE84_IN_GAG(T128, T130, X280)
MINUS1_IN_GAA(s(T165), s(T157), s(T156)) → U15_GAA(T165, T157, T156, le84_in_gag(T165, T157, false))
MINUS1_IN_GAA(s(T165), s(T157), s(T156)) → LE84_IN_GAG(T165, T157, false)
U15_GAA(T165, T157, T156, le84_out_gag(T165, T157, false)) → U16_GAA(T165, T157, T156, minus1_in_gaa(T165, s(T157), T156))
U15_GAA(T165, T157, T156, le84_out_gag(T165, T157, false)) → MINUS1_IN_GAA(T165, s(T157), T156)

The TRS R consists of the following rules:

minus1_in_gaa(0, T25, 0) → minus1_out_gaa(0, T25, 0)
minus1_in_gaa(s(T46), 0, s(T40)) → U12_gaa(T46, T40, minus26_in_ga(T46, T40))
minus26_in_ga(T54, T56) → U5_ga(T54, T56, le29_in_ga(T54, X92))
le29_in_ga(0, true) → le29_out_ga(0, true)
le29_in_ga(s(T62), false) → le29_out_ga(s(T62), false)
U5_ga(T54, T56, le29_out_ga(T54, X92)) → minus26_out_ga(T54, T56)
minus26_in_ga(T70, 0) → U6_ga(T70, le29_in_gg(T70, true))
le29_in_gg(0, true) → le29_out_gg(0, true)
le29_in_gg(s(T62), false) → le29_out_gg(s(T62), false)
U6_ga(T70, le29_out_gg(T70, true)) → minus26_out_ga(T70, 0)
minus26_in_ga(0, s(T77)) → U7_ga(T77, le29_in_gg(0, false))
U7_ga(T77, le29_out_gg(0, false)) → U8_ga(T77, minus54_in_a(T77))
minus54_in_a(T84) → U1_a(T84, le58_in_a(X166))
le58_in_a(true) → le58_out_a(true)
U1_a(T84, le58_out_a(X166)) → minus54_out_a(T84)
minus54_in_a(0) → U2_a(le58_in_g(true))
le58_in_g(true) → le58_out_g(true)
U2_a(le58_out_g(true)) → minus54_out_a(0)
minus54_in_a(s(T89)) → U3_a(T89, le58_in_g(false))
U3_a(T89, le58_out_g(false)) → U4_a(T89, minus54_in_a(T89))
U4_a(T89, minus54_out_a(T89)) → minus54_out_a(s(T89))
U8_ga(T77, minus54_out_a(T77)) → minus26_out_ga(0, s(T77))
minus26_in_ga(s(T96), s(T77)) → U9_ga(T96, T77, le29_in_gg(s(T96), false))
U9_ga(T96, T77, le29_out_gg(s(T96), false)) → U10_ga(T96, T77, minus26_in_ga(T96, T77))
U10_ga(T96, T77, minus26_out_ga(T96, T77)) → minus26_out_ga(s(T96), s(T77))
U12_gaa(T46, T40, minus26_out_ga(T46, T40)) → minus1_out_gaa(s(T46), 0, s(T40))
minus1_in_gaa(s(T103), s(T105), T106) → U13_gaa(T103, T105, T106, le84_in_gaa(T103, T105, X249))
le84_in_gaa(0, T118, true) → le84_out_gaa(0, T118, true)
le84_in_gaa(s(T123), 0, false) → le84_out_gaa(s(T123), 0, false)
le84_in_gaa(s(T128), s(T130), X280) → U11_gaa(T128, T130, X280, le84_in_gaa(T128, T130, X280))
U11_gaa(T128, T130, X280, le84_out_gaa(T128, T130, X280)) → le84_out_gaa(s(T128), s(T130), X280)
U13_gaa(T103, T105, T106, le84_out_gaa(T103, T105, X249)) → minus1_out_gaa(s(T103), s(T105), T106)
minus1_in_gaa(s(T145), s(T146), 0) → U14_gaa(T145, T146, le84_in_gag(T145, T146, true))
le84_in_gag(0, T118, true) → le84_out_gag(0, T118, true)
le84_in_gag(s(T123), 0, false) → le84_out_gag(s(T123), 0, false)
le84_in_gag(s(T128), s(T130), X280) → U11_gag(T128, T130, X280, le84_in_gag(T128, T130, X280))
U11_gag(T128, T130, X280, le84_out_gag(T128, T130, X280)) → le84_out_gag(s(T128), s(T130), X280)
U14_gaa(T145, T146, le84_out_gag(T145, T146, true)) → minus1_out_gaa(s(T145), s(T146), 0)
minus1_in_gaa(s(T165), s(T157), s(T156)) → U15_gaa(T165, T157, T156, le84_in_gag(T165, T157, false))
U15_gaa(T165, T157, T156, le84_out_gag(T165, T157, false)) → U16_gaa(T165, T157, T156, minus1_in_gaa(T165, s(T157), T156))
U16_gaa(T165, T157, T156, minus1_out_gaa(T165, s(T157), T156)) → minus1_out_gaa(s(T165), s(T157), s(T156))

The argument filtering Pi contains the following mapping:
minus1_in_gaa(x1, x2, x3)  =  minus1_in_gaa(x1)
0  =  0
minus1_out_gaa(x1, x2, x3)  =  minus1_out_gaa
s(x1)  =  s(x1)
U12_gaa(x1, x2, x3)  =  U12_gaa(x3)
minus26_in_ga(x1, x2)  =  minus26_in_ga(x1)
U5_ga(x1, x2, x3)  =  U5_ga(x3)
le29_in_ga(x1, x2)  =  le29_in_ga(x1)
le29_out_ga(x1, x2)  =  le29_out_ga(x2)
minus26_out_ga(x1, x2)  =  minus26_out_ga
U6_ga(x1, x2)  =  U6_ga(x2)
le29_in_gg(x1, x2)  =  le29_in_gg(x1, x2)
true  =  true
le29_out_gg(x1, x2)  =  le29_out_gg
false  =  false
U7_ga(x1, x2)  =  U7_ga(x2)
U8_ga(x1, x2)  =  U8_ga(x2)
minus54_in_a(x1)  =  minus54_in_a
U1_a(x1, x2)  =  U1_a(x2)
le58_in_a(x1)  =  le58_in_a
le58_out_a(x1)  =  le58_out_a(x1)
minus54_out_a(x1)  =  minus54_out_a
U2_a(x1)  =  U2_a(x1)
le58_in_g(x1)  =  le58_in_g(x1)
le58_out_g(x1)  =  le58_out_g
U3_a(x1, x2)  =  U3_a(x2)
U4_a(x1, x2)  =  U4_a(x2)
U9_ga(x1, x2, x3)  =  U9_ga(x1, x3)
U10_ga(x1, x2, x3)  =  U10_ga(x3)
U13_gaa(x1, x2, x3, x4)  =  U13_gaa(x4)
le84_in_gaa(x1, x2, x3)  =  le84_in_gaa(x1)
le84_out_gaa(x1, x2, x3)  =  le84_out_gaa(x3)
U11_gaa(x1, x2, x3, x4)  =  U11_gaa(x4)
U14_gaa(x1, x2, x3)  =  U14_gaa(x3)
le84_in_gag(x1, x2, x3)  =  le84_in_gag(x1, x3)
le84_out_gag(x1, x2, x3)  =  le84_out_gag
U11_gag(x1, x2, x3, x4)  =  U11_gag(x4)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x1, x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x4)
MINUS1_IN_GAA(x1, x2, x3)  =  MINUS1_IN_GAA(x1)
U12_GAA(x1, x2, x3)  =  U12_GAA(x3)
MINUS26_IN_GA(x1, x2)  =  MINUS26_IN_GA(x1)
U5_GA(x1, x2, x3)  =  U5_GA(x3)
LE29_IN_GA(x1, x2)  =  LE29_IN_GA(x1)
U6_GA(x1, x2)  =  U6_GA(x2)
LE29_IN_GG(x1, x2)  =  LE29_IN_GG(x1, x2)
U7_GA(x1, x2)  =  U7_GA(x2)
U8_GA(x1, x2)  =  U8_GA(x2)
MINUS54_IN_A(x1)  =  MINUS54_IN_A
U1_A(x1, x2)  =  U1_A(x2)
LE58_IN_A(x1)  =  LE58_IN_A
U2_A(x1)  =  U2_A(x1)
LE58_IN_G(x1)  =  LE58_IN_G(x1)
U3_A(x1, x2)  =  U3_A(x2)
U4_A(x1, x2)  =  U4_A(x2)
U9_GA(x1, x2, x3)  =  U9_GA(x1, x3)
U10_GA(x1, x2, x3)  =  U10_GA(x3)
U13_GAA(x1, x2, x3, x4)  =  U13_GAA(x4)
LE84_IN_GAA(x1, x2, x3)  =  LE84_IN_GAA(x1)
U11_GAA(x1, x2, x3, x4)  =  U11_GAA(x4)
U14_GAA(x1, x2, x3)  =  U14_GAA(x3)
LE84_IN_GAG(x1, x2, x3)  =  LE84_IN_GAG(x1, x3)
U11_GAG(x1, x2, x3, x4)  =  U11_GAG(x4)
U15_GAA(x1, x2, x3, x4)  =  U15_GAA(x1, x4)
U16_GAA(x1, x2, x3, x4)  =  U16_GAA(x4)

We have to consider all (P,R,Pi)-chains

(6) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

MINUS1_IN_GAA(s(T46), 0, s(T40)) → U12_GAA(T46, T40, minus26_in_ga(T46, T40))
MINUS1_IN_GAA(s(T46), 0, s(T40)) → MINUS26_IN_GA(T46, T40)
MINUS26_IN_GA(T54, T56) → U5_GA(T54, T56, le29_in_ga(T54, X92))
MINUS26_IN_GA(T54, T56) → LE29_IN_GA(T54, X92)
MINUS26_IN_GA(T70, 0) → U6_GA(T70, le29_in_gg(T70, true))
MINUS26_IN_GA(T70, 0) → LE29_IN_GG(T70, true)
MINUS26_IN_GA(0, s(T77)) → U7_GA(T77, le29_in_gg(0, false))
MINUS26_IN_GA(0, s(T77)) → LE29_IN_GG(0, false)
U7_GA(T77, le29_out_gg(0, false)) → U8_GA(T77, minus54_in_a(T77))
U7_GA(T77, le29_out_gg(0, false)) → MINUS54_IN_A(T77)
MINUS54_IN_A(T84) → U1_A(T84, le58_in_a(X166))
MINUS54_IN_A(T84) → LE58_IN_A(X166)
MINUS54_IN_A(0) → U2_A(le58_in_g(true))
MINUS54_IN_A(0) → LE58_IN_G(true)
MINUS54_IN_A(s(T89)) → U3_A(T89, le58_in_g(false))
MINUS54_IN_A(s(T89)) → LE58_IN_G(false)
U3_A(T89, le58_out_g(false)) → U4_A(T89, minus54_in_a(T89))
U3_A(T89, le58_out_g(false)) → MINUS54_IN_A(T89)
MINUS26_IN_GA(s(T96), s(T77)) → U9_GA(T96, T77, le29_in_gg(s(T96), false))
MINUS26_IN_GA(s(T96), s(T77)) → LE29_IN_GG(s(T96), false)
U9_GA(T96, T77, le29_out_gg(s(T96), false)) → U10_GA(T96, T77, minus26_in_ga(T96, T77))
U9_GA(T96, T77, le29_out_gg(s(T96), false)) → MINUS26_IN_GA(T96, T77)
MINUS1_IN_GAA(s(T103), s(T105), T106) → U13_GAA(T103, T105, T106, le84_in_gaa(T103, T105, X249))
MINUS1_IN_GAA(s(T103), s(T105), T106) → LE84_IN_GAA(T103, T105, X249)
LE84_IN_GAA(s(T128), s(T130), X280) → U11_GAA(T128, T130, X280, le84_in_gaa(T128, T130, X280))
LE84_IN_GAA(s(T128), s(T130), X280) → LE84_IN_GAA(T128, T130, X280)
MINUS1_IN_GAA(s(T145), s(T146), 0) → U14_GAA(T145, T146, le84_in_gag(T145, T146, true))
MINUS1_IN_GAA(s(T145), s(T146), 0) → LE84_IN_GAG(T145, T146, true)
LE84_IN_GAG(s(T128), s(T130), X280) → U11_GAG(T128, T130, X280, le84_in_gag(T128, T130, X280))
LE84_IN_GAG(s(T128), s(T130), X280) → LE84_IN_GAG(T128, T130, X280)
MINUS1_IN_GAA(s(T165), s(T157), s(T156)) → U15_GAA(T165, T157, T156, le84_in_gag(T165, T157, false))
MINUS1_IN_GAA(s(T165), s(T157), s(T156)) → LE84_IN_GAG(T165, T157, false)
U15_GAA(T165, T157, T156, le84_out_gag(T165, T157, false)) → U16_GAA(T165, T157, T156, minus1_in_gaa(T165, s(T157), T156))
U15_GAA(T165, T157, T156, le84_out_gag(T165, T157, false)) → MINUS1_IN_GAA(T165, s(T157), T156)

The TRS R consists of the following rules:

minus1_in_gaa(0, T25, 0) → minus1_out_gaa(0, T25, 0)
minus1_in_gaa(s(T46), 0, s(T40)) → U12_gaa(T46, T40, minus26_in_ga(T46, T40))
minus26_in_ga(T54, T56) → U5_ga(T54, T56, le29_in_ga(T54, X92))
le29_in_ga(0, true) → le29_out_ga(0, true)
le29_in_ga(s(T62), false) → le29_out_ga(s(T62), false)
U5_ga(T54, T56, le29_out_ga(T54, X92)) → minus26_out_ga(T54, T56)
minus26_in_ga(T70, 0) → U6_ga(T70, le29_in_gg(T70, true))
le29_in_gg(0, true) → le29_out_gg(0, true)
le29_in_gg(s(T62), false) → le29_out_gg(s(T62), false)
U6_ga(T70, le29_out_gg(T70, true)) → minus26_out_ga(T70, 0)
minus26_in_ga(0, s(T77)) → U7_ga(T77, le29_in_gg(0, false))
U7_ga(T77, le29_out_gg(0, false)) → U8_ga(T77, minus54_in_a(T77))
minus54_in_a(T84) → U1_a(T84, le58_in_a(X166))
le58_in_a(true) → le58_out_a(true)
U1_a(T84, le58_out_a(X166)) → minus54_out_a(T84)
minus54_in_a(0) → U2_a(le58_in_g(true))
le58_in_g(true) → le58_out_g(true)
U2_a(le58_out_g(true)) → minus54_out_a(0)
minus54_in_a(s(T89)) → U3_a(T89, le58_in_g(false))
U3_a(T89, le58_out_g(false)) → U4_a(T89, minus54_in_a(T89))
U4_a(T89, minus54_out_a(T89)) → minus54_out_a(s(T89))
U8_ga(T77, minus54_out_a(T77)) → minus26_out_ga(0, s(T77))
minus26_in_ga(s(T96), s(T77)) → U9_ga(T96, T77, le29_in_gg(s(T96), false))
U9_ga(T96, T77, le29_out_gg(s(T96), false)) → U10_ga(T96, T77, minus26_in_ga(T96, T77))
U10_ga(T96, T77, minus26_out_ga(T96, T77)) → minus26_out_ga(s(T96), s(T77))
U12_gaa(T46, T40, minus26_out_ga(T46, T40)) → minus1_out_gaa(s(T46), 0, s(T40))
minus1_in_gaa(s(T103), s(T105), T106) → U13_gaa(T103, T105, T106, le84_in_gaa(T103, T105, X249))
le84_in_gaa(0, T118, true) → le84_out_gaa(0, T118, true)
le84_in_gaa(s(T123), 0, false) → le84_out_gaa(s(T123), 0, false)
le84_in_gaa(s(T128), s(T130), X280) → U11_gaa(T128, T130, X280, le84_in_gaa(T128, T130, X280))
U11_gaa(T128, T130, X280, le84_out_gaa(T128, T130, X280)) → le84_out_gaa(s(T128), s(T130), X280)
U13_gaa(T103, T105, T106, le84_out_gaa(T103, T105, X249)) → minus1_out_gaa(s(T103), s(T105), T106)
minus1_in_gaa(s(T145), s(T146), 0) → U14_gaa(T145, T146, le84_in_gag(T145, T146, true))
le84_in_gag(0, T118, true) → le84_out_gag(0, T118, true)
le84_in_gag(s(T123), 0, false) → le84_out_gag(s(T123), 0, false)
le84_in_gag(s(T128), s(T130), X280) → U11_gag(T128, T130, X280, le84_in_gag(T128, T130, X280))
U11_gag(T128, T130, X280, le84_out_gag(T128, T130, X280)) → le84_out_gag(s(T128), s(T130), X280)
U14_gaa(T145, T146, le84_out_gag(T145, T146, true)) → minus1_out_gaa(s(T145), s(T146), 0)
minus1_in_gaa(s(T165), s(T157), s(T156)) → U15_gaa(T165, T157, T156, le84_in_gag(T165, T157, false))
U15_gaa(T165, T157, T156, le84_out_gag(T165, T157, false)) → U16_gaa(T165, T157, T156, minus1_in_gaa(T165, s(T157), T156))
U16_gaa(T165, T157, T156, minus1_out_gaa(T165, s(T157), T156)) → minus1_out_gaa(s(T165), s(T157), s(T156))

The argument filtering Pi contains the following mapping:
minus1_in_gaa(x1, x2, x3)  =  minus1_in_gaa(x1)
0  =  0
minus1_out_gaa(x1, x2, x3)  =  minus1_out_gaa
s(x1)  =  s(x1)
U12_gaa(x1, x2, x3)  =  U12_gaa(x3)
minus26_in_ga(x1, x2)  =  minus26_in_ga(x1)
U5_ga(x1, x2, x3)  =  U5_ga(x3)
le29_in_ga(x1, x2)  =  le29_in_ga(x1)
le29_out_ga(x1, x2)  =  le29_out_ga(x2)
minus26_out_ga(x1, x2)  =  minus26_out_ga
U6_ga(x1, x2)  =  U6_ga(x2)
le29_in_gg(x1, x2)  =  le29_in_gg(x1, x2)
true  =  true
le29_out_gg(x1, x2)  =  le29_out_gg
false  =  false
U7_ga(x1, x2)  =  U7_ga(x2)
U8_ga(x1, x2)  =  U8_ga(x2)
minus54_in_a(x1)  =  minus54_in_a
U1_a(x1, x2)  =  U1_a(x2)
le58_in_a(x1)  =  le58_in_a
le58_out_a(x1)  =  le58_out_a(x1)
minus54_out_a(x1)  =  minus54_out_a
U2_a(x1)  =  U2_a(x1)
le58_in_g(x1)  =  le58_in_g(x1)
le58_out_g(x1)  =  le58_out_g
U3_a(x1, x2)  =  U3_a(x2)
U4_a(x1, x2)  =  U4_a(x2)
U9_ga(x1, x2, x3)  =  U9_ga(x1, x3)
U10_ga(x1, x2, x3)  =  U10_ga(x3)
U13_gaa(x1, x2, x3, x4)  =  U13_gaa(x4)
le84_in_gaa(x1, x2, x3)  =  le84_in_gaa(x1)
le84_out_gaa(x1, x2, x3)  =  le84_out_gaa(x3)
U11_gaa(x1, x2, x3, x4)  =  U11_gaa(x4)
U14_gaa(x1, x2, x3)  =  U14_gaa(x3)
le84_in_gag(x1, x2, x3)  =  le84_in_gag(x1, x3)
le84_out_gag(x1, x2, x3)  =  le84_out_gag
U11_gag(x1, x2, x3, x4)  =  U11_gag(x4)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x1, x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x4)
MINUS1_IN_GAA(x1, x2, x3)  =  MINUS1_IN_GAA(x1)
U12_GAA(x1, x2, x3)  =  U12_GAA(x3)
MINUS26_IN_GA(x1, x2)  =  MINUS26_IN_GA(x1)
U5_GA(x1, x2, x3)  =  U5_GA(x3)
LE29_IN_GA(x1, x2)  =  LE29_IN_GA(x1)
U6_GA(x1, x2)  =  U6_GA(x2)
LE29_IN_GG(x1, x2)  =  LE29_IN_GG(x1, x2)
U7_GA(x1, x2)  =  U7_GA(x2)
U8_GA(x1, x2)  =  U8_GA(x2)
MINUS54_IN_A(x1)  =  MINUS54_IN_A
U1_A(x1, x2)  =  U1_A(x2)
LE58_IN_A(x1)  =  LE58_IN_A
U2_A(x1)  =  U2_A(x1)
LE58_IN_G(x1)  =  LE58_IN_G(x1)
U3_A(x1, x2)  =  U3_A(x2)
U4_A(x1, x2)  =  U4_A(x2)
U9_GA(x1, x2, x3)  =  U9_GA(x1, x3)
U10_GA(x1, x2, x3)  =  U10_GA(x3)
U13_GAA(x1, x2, x3, x4)  =  U13_GAA(x4)
LE84_IN_GAA(x1, x2, x3)  =  LE84_IN_GAA(x1)
U11_GAA(x1, x2, x3, x4)  =  U11_GAA(x4)
U14_GAA(x1, x2, x3)  =  U14_GAA(x3)
LE84_IN_GAG(x1, x2, x3)  =  LE84_IN_GAG(x1, x3)
U11_GAG(x1, x2, x3, x4)  =  U11_GAG(x4)
U15_GAA(x1, x2, x3, x4)  =  U15_GAA(x1, x4)
U16_GAA(x1, x2, x3, x4)  =  U16_GAA(x4)

We have to consider all (P,R,Pi)-chains

(7) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LOPSTR] contains 4 SCCs with 28 less nodes.

(8) Complex Obligation (AND)

(9) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

LE84_IN_GAG(s(T128), s(T130), X280) → LE84_IN_GAG(T128, T130, X280)

The TRS R consists of the following rules:

minus1_in_gaa(0, T25, 0) → minus1_out_gaa(0, T25, 0)
minus1_in_gaa(s(T46), 0, s(T40)) → U12_gaa(T46, T40, minus26_in_ga(T46, T40))
minus26_in_ga(T54, T56) → U5_ga(T54, T56, le29_in_ga(T54, X92))
le29_in_ga(0, true) → le29_out_ga(0, true)
le29_in_ga(s(T62), false) → le29_out_ga(s(T62), false)
U5_ga(T54, T56, le29_out_ga(T54, X92)) → minus26_out_ga(T54, T56)
minus26_in_ga(T70, 0) → U6_ga(T70, le29_in_gg(T70, true))
le29_in_gg(0, true) → le29_out_gg(0, true)
le29_in_gg(s(T62), false) → le29_out_gg(s(T62), false)
U6_ga(T70, le29_out_gg(T70, true)) → minus26_out_ga(T70, 0)
minus26_in_ga(0, s(T77)) → U7_ga(T77, le29_in_gg(0, false))
U7_ga(T77, le29_out_gg(0, false)) → U8_ga(T77, minus54_in_a(T77))
minus54_in_a(T84) → U1_a(T84, le58_in_a(X166))
le58_in_a(true) → le58_out_a(true)
U1_a(T84, le58_out_a(X166)) → minus54_out_a(T84)
minus54_in_a(0) → U2_a(le58_in_g(true))
le58_in_g(true) → le58_out_g(true)
U2_a(le58_out_g(true)) → minus54_out_a(0)
minus54_in_a(s(T89)) → U3_a(T89, le58_in_g(false))
U3_a(T89, le58_out_g(false)) → U4_a(T89, minus54_in_a(T89))
U4_a(T89, minus54_out_a(T89)) → minus54_out_a(s(T89))
U8_ga(T77, minus54_out_a(T77)) → minus26_out_ga(0, s(T77))
minus26_in_ga(s(T96), s(T77)) → U9_ga(T96, T77, le29_in_gg(s(T96), false))
U9_ga(T96, T77, le29_out_gg(s(T96), false)) → U10_ga(T96, T77, minus26_in_ga(T96, T77))
U10_ga(T96, T77, minus26_out_ga(T96, T77)) → minus26_out_ga(s(T96), s(T77))
U12_gaa(T46, T40, minus26_out_ga(T46, T40)) → minus1_out_gaa(s(T46), 0, s(T40))
minus1_in_gaa(s(T103), s(T105), T106) → U13_gaa(T103, T105, T106, le84_in_gaa(T103, T105, X249))
le84_in_gaa(0, T118, true) → le84_out_gaa(0, T118, true)
le84_in_gaa(s(T123), 0, false) → le84_out_gaa(s(T123), 0, false)
le84_in_gaa(s(T128), s(T130), X280) → U11_gaa(T128, T130, X280, le84_in_gaa(T128, T130, X280))
U11_gaa(T128, T130, X280, le84_out_gaa(T128, T130, X280)) → le84_out_gaa(s(T128), s(T130), X280)
U13_gaa(T103, T105, T106, le84_out_gaa(T103, T105, X249)) → minus1_out_gaa(s(T103), s(T105), T106)
minus1_in_gaa(s(T145), s(T146), 0) → U14_gaa(T145, T146, le84_in_gag(T145, T146, true))
le84_in_gag(0, T118, true) → le84_out_gag(0, T118, true)
le84_in_gag(s(T123), 0, false) → le84_out_gag(s(T123), 0, false)
le84_in_gag(s(T128), s(T130), X280) → U11_gag(T128, T130, X280, le84_in_gag(T128, T130, X280))
U11_gag(T128, T130, X280, le84_out_gag(T128, T130, X280)) → le84_out_gag(s(T128), s(T130), X280)
U14_gaa(T145, T146, le84_out_gag(T145, T146, true)) → minus1_out_gaa(s(T145), s(T146), 0)
minus1_in_gaa(s(T165), s(T157), s(T156)) → U15_gaa(T165, T157, T156, le84_in_gag(T165, T157, false))
U15_gaa(T165, T157, T156, le84_out_gag(T165, T157, false)) → U16_gaa(T165, T157, T156, minus1_in_gaa(T165, s(T157), T156))
U16_gaa(T165, T157, T156, minus1_out_gaa(T165, s(T157), T156)) → minus1_out_gaa(s(T165), s(T157), s(T156))

The argument filtering Pi contains the following mapping:
minus1_in_gaa(x1, x2, x3)  =  minus1_in_gaa(x1)
0  =  0
minus1_out_gaa(x1, x2, x3)  =  minus1_out_gaa
s(x1)  =  s(x1)
U12_gaa(x1, x2, x3)  =  U12_gaa(x3)
minus26_in_ga(x1, x2)  =  minus26_in_ga(x1)
U5_ga(x1, x2, x3)  =  U5_ga(x3)
le29_in_ga(x1, x2)  =  le29_in_ga(x1)
le29_out_ga(x1, x2)  =  le29_out_ga(x2)
minus26_out_ga(x1, x2)  =  minus26_out_ga
U6_ga(x1, x2)  =  U6_ga(x2)
le29_in_gg(x1, x2)  =  le29_in_gg(x1, x2)
true  =  true
le29_out_gg(x1, x2)  =  le29_out_gg
false  =  false
U7_ga(x1, x2)  =  U7_ga(x2)
U8_ga(x1, x2)  =  U8_ga(x2)
minus54_in_a(x1)  =  minus54_in_a
U1_a(x1, x2)  =  U1_a(x2)
le58_in_a(x1)  =  le58_in_a
le58_out_a(x1)  =  le58_out_a(x1)
minus54_out_a(x1)  =  minus54_out_a
U2_a(x1)  =  U2_a(x1)
le58_in_g(x1)  =  le58_in_g(x1)
le58_out_g(x1)  =  le58_out_g
U3_a(x1, x2)  =  U3_a(x2)
U4_a(x1, x2)  =  U4_a(x2)
U9_ga(x1, x2, x3)  =  U9_ga(x1, x3)
U10_ga(x1, x2, x3)  =  U10_ga(x3)
U13_gaa(x1, x2, x3, x4)  =  U13_gaa(x4)
le84_in_gaa(x1, x2, x3)  =  le84_in_gaa(x1)
le84_out_gaa(x1, x2, x3)  =  le84_out_gaa(x3)
U11_gaa(x1, x2, x3, x4)  =  U11_gaa(x4)
U14_gaa(x1, x2, x3)  =  U14_gaa(x3)
le84_in_gag(x1, x2, x3)  =  le84_in_gag(x1, x3)
le84_out_gag(x1, x2, x3)  =  le84_out_gag
U11_gag(x1, x2, x3, x4)  =  U11_gag(x4)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x1, x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x4)
LE84_IN_GAG(x1, x2, x3)  =  LE84_IN_GAG(x1, x3)

We have to consider all (P,R,Pi)-chains

(10) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(11) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

LE84_IN_GAG(s(T128), s(T130), X280) → LE84_IN_GAG(T128, T130, X280)

R is empty.
The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
LE84_IN_GAG(x1, x2, x3)  =  LE84_IN_GAG(x1, x3)

We have to consider all (P,R,Pi)-chains

(12) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(13) Obligation:

Q DP problem:
The TRS P consists of the following rules:

LE84_IN_GAG(s(T128), X280) → LE84_IN_GAG(T128, X280)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(14) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • LE84_IN_GAG(s(T128), X280) → LE84_IN_GAG(T128, X280)
    The graph contains the following edges 1 > 1, 2 >= 2

(15) YES

(16) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

LE84_IN_GAA(s(T128), s(T130), X280) → LE84_IN_GAA(T128, T130, X280)

The TRS R consists of the following rules:

minus1_in_gaa(0, T25, 0) → minus1_out_gaa(0, T25, 0)
minus1_in_gaa(s(T46), 0, s(T40)) → U12_gaa(T46, T40, minus26_in_ga(T46, T40))
minus26_in_ga(T54, T56) → U5_ga(T54, T56, le29_in_ga(T54, X92))
le29_in_ga(0, true) → le29_out_ga(0, true)
le29_in_ga(s(T62), false) → le29_out_ga(s(T62), false)
U5_ga(T54, T56, le29_out_ga(T54, X92)) → minus26_out_ga(T54, T56)
minus26_in_ga(T70, 0) → U6_ga(T70, le29_in_gg(T70, true))
le29_in_gg(0, true) → le29_out_gg(0, true)
le29_in_gg(s(T62), false) → le29_out_gg(s(T62), false)
U6_ga(T70, le29_out_gg(T70, true)) → minus26_out_ga(T70, 0)
minus26_in_ga(0, s(T77)) → U7_ga(T77, le29_in_gg(0, false))
U7_ga(T77, le29_out_gg(0, false)) → U8_ga(T77, minus54_in_a(T77))
minus54_in_a(T84) → U1_a(T84, le58_in_a(X166))
le58_in_a(true) → le58_out_a(true)
U1_a(T84, le58_out_a(X166)) → minus54_out_a(T84)
minus54_in_a(0) → U2_a(le58_in_g(true))
le58_in_g(true) → le58_out_g(true)
U2_a(le58_out_g(true)) → minus54_out_a(0)
minus54_in_a(s(T89)) → U3_a(T89, le58_in_g(false))
U3_a(T89, le58_out_g(false)) → U4_a(T89, minus54_in_a(T89))
U4_a(T89, minus54_out_a(T89)) → minus54_out_a(s(T89))
U8_ga(T77, minus54_out_a(T77)) → minus26_out_ga(0, s(T77))
minus26_in_ga(s(T96), s(T77)) → U9_ga(T96, T77, le29_in_gg(s(T96), false))
U9_ga(T96, T77, le29_out_gg(s(T96), false)) → U10_ga(T96, T77, minus26_in_ga(T96, T77))
U10_ga(T96, T77, minus26_out_ga(T96, T77)) → minus26_out_ga(s(T96), s(T77))
U12_gaa(T46, T40, minus26_out_ga(T46, T40)) → minus1_out_gaa(s(T46), 0, s(T40))
minus1_in_gaa(s(T103), s(T105), T106) → U13_gaa(T103, T105, T106, le84_in_gaa(T103, T105, X249))
le84_in_gaa(0, T118, true) → le84_out_gaa(0, T118, true)
le84_in_gaa(s(T123), 0, false) → le84_out_gaa(s(T123), 0, false)
le84_in_gaa(s(T128), s(T130), X280) → U11_gaa(T128, T130, X280, le84_in_gaa(T128, T130, X280))
U11_gaa(T128, T130, X280, le84_out_gaa(T128, T130, X280)) → le84_out_gaa(s(T128), s(T130), X280)
U13_gaa(T103, T105, T106, le84_out_gaa(T103, T105, X249)) → minus1_out_gaa(s(T103), s(T105), T106)
minus1_in_gaa(s(T145), s(T146), 0) → U14_gaa(T145, T146, le84_in_gag(T145, T146, true))
le84_in_gag(0, T118, true) → le84_out_gag(0, T118, true)
le84_in_gag(s(T123), 0, false) → le84_out_gag(s(T123), 0, false)
le84_in_gag(s(T128), s(T130), X280) → U11_gag(T128, T130, X280, le84_in_gag(T128, T130, X280))
U11_gag(T128, T130, X280, le84_out_gag(T128, T130, X280)) → le84_out_gag(s(T128), s(T130), X280)
U14_gaa(T145, T146, le84_out_gag(T145, T146, true)) → minus1_out_gaa(s(T145), s(T146), 0)
minus1_in_gaa(s(T165), s(T157), s(T156)) → U15_gaa(T165, T157, T156, le84_in_gag(T165, T157, false))
U15_gaa(T165, T157, T156, le84_out_gag(T165, T157, false)) → U16_gaa(T165, T157, T156, minus1_in_gaa(T165, s(T157), T156))
U16_gaa(T165, T157, T156, minus1_out_gaa(T165, s(T157), T156)) → minus1_out_gaa(s(T165), s(T157), s(T156))

The argument filtering Pi contains the following mapping:
minus1_in_gaa(x1, x2, x3)  =  minus1_in_gaa(x1)
0  =  0
minus1_out_gaa(x1, x2, x3)  =  minus1_out_gaa
s(x1)  =  s(x1)
U12_gaa(x1, x2, x3)  =  U12_gaa(x3)
minus26_in_ga(x1, x2)  =  minus26_in_ga(x1)
U5_ga(x1, x2, x3)  =  U5_ga(x3)
le29_in_ga(x1, x2)  =  le29_in_ga(x1)
le29_out_ga(x1, x2)  =  le29_out_ga(x2)
minus26_out_ga(x1, x2)  =  minus26_out_ga
U6_ga(x1, x2)  =  U6_ga(x2)
le29_in_gg(x1, x2)  =  le29_in_gg(x1, x2)
true  =  true
le29_out_gg(x1, x2)  =  le29_out_gg
false  =  false
U7_ga(x1, x2)  =  U7_ga(x2)
U8_ga(x1, x2)  =  U8_ga(x2)
minus54_in_a(x1)  =  minus54_in_a
U1_a(x1, x2)  =  U1_a(x2)
le58_in_a(x1)  =  le58_in_a
le58_out_a(x1)  =  le58_out_a(x1)
minus54_out_a(x1)  =  minus54_out_a
U2_a(x1)  =  U2_a(x1)
le58_in_g(x1)  =  le58_in_g(x1)
le58_out_g(x1)  =  le58_out_g
U3_a(x1, x2)  =  U3_a(x2)
U4_a(x1, x2)  =  U4_a(x2)
U9_ga(x1, x2, x3)  =  U9_ga(x1, x3)
U10_ga(x1, x2, x3)  =  U10_ga(x3)
U13_gaa(x1, x2, x3, x4)  =  U13_gaa(x4)
le84_in_gaa(x1, x2, x3)  =  le84_in_gaa(x1)
le84_out_gaa(x1, x2, x3)  =  le84_out_gaa(x3)
U11_gaa(x1, x2, x3, x4)  =  U11_gaa(x4)
U14_gaa(x1, x2, x3)  =  U14_gaa(x3)
le84_in_gag(x1, x2, x3)  =  le84_in_gag(x1, x3)
le84_out_gag(x1, x2, x3)  =  le84_out_gag
U11_gag(x1, x2, x3, x4)  =  U11_gag(x4)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x1, x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x4)
LE84_IN_GAA(x1, x2, x3)  =  LE84_IN_GAA(x1)

We have to consider all (P,R,Pi)-chains

(17) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(18) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

LE84_IN_GAA(s(T128), s(T130), X280) → LE84_IN_GAA(T128, T130, X280)

R is empty.
The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
LE84_IN_GAA(x1, x2, x3)  =  LE84_IN_GAA(x1)

We have to consider all (P,R,Pi)-chains

(19) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(20) Obligation:

Q DP problem:
The TRS P consists of the following rules:

LE84_IN_GAA(s(T128)) → LE84_IN_GAA(T128)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(21) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • LE84_IN_GAA(s(T128)) → LE84_IN_GAA(T128)
    The graph contains the following edges 1 > 1

(22) YES

(23) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

MINUS1_IN_GAA(s(T165), s(T157), s(T156)) → U15_GAA(T165, T157, T156, le84_in_gag(T165, T157, false))
U15_GAA(T165, T157, T156, le84_out_gag(T165, T157, false)) → MINUS1_IN_GAA(T165, s(T157), T156)

The TRS R consists of the following rules:

minus1_in_gaa(0, T25, 0) → minus1_out_gaa(0, T25, 0)
minus1_in_gaa(s(T46), 0, s(T40)) → U12_gaa(T46, T40, minus26_in_ga(T46, T40))
minus26_in_ga(T54, T56) → U5_ga(T54, T56, le29_in_ga(T54, X92))
le29_in_ga(0, true) → le29_out_ga(0, true)
le29_in_ga(s(T62), false) → le29_out_ga(s(T62), false)
U5_ga(T54, T56, le29_out_ga(T54, X92)) → minus26_out_ga(T54, T56)
minus26_in_ga(T70, 0) → U6_ga(T70, le29_in_gg(T70, true))
le29_in_gg(0, true) → le29_out_gg(0, true)
le29_in_gg(s(T62), false) → le29_out_gg(s(T62), false)
U6_ga(T70, le29_out_gg(T70, true)) → minus26_out_ga(T70, 0)
minus26_in_ga(0, s(T77)) → U7_ga(T77, le29_in_gg(0, false))
U7_ga(T77, le29_out_gg(0, false)) → U8_ga(T77, minus54_in_a(T77))
minus54_in_a(T84) → U1_a(T84, le58_in_a(X166))
le58_in_a(true) → le58_out_a(true)
U1_a(T84, le58_out_a(X166)) → minus54_out_a(T84)
minus54_in_a(0) → U2_a(le58_in_g(true))
le58_in_g(true) → le58_out_g(true)
U2_a(le58_out_g(true)) → minus54_out_a(0)
minus54_in_a(s(T89)) → U3_a(T89, le58_in_g(false))
U3_a(T89, le58_out_g(false)) → U4_a(T89, minus54_in_a(T89))
U4_a(T89, minus54_out_a(T89)) → minus54_out_a(s(T89))
U8_ga(T77, minus54_out_a(T77)) → minus26_out_ga(0, s(T77))
minus26_in_ga(s(T96), s(T77)) → U9_ga(T96, T77, le29_in_gg(s(T96), false))
U9_ga(T96, T77, le29_out_gg(s(T96), false)) → U10_ga(T96, T77, minus26_in_ga(T96, T77))
U10_ga(T96, T77, minus26_out_ga(T96, T77)) → minus26_out_ga(s(T96), s(T77))
U12_gaa(T46, T40, minus26_out_ga(T46, T40)) → minus1_out_gaa(s(T46), 0, s(T40))
minus1_in_gaa(s(T103), s(T105), T106) → U13_gaa(T103, T105, T106, le84_in_gaa(T103, T105, X249))
le84_in_gaa(0, T118, true) → le84_out_gaa(0, T118, true)
le84_in_gaa(s(T123), 0, false) → le84_out_gaa(s(T123), 0, false)
le84_in_gaa(s(T128), s(T130), X280) → U11_gaa(T128, T130, X280, le84_in_gaa(T128, T130, X280))
U11_gaa(T128, T130, X280, le84_out_gaa(T128, T130, X280)) → le84_out_gaa(s(T128), s(T130), X280)
U13_gaa(T103, T105, T106, le84_out_gaa(T103, T105, X249)) → minus1_out_gaa(s(T103), s(T105), T106)
minus1_in_gaa(s(T145), s(T146), 0) → U14_gaa(T145, T146, le84_in_gag(T145, T146, true))
le84_in_gag(0, T118, true) → le84_out_gag(0, T118, true)
le84_in_gag(s(T123), 0, false) → le84_out_gag(s(T123), 0, false)
le84_in_gag(s(T128), s(T130), X280) → U11_gag(T128, T130, X280, le84_in_gag(T128, T130, X280))
U11_gag(T128, T130, X280, le84_out_gag(T128, T130, X280)) → le84_out_gag(s(T128), s(T130), X280)
U14_gaa(T145, T146, le84_out_gag(T145, T146, true)) → minus1_out_gaa(s(T145), s(T146), 0)
minus1_in_gaa(s(T165), s(T157), s(T156)) → U15_gaa(T165, T157, T156, le84_in_gag(T165, T157, false))
U15_gaa(T165, T157, T156, le84_out_gag(T165, T157, false)) → U16_gaa(T165, T157, T156, minus1_in_gaa(T165, s(T157), T156))
U16_gaa(T165, T157, T156, minus1_out_gaa(T165, s(T157), T156)) → minus1_out_gaa(s(T165), s(T157), s(T156))

The argument filtering Pi contains the following mapping:
minus1_in_gaa(x1, x2, x3)  =  minus1_in_gaa(x1)
0  =  0
minus1_out_gaa(x1, x2, x3)  =  minus1_out_gaa
s(x1)  =  s(x1)
U12_gaa(x1, x2, x3)  =  U12_gaa(x3)
minus26_in_ga(x1, x2)  =  minus26_in_ga(x1)
U5_ga(x1, x2, x3)  =  U5_ga(x3)
le29_in_ga(x1, x2)  =  le29_in_ga(x1)
le29_out_ga(x1, x2)  =  le29_out_ga(x2)
minus26_out_ga(x1, x2)  =  minus26_out_ga
U6_ga(x1, x2)  =  U6_ga(x2)
le29_in_gg(x1, x2)  =  le29_in_gg(x1, x2)
true  =  true
le29_out_gg(x1, x2)  =  le29_out_gg
false  =  false
U7_ga(x1, x2)  =  U7_ga(x2)
U8_ga(x1, x2)  =  U8_ga(x2)
minus54_in_a(x1)  =  minus54_in_a
U1_a(x1, x2)  =  U1_a(x2)
le58_in_a(x1)  =  le58_in_a
le58_out_a(x1)  =  le58_out_a(x1)
minus54_out_a(x1)  =  minus54_out_a
U2_a(x1)  =  U2_a(x1)
le58_in_g(x1)  =  le58_in_g(x1)
le58_out_g(x1)  =  le58_out_g
U3_a(x1, x2)  =  U3_a(x2)
U4_a(x1, x2)  =  U4_a(x2)
U9_ga(x1, x2, x3)  =  U9_ga(x1, x3)
U10_ga(x1, x2, x3)  =  U10_ga(x3)
U13_gaa(x1, x2, x3, x4)  =  U13_gaa(x4)
le84_in_gaa(x1, x2, x3)  =  le84_in_gaa(x1)
le84_out_gaa(x1, x2, x3)  =  le84_out_gaa(x3)
U11_gaa(x1, x2, x3, x4)  =  U11_gaa(x4)
U14_gaa(x1, x2, x3)  =  U14_gaa(x3)
le84_in_gag(x1, x2, x3)  =  le84_in_gag(x1, x3)
le84_out_gag(x1, x2, x3)  =  le84_out_gag
U11_gag(x1, x2, x3, x4)  =  U11_gag(x4)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x1, x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x4)
MINUS1_IN_GAA(x1, x2, x3)  =  MINUS1_IN_GAA(x1)
U15_GAA(x1, x2, x3, x4)  =  U15_GAA(x1, x4)

We have to consider all (P,R,Pi)-chains

(24) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(25) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

MINUS1_IN_GAA(s(T165), s(T157), s(T156)) → U15_GAA(T165, T157, T156, le84_in_gag(T165, T157, false))
U15_GAA(T165, T157, T156, le84_out_gag(T165, T157, false)) → MINUS1_IN_GAA(T165, s(T157), T156)

The TRS R consists of the following rules:

le84_in_gag(s(T123), 0, false) → le84_out_gag(s(T123), 0, false)
le84_in_gag(s(T128), s(T130), X280) → U11_gag(T128, T130, X280, le84_in_gag(T128, T130, X280))
U11_gag(T128, T130, X280, le84_out_gag(T128, T130, X280)) → le84_out_gag(s(T128), s(T130), X280)
le84_in_gag(0, T118, true) → le84_out_gag(0, T118, true)

The argument filtering Pi contains the following mapping:
0  =  0
s(x1)  =  s(x1)
true  =  true
false  =  false
le84_in_gag(x1, x2, x3)  =  le84_in_gag(x1, x3)
le84_out_gag(x1, x2, x3)  =  le84_out_gag
U11_gag(x1, x2, x3, x4)  =  U11_gag(x4)
MINUS1_IN_GAA(x1, x2, x3)  =  MINUS1_IN_GAA(x1)
U15_GAA(x1, x2, x3, x4)  =  U15_GAA(x1, x4)

We have to consider all (P,R,Pi)-chains

(26) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(27) Obligation:

Q DP problem:
The TRS P consists of the following rules:

MINUS1_IN_GAA(s(T165)) → U15_GAA(T165, le84_in_gag(T165, false))
U15_GAA(T165, le84_out_gag) → MINUS1_IN_GAA(T165)

The TRS R consists of the following rules:

le84_in_gag(s(T123), false) → le84_out_gag
le84_in_gag(s(T128), X280) → U11_gag(le84_in_gag(T128, X280))
U11_gag(le84_out_gag) → le84_out_gag
le84_in_gag(0, true) → le84_out_gag

The set Q consists of the following terms:

le84_in_gag(x0, x1)
U11_gag(x0)

We have to consider all (P,Q,R)-chains.

(28) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • U15_GAA(T165, le84_out_gag) → MINUS1_IN_GAA(T165)
    The graph contains the following edges 1 >= 1

  • MINUS1_IN_GAA(s(T165)) → U15_GAA(T165, le84_in_gag(T165, false))
    The graph contains the following edges 1 > 1

(29) YES

(30) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

MINUS26_IN_GA(s(T96), s(T77)) → U9_GA(T96, T77, le29_in_gg(s(T96), false))
U9_GA(T96, T77, le29_out_gg(s(T96), false)) → MINUS26_IN_GA(T96, T77)

The TRS R consists of the following rules:

minus1_in_gaa(0, T25, 0) → minus1_out_gaa(0, T25, 0)
minus1_in_gaa(s(T46), 0, s(T40)) → U12_gaa(T46, T40, minus26_in_ga(T46, T40))
minus26_in_ga(T54, T56) → U5_ga(T54, T56, le29_in_ga(T54, X92))
le29_in_ga(0, true) → le29_out_ga(0, true)
le29_in_ga(s(T62), false) → le29_out_ga(s(T62), false)
U5_ga(T54, T56, le29_out_ga(T54, X92)) → minus26_out_ga(T54, T56)
minus26_in_ga(T70, 0) → U6_ga(T70, le29_in_gg(T70, true))
le29_in_gg(0, true) → le29_out_gg(0, true)
le29_in_gg(s(T62), false) → le29_out_gg(s(T62), false)
U6_ga(T70, le29_out_gg(T70, true)) → minus26_out_ga(T70, 0)
minus26_in_ga(0, s(T77)) → U7_ga(T77, le29_in_gg(0, false))
U7_ga(T77, le29_out_gg(0, false)) → U8_ga(T77, minus54_in_a(T77))
minus54_in_a(T84) → U1_a(T84, le58_in_a(X166))
le58_in_a(true) → le58_out_a(true)
U1_a(T84, le58_out_a(X166)) → minus54_out_a(T84)
minus54_in_a(0) → U2_a(le58_in_g(true))
le58_in_g(true) → le58_out_g(true)
U2_a(le58_out_g(true)) → minus54_out_a(0)
minus54_in_a(s(T89)) → U3_a(T89, le58_in_g(false))
U3_a(T89, le58_out_g(false)) → U4_a(T89, minus54_in_a(T89))
U4_a(T89, minus54_out_a(T89)) → minus54_out_a(s(T89))
U8_ga(T77, minus54_out_a(T77)) → minus26_out_ga(0, s(T77))
minus26_in_ga(s(T96), s(T77)) → U9_ga(T96, T77, le29_in_gg(s(T96), false))
U9_ga(T96, T77, le29_out_gg(s(T96), false)) → U10_ga(T96, T77, minus26_in_ga(T96, T77))
U10_ga(T96, T77, minus26_out_ga(T96, T77)) → minus26_out_ga(s(T96), s(T77))
U12_gaa(T46, T40, minus26_out_ga(T46, T40)) → minus1_out_gaa(s(T46), 0, s(T40))
minus1_in_gaa(s(T103), s(T105), T106) → U13_gaa(T103, T105, T106, le84_in_gaa(T103, T105, X249))
le84_in_gaa(0, T118, true) → le84_out_gaa(0, T118, true)
le84_in_gaa(s(T123), 0, false) → le84_out_gaa(s(T123), 0, false)
le84_in_gaa(s(T128), s(T130), X280) → U11_gaa(T128, T130, X280, le84_in_gaa(T128, T130, X280))
U11_gaa(T128, T130, X280, le84_out_gaa(T128, T130, X280)) → le84_out_gaa(s(T128), s(T130), X280)
U13_gaa(T103, T105, T106, le84_out_gaa(T103, T105, X249)) → minus1_out_gaa(s(T103), s(T105), T106)
minus1_in_gaa(s(T145), s(T146), 0) → U14_gaa(T145, T146, le84_in_gag(T145, T146, true))
le84_in_gag(0, T118, true) → le84_out_gag(0, T118, true)
le84_in_gag(s(T123), 0, false) → le84_out_gag(s(T123), 0, false)
le84_in_gag(s(T128), s(T130), X280) → U11_gag(T128, T130, X280, le84_in_gag(T128, T130, X280))
U11_gag(T128, T130, X280, le84_out_gag(T128, T130, X280)) → le84_out_gag(s(T128), s(T130), X280)
U14_gaa(T145, T146, le84_out_gag(T145, T146, true)) → minus1_out_gaa(s(T145), s(T146), 0)
minus1_in_gaa(s(T165), s(T157), s(T156)) → U15_gaa(T165, T157, T156, le84_in_gag(T165, T157, false))
U15_gaa(T165, T157, T156, le84_out_gag(T165, T157, false)) → U16_gaa(T165, T157, T156, minus1_in_gaa(T165, s(T157), T156))
U16_gaa(T165, T157, T156, minus1_out_gaa(T165, s(T157), T156)) → minus1_out_gaa(s(T165), s(T157), s(T156))

The argument filtering Pi contains the following mapping:
minus1_in_gaa(x1, x2, x3)  =  minus1_in_gaa(x1)
0  =  0
minus1_out_gaa(x1, x2, x3)  =  minus1_out_gaa
s(x1)  =  s(x1)
U12_gaa(x1, x2, x3)  =  U12_gaa(x3)
minus26_in_ga(x1, x2)  =  minus26_in_ga(x1)
U5_ga(x1, x2, x3)  =  U5_ga(x3)
le29_in_ga(x1, x2)  =  le29_in_ga(x1)
le29_out_ga(x1, x2)  =  le29_out_ga(x2)
minus26_out_ga(x1, x2)  =  minus26_out_ga
U6_ga(x1, x2)  =  U6_ga(x2)
le29_in_gg(x1, x2)  =  le29_in_gg(x1, x2)
true  =  true
le29_out_gg(x1, x2)  =  le29_out_gg
false  =  false
U7_ga(x1, x2)  =  U7_ga(x2)
U8_ga(x1, x2)  =  U8_ga(x2)
minus54_in_a(x1)  =  minus54_in_a
U1_a(x1, x2)  =  U1_a(x2)
le58_in_a(x1)  =  le58_in_a
le58_out_a(x1)  =  le58_out_a(x1)
minus54_out_a(x1)  =  minus54_out_a
U2_a(x1)  =  U2_a(x1)
le58_in_g(x1)  =  le58_in_g(x1)
le58_out_g(x1)  =  le58_out_g
U3_a(x1, x2)  =  U3_a(x2)
U4_a(x1, x2)  =  U4_a(x2)
U9_ga(x1, x2, x3)  =  U9_ga(x1, x3)
U10_ga(x1, x2, x3)  =  U10_ga(x3)
U13_gaa(x1, x2, x3, x4)  =  U13_gaa(x4)
le84_in_gaa(x1, x2, x3)  =  le84_in_gaa(x1)
le84_out_gaa(x1, x2, x3)  =  le84_out_gaa(x3)
U11_gaa(x1, x2, x3, x4)  =  U11_gaa(x4)
U14_gaa(x1, x2, x3)  =  U14_gaa(x3)
le84_in_gag(x1, x2, x3)  =  le84_in_gag(x1, x3)
le84_out_gag(x1, x2, x3)  =  le84_out_gag
U11_gag(x1, x2, x3, x4)  =  U11_gag(x4)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x1, x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x4)
MINUS26_IN_GA(x1, x2)  =  MINUS26_IN_GA(x1)
U9_GA(x1, x2, x3)  =  U9_GA(x1, x3)

We have to consider all (P,R,Pi)-chains

(31) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(32) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

MINUS26_IN_GA(s(T96), s(T77)) → U9_GA(T96, T77, le29_in_gg(s(T96), false))
U9_GA(T96, T77, le29_out_gg(s(T96), false)) → MINUS26_IN_GA(T96, T77)

The TRS R consists of the following rules:

le29_in_gg(s(T62), false) → le29_out_gg(s(T62), false)

The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
le29_in_gg(x1, x2)  =  le29_in_gg(x1, x2)
le29_out_gg(x1, x2)  =  le29_out_gg
false  =  false
MINUS26_IN_GA(x1, x2)  =  MINUS26_IN_GA(x1)
U9_GA(x1, x2, x3)  =  U9_GA(x1, x3)

We have to consider all (P,R,Pi)-chains

(33) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(34) Obligation:

Q DP problem:
The TRS P consists of the following rules:

MINUS26_IN_GA(s(T96)) → U9_GA(T96, le29_in_gg(s(T96), false))
U9_GA(T96, le29_out_gg) → MINUS26_IN_GA(T96)

The TRS R consists of the following rules:

le29_in_gg(s(T62), false) → le29_out_gg

The set Q consists of the following terms:

le29_in_gg(x0, x1)

We have to consider all (P,Q,R)-chains.

(35) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • U9_GA(T96, le29_out_gg) → MINUS26_IN_GA(T96)
    The graph contains the following edges 1 >= 1

  • MINUS26_IN_GA(s(T96)) → U9_GA(T96, le29_in_gg(s(T96), false))
    The graph contains the following edges 1 > 1

(36) YES