(0) Obligation:

Clauses:

rem(X, Y, R) :- ','(notZero(Y), ','(sub(X, Y, Z), rem(Z, Y, R))).
rem(X, Y, X) :- ','(notZero(Y), geq(X, Y)).
sub(s(X), s(Y), Z) :- sub(X, Y, Z).
sub(X, 0, X).
notZero(s(X)).
geq(s(X), s(Y)) :- geq(X, Y).
geq(X, 0).

Queries:

rem(g,g,a).

(1) PrologToPrologProblemTransformerProof (SOUND transformation)

Built Prolog problem from termination graph.

(2) Obligation:

Clauses:

sub14(s(T41), s(T42), X68) :- sub14(T41, T42, X68).
sub14(T47, 0, T47).
geq34(s(T85), s(T86)) :- geq34(T85, T86).
geq34(T91, 0).
sub9(s(T29), T30, X41) :- sub14(T29, T30, X41).
rem1(T7, s(T15), T10) :- sub9(T7, T15, X7).
rem1(T7, s(T15), T10) :- ','(sub9(T7, T15, T18), rem1(T18, s(T15), T10)).
rem1(s(T73), s(T74), s(T73)) :- geq34(T73, T74).

Queries:

rem1(g,g,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:
rem1_in: (b,b,f)
sub9_in: (b,b,f)
sub14_in: (b,b,f)
geq34_in: (b,b)
Transforming Prolog into the following Term Rewriting System:
Pi-finite rewrite system:
The TRS R consists of the following rules:

rem1_in_gga(T7, s(T15), T10) → U4_gga(T7, T15, T10, sub9_in_gga(T7, T15, X7))
sub9_in_gga(s(T29), T30, X41) → U3_gga(T29, T30, X41, sub14_in_gga(T29, T30, X41))
sub14_in_gga(s(T41), s(T42), X68) → U1_gga(T41, T42, X68, sub14_in_gga(T41, T42, X68))
sub14_in_gga(T47, 0, T47) → sub14_out_gga(T47, 0, T47)
U1_gga(T41, T42, X68, sub14_out_gga(T41, T42, X68)) → sub14_out_gga(s(T41), s(T42), X68)
U3_gga(T29, T30, X41, sub14_out_gga(T29, T30, X41)) → sub9_out_gga(s(T29), T30, X41)
U4_gga(T7, T15, T10, sub9_out_gga(T7, T15, X7)) → rem1_out_gga(T7, s(T15), T10)
rem1_in_gga(T7, s(T15), T10) → U5_gga(T7, T15, T10, sub9_in_gga(T7, T15, T18))
U5_gga(T7, T15, T10, sub9_out_gga(T7, T15, T18)) → U6_gga(T7, T15, T10, rem1_in_gga(T18, s(T15), T10))
rem1_in_gga(s(T73), s(T74), s(T73)) → U7_gga(T73, T74, geq34_in_gg(T73, T74))
geq34_in_gg(s(T85), s(T86)) → U2_gg(T85, T86, geq34_in_gg(T85, T86))
geq34_in_gg(T91, 0) → geq34_out_gg(T91, 0)
U2_gg(T85, T86, geq34_out_gg(T85, T86)) → geq34_out_gg(s(T85), s(T86))
U7_gga(T73, T74, geq34_out_gg(T73, T74)) → rem1_out_gga(s(T73), s(T74), s(T73))
U6_gga(T7, T15, T10, rem1_out_gga(T18, s(T15), T10)) → rem1_out_gga(T7, s(T15), T10)

The argument filtering Pi contains the following mapping:
rem1_in_gga(x1, x2, x3)  =  rem1_in_gga(x1, x2)
s(x1)  =  s(x1)
U4_gga(x1, x2, x3, x4)  =  U4_gga(x4)
sub9_in_gga(x1, x2, x3)  =  sub9_in_gga(x1, x2)
U3_gga(x1, x2, x3, x4)  =  U3_gga(x4)
sub14_in_gga(x1, x2, x3)  =  sub14_in_gga(x1, x2)
U1_gga(x1, x2, x3, x4)  =  U1_gga(x4)
0  =  0
sub14_out_gga(x1, x2, x3)  =  sub14_out_gga(x3)
sub9_out_gga(x1, x2, x3)  =  sub9_out_gga(x3)
rem1_out_gga(x1, x2, x3)  =  rem1_out_gga
U5_gga(x1, x2, x3, x4)  =  U5_gga(x2, x4)
U6_gga(x1, x2, x3, x4)  =  U6_gga(x4)
U7_gga(x1, x2, x3)  =  U7_gga(x3)
geq34_in_gg(x1, x2)  =  geq34_in_gg(x1, x2)
U2_gg(x1, x2, x3)  =  U2_gg(x3)
geq34_out_gg(x1, x2)  =  geq34_out_gg

Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog

(4) Obligation:

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

rem1_in_gga(T7, s(T15), T10) → U4_gga(T7, T15, T10, sub9_in_gga(T7, T15, X7))
sub9_in_gga(s(T29), T30, X41) → U3_gga(T29, T30, X41, sub14_in_gga(T29, T30, X41))
sub14_in_gga(s(T41), s(T42), X68) → U1_gga(T41, T42, X68, sub14_in_gga(T41, T42, X68))
sub14_in_gga(T47, 0, T47) → sub14_out_gga(T47, 0, T47)
U1_gga(T41, T42, X68, sub14_out_gga(T41, T42, X68)) → sub14_out_gga(s(T41), s(T42), X68)
U3_gga(T29, T30, X41, sub14_out_gga(T29, T30, X41)) → sub9_out_gga(s(T29), T30, X41)
U4_gga(T7, T15, T10, sub9_out_gga(T7, T15, X7)) → rem1_out_gga(T7, s(T15), T10)
rem1_in_gga(T7, s(T15), T10) → U5_gga(T7, T15, T10, sub9_in_gga(T7, T15, T18))
U5_gga(T7, T15, T10, sub9_out_gga(T7, T15, T18)) → U6_gga(T7, T15, T10, rem1_in_gga(T18, s(T15), T10))
rem1_in_gga(s(T73), s(T74), s(T73)) → U7_gga(T73, T74, geq34_in_gg(T73, T74))
geq34_in_gg(s(T85), s(T86)) → U2_gg(T85, T86, geq34_in_gg(T85, T86))
geq34_in_gg(T91, 0) → geq34_out_gg(T91, 0)
U2_gg(T85, T86, geq34_out_gg(T85, T86)) → geq34_out_gg(s(T85), s(T86))
U7_gga(T73, T74, geq34_out_gg(T73, T74)) → rem1_out_gga(s(T73), s(T74), s(T73))
U6_gga(T7, T15, T10, rem1_out_gga(T18, s(T15), T10)) → rem1_out_gga(T7, s(T15), T10)

The argument filtering Pi contains the following mapping:
rem1_in_gga(x1, x2, x3)  =  rem1_in_gga(x1, x2)
s(x1)  =  s(x1)
U4_gga(x1, x2, x3, x4)  =  U4_gga(x4)
sub9_in_gga(x1, x2, x3)  =  sub9_in_gga(x1, x2)
U3_gga(x1, x2, x3, x4)  =  U3_gga(x4)
sub14_in_gga(x1, x2, x3)  =  sub14_in_gga(x1, x2)
U1_gga(x1, x2, x3, x4)  =  U1_gga(x4)
0  =  0
sub14_out_gga(x1, x2, x3)  =  sub14_out_gga(x3)
sub9_out_gga(x1, x2, x3)  =  sub9_out_gga(x3)
rem1_out_gga(x1, x2, x3)  =  rem1_out_gga
U5_gga(x1, x2, x3, x4)  =  U5_gga(x2, x4)
U6_gga(x1, x2, x3, x4)  =  U6_gga(x4)
U7_gga(x1, x2, x3)  =  U7_gga(x3)
geq34_in_gg(x1, x2)  =  geq34_in_gg(x1, x2)
U2_gg(x1, x2, x3)  =  U2_gg(x3)
geq34_out_gg(x1, x2)  =  geq34_out_gg

(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:

REM1_IN_GGA(T7, s(T15), T10) → U4_GGA(T7, T15, T10, sub9_in_gga(T7, T15, X7))
REM1_IN_GGA(T7, s(T15), T10) → SUB9_IN_GGA(T7, T15, X7)
SUB9_IN_GGA(s(T29), T30, X41) → U3_GGA(T29, T30, X41, sub14_in_gga(T29, T30, X41))
SUB9_IN_GGA(s(T29), T30, X41) → SUB14_IN_GGA(T29, T30, X41)
SUB14_IN_GGA(s(T41), s(T42), X68) → U1_GGA(T41, T42, X68, sub14_in_gga(T41, T42, X68))
SUB14_IN_GGA(s(T41), s(T42), X68) → SUB14_IN_GGA(T41, T42, X68)
REM1_IN_GGA(T7, s(T15), T10) → U5_GGA(T7, T15, T10, sub9_in_gga(T7, T15, T18))
U5_GGA(T7, T15, T10, sub9_out_gga(T7, T15, T18)) → U6_GGA(T7, T15, T10, rem1_in_gga(T18, s(T15), T10))
U5_GGA(T7, T15, T10, sub9_out_gga(T7, T15, T18)) → REM1_IN_GGA(T18, s(T15), T10)
REM1_IN_GGA(s(T73), s(T74), s(T73)) → U7_GGA(T73, T74, geq34_in_gg(T73, T74))
REM1_IN_GGA(s(T73), s(T74), s(T73)) → GEQ34_IN_GG(T73, T74)
GEQ34_IN_GG(s(T85), s(T86)) → U2_GG(T85, T86, geq34_in_gg(T85, T86))
GEQ34_IN_GG(s(T85), s(T86)) → GEQ34_IN_GG(T85, T86)

The TRS R consists of the following rules:

rem1_in_gga(T7, s(T15), T10) → U4_gga(T7, T15, T10, sub9_in_gga(T7, T15, X7))
sub9_in_gga(s(T29), T30, X41) → U3_gga(T29, T30, X41, sub14_in_gga(T29, T30, X41))
sub14_in_gga(s(T41), s(T42), X68) → U1_gga(T41, T42, X68, sub14_in_gga(T41, T42, X68))
sub14_in_gga(T47, 0, T47) → sub14_out_gga(T47, 0, T47)
U1_gga(T41, T42, X68, sub14_out_gga(T41, T42, X68)) → sub14_out_gga(s(T41), s(T42), X68)
U3_gga(T29, T30, X41, sub14_out_gga(T29, T30, X41)) → sub9_out_gga(s(T29), T30, X41)
U4_gga(T7, T15, T10, sub9_out_gga(T7, T15, X7)) → rem1_out_gga(T7, s(T15), T10)
rem1_in_gga(T7, s(T15), T10) → U5_gga(T7, T15, T10, sub9_in_gga(T7, T15, T18))
U5_gga(T7, T15, T10, sub9_out_gga(T7, T15, T18)) → U6_gga(T7, T15, T10, rem1_in_gga(T18, s(T15), T10))
rem1_in_gga(s(T73), s(T74), s(T73)) → U7_gga(T73, T74, geq34_in_gg(T73, T74))
geq34_in_gg(s(T85), s(T86)) → U2_gg(T85, T86, geq34_in_gg(T85, T86))
geq34_in_gg(T91, 0) → geq34_out_gg(T91, 0)
U2_gg(T85, T86, geq34_out_gg(T85, T86)) → geq34_out_gg(s(T85), s(T86))
U7_gga(T73, T74, geq34_out_gg(T73, T74)) → rem1_out_gga(s(T73), s(T74), s(T73))
U6_gga(T7, T15, T10, rem1_out_gga(T18, s(T15), T10)) → rem1_out_gga(T7, s(T15), T10)

The argument filtering Pi contains the following mapping:
rem1_in_gga(x1, x2, x3)  =  rem1_in_gga(x1, x2)
s(x1)  =  s(x1)
U4_gga(x1, x2, x3, x4)  =  U4_gga(x4)
sub9_in_gga(x1, x2, x3)  =  sub9_in_gga(x1, x2)
U3_gga(x1, x2, x3, x4)  =  U3_gga(x4)
sub14_in_gga(x1, x2, x3)  =  sub14_in_gga(x1, x2)
U1_gga(x1, x2, x3, x4)  =  U1_gga(x4)
0  =  0
sub14_out_gga(x1, x2, x3)  =  sub14_out_gga(x3)
sub9_out_gga(x1, x2, x3)  =  sub9_out_gga(x3)
rem1_out_gga(x1, x2, x3)  =  rem1_out_gga
U5_gga(x1, x2, x3, x4)  =  U5_gga(x2, x4)
U6_gga(x1, x2, x3, x4)  =  U6_gga(x4)
U7_gga(x1, x2, x3)  =  U7_gga(x3)
geq34_in_gg(x1, x2)  =  geq34_in_gg(x1, x2)
U2_gg(x1, x2, x3)  =  U2_gg(x3)
geq34_out_gg(x1, x2)  =  geq34_out_gg
REM1_IN_GGA(x1, x2, x3)  =  REM1_IN_GGA(x1, x2)
U4_GGA(x1, x2, x3, x4)  =  U4_GGA(x4)
SUB9_IN_GGA(x1, x2, x3)  =  SUB9_IN_GGA(x1, x2)
U3_GGA(x1, x2, x3, x4)  =  U3_GGA(x4)
SUB14_IN_GGA(x1, x2, x3)  =  SUB14_IN_GGA(x1, x2)
U1_GGA(x1, x2, x3, x4)  =  U1_GGA(x4)
U5_GGA(x1, x2, x3, x4)  =  U5_GGA(x2, x4)
U6_GGA(x1, x2, x3, x4)  =  U6_GGA(x4)
U7_GGA(x1, x2, x3)  =  U7_GGA(x3)
GEQ34_IN_GG(x1, x2)  =  GEQ34_IN_GG(x1, x2)
U2_GG(x1, x2, x3)  =  U2_GG(x3)

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

(6) Obligation:

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

REM1_IN_GGA(T7, s(T15), T10) → U4_GGA(T7, T15, T10, sub9_in_gga(T7, T15, X7))
REM1_IN_GGA(T7, s(T15), T10) → SUB9_IN_GGA(T7, T15, X7)
SUB9_IN_GGA(s(T29), T30, X41) → U3_GGA(T29, T30, X41, sub14_in_gga(T29, T30, X41))
SUB9_IN_GGA(s(T29), T30, X41) → SUB14_IN_GGA(T29, T30, X41)
SUB14_IN_GGA(s(T41), s(T42), X68) → U1_GGA(T41, T42, X68, sub14_in_gga(T41, T42, X68))
SUB14_IN_GGA(s(T41), s(T42), X68) → SUB14_IN_GGA(T41, T42, X68)
REM1_IN_GGA(T7, s(T15), T10) → U5_GGA(T7, T15, T10, sub9_in_gga(T7, T15, T18))
U5_GGA(T7, T15, T10, sub9_out_gga(T7, T15, T18)) → U6_GGA(T7, T15, T10, rem1_in_gga(T18, s(T15), T10))
U5_GGA(T7, T15, T10, sub9_out_gga(T7, T15, T18)) → REM1_IN_GGA(T18, s(T15), T10)
REM1_IN_GGA(s(T73), s(T74), s(T73)) → U7_GGA(T73, T74, geq34_in_gg(T73, T74))
REM1_IN_GGA(s(T73), s(T74), s(T73)) → GEQ34_IN_GG(T73, T74)
GEQ34_IN_GG(s(T85), s(T86)) → U2_GG(T85, T86, geq34_in_gg(T85, T86))
GEQ34_IN_GG(s(T85), s(T86)) → GEQ34_IN_GG(T85, T86)

The TRS R consists of the following rules:

rem1_in_gga(T7, s(T15), T10) → U4_gga(T7, T15, T10, sub9_in_gga(T7, T15, X7))
sub9_in_gga(s(T29), T30, X41) → U3_gga(T29, T30, X41, sub14_in_gga(T29, T30, X41))
sub14_in_gga(s(T41), s(T42), X68) → U1_gga(T41, T42, X68, sub14_in_gga(T41, T42, X68))
sub14_in_gga(T47, 0, T47) → sub14_out_gga(T47, 0, T47)
U1_gga(T41, T42, X68, sub14_out_gga(T41, T42, X68)) → sub14_out_gga(s(T41), s(T42), X68)
U3_gga(T29, T30, X41, sub14_out_gga(T29, T30, X41)) → sub9_out_gga(s(T29), T30, X41)
U4_gga(T7, T15, T10, sub9_out_gga(T7, T15, X7)) → rem1_out_gga(T7, s(T15), T10)
rem1_in_gga(T7, s(T15), T10) → U5_gga(T7, T15, T10, sub9_in_gga(T7, T15, T18))
U5_gga(T7, T15, T10, sub9_out_gga(T7, T15, T18)) → U6_gga(T7, T15, T10, rem1_in_gga(T18, s(T15), T10))
rem1_in_gga(s(T73), s(T74), s(T73)) → U7_gga(T73, T74, geq34_in_gg(T73, T74))
geq34_in_gg(s(T85), s(T86)) → U2_gg(T85, T86, geq34_in_gg(T85, T86))
geq34_in_gg(T91, 0) → geq34_out_gg(T91, 0)
U2_gg(T85, T86, geq34_out_gg(T85, T86)) → geq34_out_gg(s(T85), s(T86))
U7_gga(T73, T74, geq34_out_gg(T73, T74)) → rem1_out_gga(s(T73), s(T74), s(T73))
U6_gga(T7, T15, T10, rem1_out_gga(T18, s(T15), T10)) → rem1_out_gga(T7, s(T15), T10)

The argument filtering Pi contains the following mapping:
rem1_in_gga(x1, x2, x3)  =  rem1_in_gga(x1, x2)
s(x1)  =  s(x1)
U4_gga(x1, x2, x3, x4)  =  U4_gga(x4)
sub9_in_gga(x1, x2, x3)  =  sub9_in_gga(x1, x2)
U3_gga(x1, x2, x3, x4)  =  U3_gga(x4)
sub14_in_gga(x1, x2, x3)  =  sub14_in_gga(x1, x2)
U1_gga(x1, x2, x3, x4)  =  U1_gga(x4)
0  =  0
sub14_out_gga(x1, x2, x3)  =  sub14_out_gga(x3)
sub9_out_gga(x1, x2, x3)  =  sub9_out_gga(x3)
rem1_out_gga(x1, x2, x3)  =  rem1_out_gga
U5_gga(x1, x2, x3, x4)  =  U5_gga(x2, x4)
U6_gga(x1, x2, x3, x4)  =  U6_gga(x4)
U7_gga(x1, x2, x3)  =  U7_gga(x3)
geq34_in_gg(x1, x2)  =  geq34_in_gg(x1, x2)
U2_gg(x1, x2, x3)  =  U2_gg(x3)
geq34_out_gg(x1, x2)  =  geq34_out_gg
REM1_IN_GGA(x1, x2, x3)  =  REM1_IN_GGA(x1, x2)
U4_GGA(x1, x2, x3, x4)  =  U4_GGA(x4)
SUB9_IN_GGA(x1, x2, x3)  =  SUB9_IN_GGA(x1, x2)
U3_GGA(x1, x2, x3, x4)  =  U3_GGA(x4)
SUB14_IN_GGA(x1, x2, x3)  =  SUB14_IN_GGA(x1, x2)
U1_GGA(x1, x2, x3, x4)  =  U1_GGA(x4)
U5_GGA(x1, x2, x3, x4)  =  U5_GGA(x2, x4)
U6_GGA(x1, x2, x3, x4)  =  U6_GGA(x4)
U7_GGA(x1, x2, x3)  =  U7_GGA(x3)
GEQ34_IN_GG(x1, x2)  =  GEQ34_IN_GG(x1, x2)
U2_GG(x1, x2, x3)  =  U2_GG(x3)

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

(7) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LOPSTR] contains 3 SCCs with 9 less nodes.

(8) Complex Obligation (AND)

(9) Obligation:

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

GEQ34_IN_GG(s(T85), s(T86)) → GEQ34_IN_GG(T85, T86)

The TRS R consists of the following rules:

rem1_in_gga(T7, s(T15), T10) → U4_gga(T7, T15, T10, sub9_in_gga(T7, T15, X7))
sub9_in_gga(s(T29), T30, X41) → U3_gga(T29, T30, X41, sub14_in_gga(T29, T30, X41))
sub14_in_gga(s(T41), s(T42), X68) → U1_gga(T41, T42, X68, sub14_in_gga(T41, T42, X68))
sub14_in_gga(T47, 0, T47) → sub14_out_gga(T47, 0, T47)
U1_gga(T41, T42, X68, sub14_out_gga(T41, T42, X68)) → sub14_out_gga(s(T41), s(T42), X68)
U3_gga(T29, T30, X41, sub14_out_gga(T29, T30, X41)) → sub9_out_gga(s(T29), T30, X41)
U4_gga(T7, T15, T10, sub9_out_gga(T7, T15, X7)) → rem1_out_gga(T7, s(T15), T10)
rem1_in_gga(T7, s(T15), T10) → U5_gga(T7, T15, T10, sub9_in_gga(T7, T15, T18))
U5_gga(T7, T15, T10, sub9_out_gga(T7, T15, T18)) → U6_gga(T7, T15, T10, rem1_in_gga(T18, s(T15), T10))
rem1_in_gga(s(T73), s(T74), s(T73)) → U7_gga(T73, T74, geq34_in_gg(T73, T74))
geq34_in_gg(s(T85), s(T86)) → U2_gg(T85, T86, geq34_in_gg(T85, T86))
geq34_in_gg(T91, 0) → geq34_out_gg(T91, 0)
U2_gg(T85, T86, geq34_out_gg(T85, T86)) → geq34_out_gg(s(T85), s(T86))
U7_gga(T73, T74, geq34_out_gg(T73, T74)) → rem1_out_gga(s(T73), s(T74), s(T73))
U6_gga(T7, T15, T10, rem1_out_gga(T18, s(T15), T10)) → rem1_out_gga(T7, s(T15), T10)

The argument filtering Pi contains the following mapping:
rem1_in_gga(x1, x2, x3)  =  rem1_in_gga(x1, x2)
s(x1)  =  s(x1)
U4_gga(x1, x2, x3, x4)  =  U4_gga(x4)
sub9_in_gga(x1, x2, x3)  =  sub9_in_gga(x1, x2)
U3_gga(x1, x2, x3, x4)  =  U3_gga(x4)
sub14_in_gga(x1, x2, x3)  =  sub14_in_gga(x1, x2)
U1_gga(x1, x2, x3, x4)  =  U1_gga(x4)
0  =  0
sub14_out_gga(x1, x2, x3)  =  sub14_out_gga(x3)
sub9_out_gga(x1, x2, x3)  =  sub9_out_gga(x3)
rem1_out_gga(x1, x2, x3)  =  rem1_out_gga
U5_gga(x1, x2, x3, x4)  =  U5_gga(x2, x4)
U6_gga(x1, x2, x3, x4)  =  U6_gga(x4)
U7_gga(x1, x2, x3)  =  U7_gga(x3)
geq34_in_gg(x1, x2)  =  geq34_in_gg(x1, x2)
U2_gg(x1, x2, x3)  =  U2_gg(x3)
geq34_out_gg(x1, x2)  =  geq34_out_gg
GEQ34_IN_GG(x1, x2)  =  GEQ34_IN_GG(x1, x2)

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:

GEQ34_IN_GG(s(T85), s(T86)) → GEQ34_IN_GG(T85, T86)

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

(12) PiDPToQDPProof (EQUIVALENT 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:

GEQ34_IN_GG(s(T85), s(T86)) → GEQ34_IN_GG(T85, T86)

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:

  • GEQ34_IN_GG(s(T85), s(T86)) → GEQ34_IN_GG(T85, T86)
    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:

SUB14_IN_GGA(s(T41), s(T42), X68) → SUB14_IN_GGA(T41, T42, X68)

The TRS R consists of the following rules:

rem1_in_gga(T7, s(T15), T10) → U4_gga(T7, T15, T10, sub9_in_gga(T7, T15, X7))
sub9_in_gga(s(T29), T30, X41) → U3_gga(T29, T30, X41, sub14_in_gga(T29, T30, X41))
sub14_in_gga(s(T41), s(T42), X68) → U1_gga(T41, T42, X68, sub14_in_gga(T41, T42, X68))
sub14_in_gga(T47, 0, T47) → sub14_out_gga(T47, 0, T47)
U1_gga(T41, T42, X68, sub14_out_gga(T41, T42, X68)) → sub14_out_gga(s(T41), s(T42), X68)
U3_gga(T29, T30, X41, sub14_out_gga(T29, T30, X41)) → sub9_out_gga(s(T29), T30, X41)
U4_gga(T7, T15, T10, sub9_out_gga(T7, T15, X7)) → rem1_out_gga(T7, s(T15), T10)
rem1_in_gga(T7, s(T15), T10) → U5_gga(T7, T15, T10, sub9_in_gga(T7, T15, T18))
U5_gga(T7, T15, T10, sub9_out_gga(T7, T15, T18)) → U6_gga(T7, T15, T10, rem1_in_gga(T18, s(T15), T10))
rem1_in_gga(s(T73), s(T74), s(T73)) → U7_gga(T73, T74, geq34_in_gg(T73, T74))
geq34_in_gg(s(T85), s(T86)) → U2_gg(T85, T86, geq34_in_gg(T85, T86))
geq34_in_gg(T91, 0) → geq34_out_gg(T91, 0)
U2_gg(T85, T86, geq34_out_gg(T85, T86)) → geq34_out_gg(s(T85), s(T86))
U7_gga(T73, T74, geq34_out_gg(T73, T74)) → rem1_out_gga(s(T73), s(T74), s(T73))
U6_gga(T7, T15, T10, rem1_out_gga(T18, s(T15), T10)) → rem1_out_gga(T7, s(T15), T10)

The argument filtering Pi contains the following mapping:
rem1_in_gga(x1, x2, x3)  =  rem1_in_gga(x1, x2)
s(x1)  =  s(x1)
U4_gga(x1, x2, x3, x4)  =  U4_gga(x4)
sub9_in_gga(x1, x2, x3)  =  sub9_in_gga(x1, x2)
U3_gga(x1, x2, x3, x4)  =  U3_gga(x4)
sub14_in_gga(x1, x2, x3)  =  sub14_in_gga(x1, x2)
U1_gga(x1, x2, x3, x4)  =  U1_gga(x4)
0  =  0
sub14_out_gga(x1, x2, x3)  =  sub14_out_gga(x3)
sub9_out_gga(x1, x2, x3)  =  sub9_out_gga(x3)
rem1_out_gga(x1, x2, x3)  =  rem1_out_gga
U5_gga(x1, x2, x3, x4)  =  U5_gga(x2, x4)
U6_gga(x1, x2, x3, x4)  =  U6_gga(x4)
U7_gga(x1, x2, x3)  =  U7_gga(x3)
geq34_in_gg(x1, x2)  =  geq34_in_gg(x1, x2)
U2_gg(x1, x2, x3)  =  U2_gg(x3)
geq34_out_gg(x1, x2)  =  geq34_out_gg
SUB14_IN_GGA(x1, x2, x3)  =  SUB14_IN_GGA(x1, x2)

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:

SUB14_IN_GGA(s(T41), s(T42), X68) → SUB14_IN_GGA(T41, T42, X68)

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

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:

SUB14_IN_GGA(s(T41), s(T42)) → SUB14_IN_GGA(T41, T42)

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:

  • SUB14_IN_GGA(s(T41), s(T42)) → SUB14_IN_GGA(T41, T42)
    The graph contains the following edges 1 > 1, 2 > 2

(22) YES

(23) Obligation:

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

REM1_IN_GGA(T7, s(T15), T10) → U5_GGA(T7, T15, T10, sub9_in_gga(T7, T15, T18))
U5_GGA(T7, T15, T10, sub9_out_gga(T7, T15, T18)) → REM1_IN_GGA(T18, s(T15), T10)

The TRS R consists of the following rules:

rem1_in_gga(T7, s(T15), T10) → U4_gga(T7, T15, T10, sub9_in_gga(T7, T15, X7))
sub9_in_gga(s(T29), T30, X41) → U3_gga(T29, T30, X41, sub14_in_gga(T29, T30, X41))
sub14_in_gga(s(T41), s(T42), X68) → U1_gga(T41, T42, X68, sub14_in_gga(T41, T42, X68))
sub14_in_gga(T47, 0, T47) → sub14_out_gga(T47, 0, T47)
U1_gga(T41, T42, X68, sub14_out_gga(T41, T42, X68)) → sub14_out_gga(s(T41), s(T42), X68)
U3_gga(T29, T30, X41, sub14_out_gga(T29, T30, X41)) → sub9_out_gga(s(T29), T30, X41)
U4_gga(T7, T15, T10, sub9_out_gga(T7, T15, X7)) → rem1_out_gga(T7, s(T15), T10)
rem1_in_gga(T7, s(T15), T10) → U5_gga(T7, T15, T10, sub9_in_gga(T7, T15, T18))
U5_gga(T7, T15, T10, sub9_out_gga(T7, T15, T18)) → U6_gga(T7, T15, T10, rem1_in_gga(T18, s(T15), T10))
rem1_in_gga(s(T73), s(T74), s(T73)) → U7_gga(T73, T74, geq34_in_gg(T73, T74))
geq34_in_gg(s(T85), s(T86)) → U2_gg(T85, T86, geq34_in_gg(T85, T86))
geq34_in_gg(T91, 0) → geq34_out_gg(T91, 0)
U2_gg(T85, T86, geq34_out_gg(T85, T86)) → geq34_out_gg(s(T85), s(T86))
U7_gga(T73, T74, geq34_out_gg(T73, T74)) → rem1_out_gga(s(T73), s(T74), s(T73))
U6_gga(T7, T15, T10, rem1_out_gga(T18, s(T15), T10)) → rem1_out_gga(T7, s(T15), T10)

The argument filtering Pi contains the following mapping:
rem1_in_gga(x1, x2, x3)  =  rem1_in_gga(x1, x2)
s(x1)  =  s(x1)
U4_gga(x1, x2, x3, x4)  =  U4_gga(x4)
sub9_in_gga(x1, x2, x3)  =  sub9_in_gga(x1, x2)
U3_gga(x1, x2, x3, x4)  =  U3_gga(x4)
sub14_in_gga(x1, x2, x3)  =  sub14_in_gga(x1, x2)
U1_gga(x1, x2, x3, x4)  =  U1_gga(x4)
0  =  0
sub14_out_gga(x1, x2, x3)  =  sub14_out_gga(x3)
sub9_out_gga(x1, x2, x3)  =  sub9_out_gga(x3)
rem1_out_gga(x1, x2, x3)  =  rem1_out_gga
U5_gga(x1, x2, x3, x4)  =  U5_gga(x2, x4)
U6_gga(x1, x2, x3, x4)  =  U6_gga(x4)
U7_gga(x1, x2, x3)  =  U7_gga(x3)
geq34_in_gg(x1, x2)  =  geq34_in_gg(x1, x2)
U2_gg(x1, x2, x3)  =  U2_gg(x3)
geq34_out_gg(x1, x2)  =  geq34_out_gg
REM1_IN_GGA(x1, x2, x3)  =  REM1_IN_GGA(x1, x2)
U5_GGA(x1, x2, x3, x4)  =  U5_GGA(x2, 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:

REM1_IN_GGA(T7, s(T15), T10) → U5_GGA(T7, T15, T10, sub9_in_gga(T7, T15, T18))
U5_GGA(T7, T15, T10, sub9_out_gga(T7, T15, T18)) → REM1_IN_GGA(T18, s(T15), T10)

The TRS R consists of the following rules:

sub9_in_gga(s(T29), T30, X41) → U3_gga(T29, T30, X41, sub14_in_gga(T29, T30, X41))
U3_gga(T29, T30, X41, sub14_out_gga(T29, T30, X41)) → sub9_out_gga(s(T29), T30, X41)
sub14_in_gga(s(T41), s(T42), X68) → U1_gga(T41, T42, X68, sub14_in_gga(T41, T42, X68))
sub14_in_gga(T47, 0, T47) → sub14_out_gga(T47, 0, T47)
U1_gga(T41, T42, X68, sub14_out_gga(T41, T42, X68)) → sub14_out_gga(s(T41), s(T42), X68)

The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
sub9_in_gga(x1, x2, x3)  =  sub9_in_gga(x1, x2)
U3_gga(x1, x2, x3, x4)  =  U3_gga(x4)
sub14_in_gga(x1, x2, x3)  =  sub14_in_gga(x1, x2)
U1_gga(x1, x2, x3, x4)  =  U1_gga(x4)
0  =  0
sub14_out_gga(x1, x2, x3)  =  sub14_out_gga(x3)
sub9_out_gga(x1, x2, x3)  =  sub9_out_gga(x3)
REM1_IN_GGA(x1, x2, x3)  =  REM1_IN_GGA(x1, x2)
U5_GGA(x1, x2, x3, x4)  =  U5_GGA(x2, 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:

REM1_IN_GGA(T7, s(T15)) → U5_GGA(T15, sub9_in_gga(T7, T15))
U5_GGA(T15, sub9_out_gga(T18)) → REM1_IN_GGA(T18, s(T15))

The TRS R consists of the following rules:

sub9_in_gga(s(T29), T30) → U3_gga(sub14_in_gga(T29, T30))
U3_gga(sub14_out_gga(X41)) → sub9_out_gga(X41)
sub14_in_gga(s(T41), s(T42)) → U1_gga(sub14_in_gga(T41, T42))
sub14_in_gga(T47, 0) → sub14_out_gga(T47)
U1_gga(sub14_out_gga(X68)) → sub14_out_gga(X68)

The set Q consists of the following terms:

sub9_in_gga(x0, x1)
U3_gga(x0)
sub14_in_gga(x0, x1)
U1_gga(x0)

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

(28) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


REM1_IN_GGA(T7, s(T15)) → U5_GGA(T15, sub9_in_gga(T7, T15))
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation:

POL( U5_GGA(x1, x2) ) = x2


POL( sub9_in_gga(x1, x2) ) = x1


POL( s(x1) ) = 2x1 + 2


POL( U3_gga(x1) ) = x1


POL( sub14_in_gga(x1, x2) ) = 2x1 + 2


POL( U1_gga(x1) ) = 2x1 + 2


POL( 0 ) = 2


POL( sub14_out_gga(x1) ) = 2x1 + 2


POL( sub9_out_gga(x1) ) = 2x1 + 2


POL( REM1_IN_GGA(x1, x2) ) = 2x1 + 2



The following usable rules [FROCOS05] were oriented:

sub9_in_gga(s(T29), T30) → U3_gga(sub14_in_gga(T29, T30))
sub14_in_gga(s(T41), s(T42)) → U1_gga(sub14_in_gga(T41, T42))
sub14_in_gga(T47, 0) → sub14_out_gga(T47)
U3_gga(sub14_out_gga(X41)) → sub9_out_gga(X41)
U1_gga(sub14_out_gga(X68)) → sub14_out_gga(X68)

(29) Obligation:

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

U5_GGA(T15, sub9_out_gga(T18)) → REM1_IN_GGA(T18, s(T15))

The TRS R consists of the following rules:

sub9_in_gga(s(T29), T30) → U3_gga(sub14_in_gga(T29, T30))
U3_gga(sub14_out_gga(X41)) → sub9_out_gga(X41)
sub14_in_gga(s(T41), s(T42)) → U1_gga(sub14_in_gga(T41, T42))
sub14_in_gga(T47, 0) → sub14_out_gga(T47)
U1_gga(sub14_out_gga(X68)) → sub14_out_gga(X68)

The set Q consists of the following terms:

sub9_in_gga(x0, x1)
U3_gga(x0)
sub14_in_gga(x0, x1)
U1_gga(x0)

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

(30) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node.

(31) TRUE