(0) Obligation:

Clauses:

nat(0).
nat(s(X)) :- nat(X).
plus(0, X, X) :- nat(X).
plus(s(X), Y, s(Z)) :- plus(X, Y, Z).
ways(0, X1, s(0)).
ways(X2, [], 0).
ways(Amount, .(s(C), Coins), N) :- ','(=(Amount, s(X3)), ','(plus(s(C), NewAmount, Amount), ','(ways(Amount, Coins, N1), ','(ways(NewAmount, .(s(C), Coins), N2), plus(N1, N2, N))))).
ways(Amount, .(s(C), Coins), N) :- ','(=(Amount, s(X4)), ','(plus(Amount, s(X5), s(C)), ways(Amount, Coins, N))).

Queries:

ways(g,g,a).

(1) PredefinedPredicateTransformerProof (SOUND transformation)

Added definitions of predefined predicates [PROLOG].

(2) Obligation:

Clauses:

nat(0).
nat(s(X)) :- nat(X).
plus(0, X, X) :- nat(X).
plus(s(X), Y, s(Z)) :- plus(X, Y, Z).
ways(0, X1, s(0)).
ways(X2, [], 0).
ways(Amount, .(s(C), Coins), N) :- ','(=(Amount, s(X3)), ','(plus(s(C), NewAmount, Amount), ','(ways(Amount, Coins, N1), ','(ways(NewAmount, .(s(C), Coins), N2), plus(N1, N2, N))))).
ways(Amount, .(s(C), Coins), N) :- ','(=(Amount, s(X4)), ','(plus(Amount, s(X5), s(C)), ways(Amount, Coins, N))).
=(X, X).

Queries:

ways(g,g,a).

(3) BuiltinConflictTransformerProof (SOUND transformation)

Renamed defined predicates conflicting with built-in predicates [PROLOG].

(4) Obligation:

Clauses:

nat(0).
nat(s(X)) :- nat(X).
plus(0, X, X) :- nat(X).
plus(s(X), Y, s(Z)) :- plus(X, Y, Z).
ways(0, X1, s(0)).
ways(X2, [], 0).
ways(Amount, .(s(C), Coins), N) :- ','(user_defined_=(Amount, s(X3)), ','(plus(s(C), NewAmount, Amount), ','(ways(Amount, Coins, N1), ','(ways(NewAmount, .(s(C), Coins), N2), plus(N1, N2, N))))).
ways(Amount, .(s(C), Coins), N) :- ','(user_defined_=(Amount, s(X4)), ','(plus(Amount, s(X5), s(C)), ways(Amount, Coins, N))).
user_defined_=(X, X).

Queries:

ways(g,g,a).

(5) PrologToPrologProblemTransformerProof (SOUND transformation)

Built Prolog problem from termination graph.

(6) Obligation:

Clauses:

nat40(0).
nat40(s(T72)) :- nat40(T72).
plus36(0, T69, T69) :- nat40(T69).
plus36(s(T77), X148, s(T78)) :- plus36(T77, X148, T78).
plus55(0, T99, T99) :- nat40(T99).
plus55(s(T106), T107, s(T109)) :- plus55(T106, T107, T109).
nat80(0).
nat80(s(X261)) :- nat80(X261).
plus72(0, X255, s(X255)) :- nat80(X255).
plus72(s(T148), X273, s(T149)) :- plus72(T148, X273, T149).
plus32(T62, X119, T63) :- plus36(T62, X119, T63).
plus68(T142, X234, T143) :- plus72(T142, X234, T143).
ways1(0, T5, s(0)).
ways1(0, [], 0).
ways1(T30, [], 0).
ways1(s(T51), .(s(T38), T39), T41) :- plus32(T38, X82, T51).
ways1(s(T51), .(s(T38), T39), T41) :- ','(plus32(T38, T54, T51), ways1(s(T51), T39, X83)).
ways1(s(T51), .(s(T38), T39), T41) :- ','(plus32(T38, T54, T51), ','(ways1(s(T51), T39, T82), ways1(T54, .(s(T38), T39), X84))).
ways1(s(T51), .(s(T38), T39), T41) :- ','(plus32(T38, T54, T51), ','(ways1(s(T51), T39, T82), ','(ways1(T54, .(s(T38), T39), T89), plus55(T82, T89, T41)))).
ways1(s(T132), .(s(T122), T123), T125) :- plus68(T132, X203, T122).
ways1(s(T132), .(s(T122), T123), T125) :- ','(plus68(T132, T135, T122), ways1(s(T132), T123, T125)).

Queries:

ways1(g,g,a).

(7) PrologToPiTRSProof (SOUND transformation)

We use the technique of [LOPSTR]. With regard to the inferred argument filtering the predicates were used in the following modes:
ways1_in: (b,b,f)
plus32_in: (b,f,b)
plus36_in: (b,f,b)
nat40_in: (b) (f)
plus68_in: (b,f,b)
plus72_in: (b,f,b)
nat80_in: (b)
plus55_in: (f,f,f)
Transforming Prolog into the following Term Rewriting System:
Pi-finite rewrite system:
The TRS R consists of the following rules:

ways1_in_gga(0, T5, s(0)) → ways1_out_gga(0, T5, s(0))
ways1_in_gga(0, [], 0) → ways1_out_gga(0, [], 0)
ways1_in_gga(T30, [], 0) → ways1_out_gga(T30, [], 0)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U11_gga(T51, T38, T39, T41, plus32_in_gag(T38, X82, T51))
plus32_in_gag(T62, X119, T63) → U9_gag(T62, X119, T63, plus36_in_gag(T62, X119, T63))
plus36_in_gag(0, T69, T69) → U2_gag(T69, nat40_in_g(T69))
nat40_in_g(0) → nat40_out_g(0)
nat40_in_g(s(T72)) → U1_g(T72, nat40_in_g(T72))
U1_g(T72, nat40_out_g(T72)) → nat40_out_g(s(T72))
U2_gag(T69, nat40_out_g(T69)) → plus36_out_gag(0, T69, T69)
plus36_in_gag(s(T77), X148, s(T78)) → U3_gag(T77, X148, T78, plus36_in_gag(T77, X148, T78))
U3_gag(T77, X148, T78, plus36_out_gag(T77, X148, T78)) → plus36_out_gag(s(T77), X148, s(T78))
U9_gag(T62, X119, T63, plus36_out_gag(T62, X119, T63)) → plus32_out_gag(T62, X119, T63)
U11_gga(T51, T38, T39, T41, plus32_out_gag(T38, X82, T51)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U12_gga(T51, T38, T39, T41, plus32_in_gag(T38, T54, T51))
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U13_gga(T51, T38, T39, T41, ways1_in_gga(s(T51), T39, X83))
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U18_gga(T132, T122, T123, T125, plus68_in_gag(T132, X203, T122))
plus68_in_gag(T142, X234, T143) → U10_gag(T142, X234, T143, plus72_in_gag(T142, X234, T143))
plus72_in_gag(0, X255, s(X255)) → U7_gag(X255, nat80_in_g(X255))
nat80_in_g(0) → nat80_out_g(0)
nat80_in_g(s(X261)) → U6_g(X261, nat80_in_g(X261))
U6_g(X261, nat80_out_g(X261)) → nat80_out_g(s(X261))
U7_gag(X255, nat80_out_g(X255)) → plus72_out_gag(0, X255, s(X255))
plus72_in_gag(s(T148), X273, s(T149)) → U8_gag(T148, X273, T149, plus72_in_gag(T148, X273, T149))
U8_gag(T148, X273, T149, plus72_out_gag(T148, X273, T149)) → plus72_out_gag(s(T148), X273, s(T149))
U10_gag(T142, X234, T143, plus72_out_gag(T142, X234, T143)) → plus68_out_gag(T142, X234, T143)
U18_gga(T132, T122, T123, T125, plus68_out_gag(T132, X203, T122)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U19_gga(T132, T122, T123, T125, plus68_in_gag(T132, T135, T122))
U19_gga(T132, T122, T123, T125, plus68_out_gag(T132, T135, T122)) → U20_gga(T132, T122, T123, T125, ways1_in_gga(s(T132), T123, T125))
U20_gga(T132, T122, T123, T125, ways1_out_gga(s(T132), T123, T125)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
U13_gga(T51, T38, T39, T41, ways1_out_gga(s(T51), T39, X83)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U14_gga(T51, T38, T39, T41, T54, ways1_in_gga(s(T51), T39, T82))
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U15_gga(T51, T38, T39, T41, ways1_in_gga(T54, .(s(T38), T39), X84))
U15_gga(T51, T38, T39, T41, ways1_out_gga(T54, .(s(T38), T39), X84)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U16_gga(T51, T38, T39, T41, T82, ways1_in_gga(T54, .(s(T38), T39), T89))
U16_gga(T51, T38, T39, T41, T82, ways1_out_gga(T54, .(s(T38), T39), T89)) → U17_gga(T51, T38, T39, T41, plus55_in_aaa(T82, T89, T41))
plus55_in_aaa(0, T99, T99) → U4_aaa(T99, nat40_in_a(T99))
nat40_in_a(0) → nat40_out_a(0)
nat40_in_a(s(T72)) → U1_a(T72, nat40_in_a(T72))
U1_a(T72, nat40_out_a(T72)) → nat40_out_a(s(T72))
U4_aaa(T99, nat40_out_a(T99)) → plus55_out_aaa(0, T99, T99)
plus55_in_aaa(s(T106), T107, s(T109)) → U5_aaa(T106, T107, T109, plus55_in_aaa(T106, T107, T109))
U5_aaa(T106, T107, T109, plus55_out_aaa(T106, T107, T109)) → plus55_out_aaa(s(T106), T107, s(T109))
U17_gga(T51, T38, T39, T41, plus55_out_aaa(T82, T89, T41)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)

The argument filtering Pi contains the following mapping:
ways1_in_gga(x1, x2, x3)  =  ways1_in_gga(x1, x2)
0  =  0
ways1_out_gga(x1, x2, x3)  =  ways1_out_gga
[]  =  []
s(x1)  =  s(x1)
.(x1, x2)  =  .(x1, x2)
U11_gga(x1, x2, x3, x4, x5)  =  U11_gga(x5)
plus32_in_gag(x1, x2, x3)  =  plus32_in_gag(x1, x3)
U9_gag(x1, x2, x3, x4)  =  U9_gag(x4)
plus36_in_gag(x1, x2, x3)  =  plus36_in_gag(x1, x3)
U2_gag(x1, x2)  =  U2_gag(x1, x2)
nat40_in_g(x1)  =  nat40_in_g(x1)
nat40_out_g(x1)  =  nat40_out_g
U1_g(x1, x2)  =  U1_g(x2)
plus36_out_gag(x1, x2, x3)  =  plus36_out_gag(x2)
U3_gag(x1, x2, x3, x4)  =  U3_gag(x4)
plus32_out_gag(x1, x2, x3)  =  plus32_out_gag(x2)
U12_gga(x1, x2, x3, x4, x5)  =  U12_gga(x1, x2, x3, x5)
U13_gga(x1, x2, x3, x4, x5)  =  U13_gga(x5)
U18_gga(x1, x2, x3, x4, x5)  =  U18_gga(x5)
plus68_in_gag(x1, x2, x3)  =  plus68_in_gag(x1, x3)
U10_gag(x1, x2, x3, x4)  =  U10_gag(x4)
plus72_in_gag(x1, x2, x3)  =  plus72_in_gag(x1, x3)
U7_gag(x1, x2)  =  U7_gag(x1, x2)
nat80_in_g(x1)  =  nat80_in_g(x1)
nat80_out_g(x1)  =  nat80_out_g
U6_g(x1, x2)  =  U6_g(x2)
plus72_out_gag(x1, x2, x3)  =  plus72_out_gag(x2)
U8_gag(x1, x2, x3, x4)  =  U8_gag(x4)
plus68_out_gag(x1, x2, x3)  =  plus68_out_gag(x2)
U19_gga(x1, x2, x3, x4, x5)  =  U19_gga(x1, x3, x5)
U20_gga(x1, x2, x3, x4, x5)  =  U20_gga(x5)
U14_gga(x1, x2, x3, x4, x5, x6)  =  U14_gga(x2, x3, x5, x6)
U15_gga(x1, x2, x3, x4, x5)  =  U15_gga(x5)
U16_gga(x1, x2, x3, x4, x5, x6)  =  U16_gga(x6)
U17_gga(x1, x2, x3, x4, x5)  =  U17_gga(x5)
plus55_in_aaa(x1, x2, x3)  =  plus55_in_aaa
U4_aaa(x1, x2)  =  U4_aaa(x2)
nat40_in_a(x1)  =  nat40_in_a
nat40_out_a(x1)  =  nat40_out_a(x1)
U1_a(x1, x2)  =  U1_a(x2)
plus55_out_aaa(x1, x2, x3)  =  plus55_out_aaa(x1, x2, x3)
U5_aaa(x1, x2, x3, x4)  =  U5_aaa(x4)

Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog

(8) Obligation:

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

ways1_in_gga(0, T5, s(0)) → ways1_out_gga(0, T5, s(0))
ways1_in_gga(0, [], 0) → ways1_out_gga(0, [], 0)
ways1_in_gga(T30, [], 0) → ways1_out_gga(T30, [], 0)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U11_gga(T51, T38, T39, T41, plus32_in_gag(T38, X82, T51))
plus32_in_gag(T62, X119, T63) → U9_gag(T62, X119, T63, plus36_in_gag(T62, X119, T63))
plus36_in_gag(0, T69, T69) → U2_gag(T69, nat40_in_g(T69))
nat40_in_g(0) → nat40_out_g(0)
nat40_in_g(s(T72)) → U1_g(T72, nat40_in_g(T72))
U1_g(T72, nat40_out_g(T72)) → nat40_out_g(s(T72))
U2_gag(T69, nat40_out_g(T69)) → plus36_out_gag(0, T69, T69)
plus36_in_gag(s(T77), X148, s(T78)) → U3_gag(T77, X148, T78, plus36_in_gag(T77, X148, T78))
U3_gag(T77, X148, T78, plus36_out_gag(T77, X148, T78)) → plus36_out_gag(s(T77), X148, s(T78))
U9_gag(T62, X119, T63, plus36_out_gag(T62, X119, T63)) → plus32_out_gag(T62, X119, T63)
U11_gga(T51, T38, T39, T41, plus32_out_gag(T38, X82, T51)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U12_gga(T51, T38, T39, T41, plus32_in_gag(T38, T54, T51))
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U13_gga(T51, T38, T39, T41, ways1_in_gga(s(T51), T39, X83))
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U18_gga(T132, T122, T123, T125, plus68_in_gag(T132, X203, T122))
plus68_in_gag(T142, X234, T143) → U10_gag(T142, X234, T143, plus72_in_gag(T142, X234, T143))
plus72_in_gag(0, X255, s(X255)) → U7_gag(X255, nat80_in_g(X255))
nat80_in_g(0) → nat80_out_g(0)
nat80_in_g(s(X261)) → U6_g(X261, nat80_in_g(X261))
U6_g(X261, nat80_out_g(X261)) → nat80_out_g(s(X261))
U7_gag(X255, nat80_out_g(X255)) → plus72_out_gag(0, X255, s(X255))
plus72_in_gag(s(T148), X273, s(T149)) → U8_gag(T148, X273, T149, plus72_in_gag(T148, X273, T149))
U8_gag(T148, X273, T149, plus72_out_gag(T148, X273, T149)) → plus72_out_gag(s(T148), X273, s(T149))
U10_gag(T142, X234, T143, plus72_out_gag(T142, X234, T143)) → plus68_out_gag(T142, X234, T143)
U18_gga(T132, T122, T123, T125, plus68_out_gag(T132, X203, T122)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U19_gga(T132, T122, T123, T125, plus68_in_gag(T132, T135, T122))
U19_gga(T132, T122, T123, T125, plus68_out_gag(T132, T135, T122)) → U20_gga(T132, T122, T123, T125, ways1_in_gga(s(T132), T123, T125))
U20_gga(T132, T122, T123, T125, ways1_out_gga(s(T132), T123, T125)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
U13_gga(T51, T38, T39, T41, ways1_out_gga(s(T51), T39, X83)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U14_gga(T51, T38, T39, T41, T54, ways1_in_gga(s(T51), T39, T82))
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U15_gga(T51, T38, T39, T41, ways1_in_gga(T54, .(s(T38), T39), X84))
U15_gga(T51, T38, T39, T41, ways1_out_gga(T54, .(s(T38), T39), X84)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U16_gga(T51, T38, T39, T41, T82, ways1_in_gga(T54, .(s(T38), T39), T89))
U16_gga(T51, T38, T39, T41, T82, ways1_out_gga(T54, .(s(T38), T39), T89)) → U17_gga(T51, T38, T39, T41, plus55_in_aaa(T82, T89, T41))
plus55_in_aaa(0, T99, T99) → U4_aaa(T99, nat40_in_a(T99))
nat40_in_a(0) → nat40_out_a(0)
nat40_in_a(s(T72)) → U1_a(T72, nat40_in_a(T72))
U1_a(T72, nat40_out_a(T72)) → nat40_out_a(s(T72))
U4_aaa(T99, nat40_out_a(T99)) → plus55_out_aaa(0, T99, T99)
plus55_in_aaa(s(T106), T107, s(T109)) → U5_aaa(T106, T107, T109, plus55_in_aaa(T106, T107, T109))
U5_aaa(T106, T107, T109, plus55_out_aaa(T106, T107, T109)) → plus55_out_aaa(s(T106), T107, s(T109))
U17_gga(T51, T38, T39, T41, plus55_out_aaa(T82, T89, T41)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)

The argument filtering Pi contains the following mapping:
ways1_in_gga(x1, x2, x3)  =  ways1_in_gga(x1, x2)
0  =  0
ways1_out_gga(x1, x2, x3)  =  ways1_out_gga
[]  =  []
s(x1)  =  s(x1)
.(x1, x2)  =  .(x1, x2)
U11_gga(x1, x2, x3, x4, x5)  =  U11_gga(x5)
plus32_in_gag(x1, x2, x3)  =  plus32_in_gag(x1, x3)
U9_gag(x1, x2, x3, x4)  =  U9_gag(x4)
plus36_in_gag(x1, x2, x3)  =  plus36_in_gag(x1, x3)
U2_gag(x1, x2)  =  U2_gag(x1, x2)
nat40_in_g(x1)  =  nat40_in_g(x1)
nat40_out_g(x1)  =  nat40_out_g
U1_g(x1, x2)  =  U1_g(x2)
plus36_out_gag(x1, x2, x3)  =  plus36_out_gag(x2)
U3_gag(x1, x2, x3, x4)  =  U3_gag(x4)
plus32_out_gag(x1, x2, x3)  =  plus32_out_gag(x2)
U12_gga(x1, x2, x3, x4, x5)  =  U12_gga(x1, x2, x3, x5)
U13_gga(x1, x2, x3, x4, x5)  =  U13_gga(x5)
U18_gga(x1, x2, x3, x4, x5)  =  U18_gga(x5)
plus68_in_gag(x1, x2, x3)  =  plus68_in_gag(x1, x3)
U10_gag(x1, x2, x3, x4)  =  U10_gag(x4)
plus72_in_gag(x1, x2, x3)  =  plus72_in_gag(x1, x3)
U7_gag(x1, x2)  =  U7_gag(x1, x2)
nat80_in_g(x1)  =  nat80_in_g(x1)
nat80_out_g(x1)  =  nat80_out_g
U6_g(x1, x2)  =  U6_g(x2)
plus72_out_gag(x1, x2, x3)  =  plus72_out_gag(x2)
U8_gag(x1, x2, x3, x4)  =  U8_gag(x4)
plus68_out_gag(x1, x2, x3)  =  plus68_out_gag(x2)
U19_gga(x1, x2, x3, x4, x5)  =  U19_gga(x1, x3, x5)
U20_gga(x1, x2, x3, x4, x5)  =  U20_gga(x5)
U14_gga(x1, x2, x3, x4, x5, x6)  =  U14_gga(x2, x3, x5, x6)
U15_gga(x1, x2, x3, x4, x5)  =  U15_gga(x5)
U16_gga(x1, x2, x3, x4, x5, x6)  =  U16_gga(x6)
U17_gga(x1, x2, x3, x4, x5)  =  U17_gga(x5)
plus55_in_aaa(x1, x2, x3)  =  plus55_in_aaa
U4_aaa(x1, x2)  =  U4_aaa(x2)
nat40_in_a(x1)  =  nat40_in_a
nat40_out_a(x1)  =  nat40_out_a(x1)
U1_a(x1, x2)  =  U1_a(x2)
plus55_out_aaa(x1, x2, x3)  =  plus55_out_aaa(x1, x2, x3)
U5_aaa(x1, x2, x3, x4)  =  U5_aaa(x4)

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

WAYS1_IN_GGA(s(T51), .(s(T38), T39), T41) → U11_GGA(T51, T38, T39, T41, plus32_in_gag(T38, X82, T51))
WAYS1_IN_GGA(s(T51), .(s(T38), T39), T41) → PLUS32_IN_GAG(T38, X82, T51)
PLUS32_IN_GAG(T62, X119, T63) → U9_GAG(T62, X119, T63, plus36_in_gag(T62, X119, T63))
PLUS32_IN_GAG(T62, X119, T63) → PLUS36_IN_GAG(T62, X119, T63)
PLUS36_IN_GAG(0, T69, T69) → U2_GAG(T69, nat40_in_g(T69))
PLUS36_IN_GAG(0, T69, T69) → NAT40_IN_G(T69)
NAT40_IN_G(s(T72)) → U1_G(T72, nat40_in_g(T72))
NAT40_IN_G(s(T72)) → NAT40_IN_G(T72)
PLUS36_IN_GAG(s(T77), X148, s(T78)) → U3_GAG(T77, X148, T78, plus36_in_gag(T77, X148, T78))
PLUS36_IN_GAG(s(T77), X148, s(T78)) → PLUS36_IN_GAG(T77, X148, T78)
WAYS1_IN_GGA(s(T51), .(s(T38), T39), T41) → U12_GGA(T51, T38, T39, T41, plus32_in_gag(T38, T54, T51))
U12_GGA(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U13_GGA(T51, T38, T39, T41, ways1_in_gga(s(T51), T39, X83))
U12_GGA(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → WAYS1_IN_GGA(s(T51), T39, X83)
WAYS1_IN_GGA(s(T132), .(s(T122), T123), T125) → U18_GGA(T132, T122, T123, T125, plus68_in_gag(T132, X203, T122))
WAYS1_IN_GGA(s(T132), .(s(T122), T123), T125) → PLUS68_IN_GAG(T132, X203, T122)
PLUS68_IN_GAG(T142, X234, T143) → U10_GAG(T142, X234, T143, plus72_in_gag(T142, X234, T143))
PLUS68_IN_GAG(T142, X234, T143) → PLUS72_IN_GAG(T142, X234, T143)
PLUS72_IN_GAG(0, X255, s(X255)) → U7_GAG(X255, nat80_in_g(X255))
PLUS72_IN_GAG(0, X255, s(X255)) → NAT80_IN_G(X255)
NAT80_IN_G(s(X261)) → U6_G(X261, nat80_in_g(X261))
NAT80_IN_G(s(X261)) → NAT80_IN_G(X261)
PLUS72_IN_GAG(s(T148), X273, s(T149)) → U8_GAG(T148, X273, T149, plus72_in_gag(T148, X273, T149))
PLUS72_IN_GAG(s(T148), X273, s(T149)) → PLUS72_IN_GAG(T148, X273, T149)
WAYS1_IN_GGA(s(T132), .(s(T122), T123), T125) → U19_GGA(T132, T122, T123, T125, plus68_in_gag(T132, T135, T122))
U19_GGA(T132, T122, T123, T125, plus68_out_gag(T132, T135, T122)) → U20_GGA(T132, T122, T123, T125, ways1_in_gga(s(T132), T123, T125))
U19_GGA(T132, T122, T123, T125, plus68_out_gag(T132, T135, T122)) → WAYS1_IN_GGA(s(T132), T123, T125)
U12_GGA(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U14_GGA(T51, T38, T39, T41, T54, ways1_in_gga(s(T51), T39, T82))
U14_GGA(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U15_GGA(T51, T38, T39, T41, ways1_in_gga(T54, .(s(T38), T39), X84))
U14_GGA(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → WAYS1_IN_GGA(T54, .(s(T38), T39), X84)
U14_GGA(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U16_GGA(T51, T38, T39, T41, T82, ways1_in_gga(T54, .(s(T38), T39), T89))
U16_GGA(T51, T38, T39, T41, T82, ways1_out_gga(T54, .(s(T38), T39), T89)) → U17_GGA(T51, T38, T39, T41, plus55_in_aaa(T82, T89, T41))
U16_GGA(T51, T38, T39, T41, T82, ways1_out_gga(T54, .(s(T38), T39), T89)) → PLUS55_IN_AAA(T82, T89, T41)
PLUS55_IN_AAA(0, T99, T99) → U4_AAA(T99, nat40_in_a(T99))
PLUS55_IN_AAA(0, T99, T99) → NAT40_IN_A(T99)
NAT40_IN_A(s(T72)) → U1_A(T72, nat40_in_a(T72))
NAT40_IN_A(s(T72)) → NAT40_IN_A(T72)
PLUS55_IN_AAA(s(T106), T107, s(T109)) → U5_AAA(T106, T107, T109, plus55_in_aaa(T106, T107, T109))
PLUS55_IN_AAA(s(T106), T107, s(T109)) → PLUS55_IN_AAA(T106, T107, T109)

The TRS R consists of the following rules:

ways1_in_gga(0, T5, s(0)) → ways1_out_gga(0, T5, s(0))
ways1_in_gga(0, [], 0) → ways1_out_gga(0, [], 0)
ways1_in_gga(T30, [], 0) → ways1_out_gga(T30, [], 0)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U11_gga(T51, T38, T39, T41, plus32_in_gag(T38, X82, T51))
plus32_in_gag(T62, X119, T63) → U9_gag(T62, X119, T63, plus36_in_gag(T62, X119, T63))
plus36_in_gag(0, T69, T69) → U2_gag(T69, nat40_in_g(T69))
nat40_in_g(0) → nat40_out_g(0)
nat40_in_g(s(T72)) → U1_g(T72, nat40_in_g(T72))
U1_g(T72, nat40_out_g(T72)) → nat40_out_g(s(T72))
U2_gag(T69, nat40_out_g(T69)) → plus36_out_gag(0, T69, T69)
plus36_in_gag(s(T77), X148, s(T78)) → U3_gag(T77, X148, T78, plus36_in_gag(T77, X148, T78))
U3_gag(T77, X148, T78, plus36_out_gag(T77, X148, T78)) → plus36_out_gag(s(T77), X148, s(T78))
U9_gag(T62, X119, T63, plus36_out_gag(T62, X119, T63)) → plus32_out_gag(T62, X119, T63)
U11_gga(T51, T38, T39, T41, plus32_out_gag(T38, X82, T51)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U12_gga(T51, T38, T39, T41, plus32_in_gag(T38, T54, T51))
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U13_gga(T51, T38, T39, T41, ways1_in_gga(s(T51), T39, X83))
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U18_gga(T132, T122, T123, T125, plus68_in_gag(T132, X203, T122))
plus68_in_gag(T142, X234, T143) → U10_gag(T142, X234, T143, plus72_in_gag(T142, X234, T143))
plus72_in_gag(0, X255, s(X255)) → U7_gag(X255, nat80_in_g(X255))
nat80_in_g(0) → nat80_out_g(0)
nat80_in_g(s(X261)) → U6_g(X261, nat80_in_g(X261))
U6_g(X261, nat80_out_g(X261)) → nat80_out_g(s(X261))
U7_gag(X255, nat80_out_g(X255)) → plus72_out_gag(0, X255, s(X255))
plus72_in_gag(s(T148), X273, s(T149)) → U8_gag(T148, X273, T149, plus72_in_gag(T148, X273, T149))
U8_gag(T148, X273, T149, plus72_out_gag(T148, X273, T149)) → plus72_out_gag(s(T148), X273, s(T149))
U10_gag(T142, X234, T143, plus72_out_gag(T142, X234, T143)) → plus68_out_gag(T142, X234, T143)
U18_gga(T132, T122, T123, T125, plus68_out_gag(T132, X203, T122)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U19_gga(T132, T122, T123, T125, plus68_in_gag(T132, T135, T122))
U19_gga(T132, T122, T123, T125, plus68_out_gag(T132, T135, T122)) → U20_gga(T132, T122, T123, T125, ways1_in_gga(s(T132), T123, T125))
U20_gga(T132, T122, T123, T125, ways1_out_gga(s(T132), T123, T125)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
U13_gga(T51, T38, T39, T41, ways1_out_gga(s(T51), T39, X83)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U14_gga(T51, T38, T39, T41, T54, ways1_in_gga(s(T51), T39, T82))
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U15_gga(T51, T38, T39, T41, ways1_in_gga(T54, .(s(T38), T39), X84))
U15_gga(T51, T38, T39, T41, ways1_out_gga(T54, .(s(T38), T39), X84)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U16_gga(T51, T38, T39, T41, T82, ways1_in_gga(T54, .(s(T38), T39), T89))
U16_gga(T51, T38, T39, T41, T82, ways1_out_gga(T54, .(s(T38), T39), T89)) → U17_gga(T51, T38, T39, T41, plus55_in_aaa(T82, T89, T41))
plus55_in_aaa(0, T99, T99) → U4_aaa(T99, nat40_in_a(T99))
nat40_in_a(0) → nat40_out_a(0)
nat40_in_a(s(T72)) → U1_a(T72, nat40_in_a(T72))
U1_a(T72, nat40_out_a(T72)) → nat40_out_a(s(T72))
U4_aaa(T99, nat40_out_a(T99)) → plus55_out_aaa(0, T99, T99)
plus55_in_aaa(s(T106), T107, s(T109)) → U5_aaa(T106, T107, T109, plus55_in_aaa(T106, T107, T109))
U5_aaa(T106, T107, T109, plus55_out_aaa(T106, T107, T109)) → plus55_out_aaa(s(T106), T107, s(T109))
U17_gga(T51, T38, T39, T41, plus55_out_aaa(T82, T89, T41)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)

The argument filtering Pi contains the following mapping:
ways1_in_gga(x1, x2, x3)  =  ways1_in_gga(x1, x2)
0  =  0
ways1_out_gga(x1, x2, x3)  =  ways1_out_gga
[]  =  []
s(x1)  =  s(x1)
.(x1, x2)  =  .(x1, x2)
U11_gga(x1, x2, x3, x4, x5)  =  U11_gga(x5)
plus32_in_gag(x1, x2, x3)  =  plus32_in_gag(x1, x3)
U9_gag(x1, x2, x3, x4)  =  U9_gag(x4)
plus36_in_gag(x1, x2, x3)  =  plus36_in_gag(x1, x3)
U2_gag(x1, x2)  =  U2_gag(x1, x2)
nat40_in_g(x1)  =  nat40_in_g(x1)
nat40_out_g(x1)  =  nat40_out_g
U1_g(x1, x2)  =  U1_g(x2)
plus36_out_gag(x1, x2, x3)  =  plus36_out_gag(x2)
U3_gag(x1, x2, x3, x4)  =  U3_gag(x4)
plus32_out_gag(x1, x2, x3)  =  plus32_out_gag(x2)
U12_gga(x1, x2, x3, x4, x5)  =  U12_gga(x1, x2, x3, x5)
U13_gga(x1, x2, x3, x4, x5)  =  U13_gga(x5)
U18_gga(x1, x2, x3, x4, x5)  =  U18_gga(x5)
plus68_in_gag(x1, x2, x3)  =  plus68_in_gag(x1, x3)
U10_gag(x1, x2, x3, x4)  =  U10_gag(x4)
plus72_in_gag(x1, x2, x3)  =  plus72_in_gag(x1, x3)
U7_gag(x1, x2)  =  U7_gag(x1, x2)
nat80_in_g(x1)  =  nat80_in_g(x1)
nat80_out_g(x1)  =  nat80_out_g
U6_g(x1, x2)  =  U6_g(x2)
plus72_out_gag(x1, x2, x3)  =  plus72_out_gag(x2)
U8_gag(x1, x2, x3, x4)  =  U8_gag(x4)
plus68_out_gag(x1, x2, x3)  =  plus68_out_gag(x2)
U19_gga(x1, x2, x3, x4, x5)  =  U19_gga(x1, x3, x5)
U20_gga(x1, x2, x3, x4, x5)  =  U20_gga(x5)
U14_gga(x1, x2, x3, x4, x5, x6)  =  U14_gga(x2, x3, x5, x6)
U15_gga(x1, x2, x3, x4, x5)  =  U15_gga(x5)
U16_gga(x1, x2, x3, x4, x5, x6)  =  U16_gga(x6)
U17_gga(x1, x2, x3, x4, x5)  =  U17_gga(x5)
plus55_in_aaa(x1, x2, x3)  =  plus55_in_aaa
U4_aaa(x1, x2)  =  U4_aaa(x2)
nat40_in_a(x1)  =  nat40_in_a
nat40_out_a(x1)  =  nat40_out_a(x1)
U1_a(x1, x2)  =  U1_a(x2)
plus55_out_aaa(x1, x2, x3)  =  plus55_out_aaa(x1, x2, x3)
U5_aaa(x1, x2, x3, x4)  =  U5_aaa(x4)
WAYS1_IN_GGA(x1, x2, x3)  =  WAYS1_IN_GGA(x1, x2)
U11_GGA(x1, x2, x3, x4, x5)  =  U11_GGA(x5)
PLUS32_IN_GAG(x1, x2, x3)  =  PLUS32_IN_GAG(x1, x3)
U9_GAG(x1, x2, x3, x4)  =  U9_GAG(x4)
PLUS36_IN_GAG(x1, x2, x3)  =  PLUS36_IN_GAG(x1, x3)
U2_GAG(x1, x2)  =  U2_GAG(x1, x2)
NAT40_IN_G(x1)  =  NAT40_IN_G(x1)
U1_G(x1, x2)  =  U1_G(x2)
U3_GAG(x1, x2, x3, x4)  =  U3_GAG(x4)
U12_GGA(x1, x2, x3, x4, x5)  =  U12_GGA(x1, x2, x3, x5)
U13_GGA(x1, x2, x3, x4, x5)  =  U13_GGA(x5)
U18_GGA(x1, x2, x3, x4, x5)  =  U18_GGA(x5)
PLUS68_IN_GAG(x1, x2, x3)  =  PLUS68_IN_GAG(x1, x3)
U10_GAG(x1, x2, x3, x4)  =  U10_GAG(x4)
PLUS72_IN_GAG(x1, x2, x3)  =  PLUS72_IN_GAG(x1, x3)
U7_GAG(x1, x2)  =  U7_GAG(x1, x2)
NAT80_IN_G(x1)  =  NAT80_IN_G(x1)
U6_G(x1, x2)  =  U6_G(x2)
U8_GAG(x1, x2, x3, x4)  =  U8_GAG(x4)
U19_GGA(x1, x2, x3, x4, x5)  =  U19_GGA(x1, x3, x5)
U20_GGA(x1, x2, x3, x4, x5)  =  U20_GGA(x5)
U14_GGA(x1, x2, x3, x4, x5, x6)  =  U14_GGA(x2, x3, x5, x6)
U15_GGA(x1, x2, x3, x4, x5)  =  U15_GGA(x5)
U16_GGA(x1, x2, x3, x4, x5, x6)  =  U16_GGA(x6)
U17_GGA(x1, x2, x3, x4, x5)  =  U17_GGA(x5)
PLUS55_IN_AAA(x1, x2, x3)  =  PLUS55_IN_AAA
U4_AAA(x1, x2)  =  U4_AAA(x2)
NAT40_IN_A(x1)  =  NAT40_IN_A
U1_A(x1, x2)  =  U1_A(x2)
U5_AAA(x1, x2, x3, x4)  =  U5_AAA(x4)

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

(10) Obligation:

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

WAYS1_IN_GGA(s(T51), .(s(T38), T39), T41) → U11_GGA(T51, T38, T39, T41, plus32_in_gag(T38, X82, T51))
WAYS1_IN_GGA(s(T51), .(s(T38), T39), T41) → PLUS32_IN_GAG(T38, X82, T51)
PLUS32_IN_GAG(T62, X119, T63) → U9_GAG(T62, X119, T63, plus36_in_gag(T62, X119, T63))
PLUS32_IN_GAG(T62, X119, T63) → PLUS36_IN_GAG(T62, X119, T63)
PLUS36_IN_GAG(0, T69, T69) → U2_GAG(T69, nat40_in_g(T69))
PLUS36_IN_GAG(0, T69, T69) → NAT40_IN_G(T69)
NAT40_IN_G(s(T72)) → U1_G(T72, nat40_in_g(T72))
NAT40_IN_G(s(T72)) → NAT40_IN_G(T72)
PLUS36_IN_GAG(s(T77), X148, s(T78)) → U3_GAG(T77, X148, T78, plus36_in_gag(T77, X148, T78))
PLUS36_IN_GAG(s(T77), X148, s(T78)) → PLUS36_IN_GAG(T77, X148, T78)
WAYS1_IN_GGA(s(T51), .(s(T38), T39), T41) → U12_GGA(T51, T38, T39, T41, plus32_in_gag(T38, T54, T51))
U12_GGA(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U13_GGA(T51, T38, T39, T41, ways1_in_gga(s(T51), T39, X83))
U12_GGA(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → WAYS1_IN_GGA(s(T51), T39, X83)
WAYS1_IN_GGA(s(T132), .(s(T122), T123), T125) → U18_GGA(T132, T122, T123, T125, plus68_in_gag(T132, X203, T122))
WAYS1_IN_GGA(s(T132), .(s(T122), T123), T125) → PLUS68_IN_GAG(T132, X203, T122)
PLUS68_IN_GAG(T142, X234, T143) → U10_GAG(T142, X234, T143, plus72_in_gag(T142, X234, T143))
PLUS68_IN_GAG(T142, X234, T143) → PLUS72_IN_GAG(T142, X234, T143)
PLUS72_IN_GAG(0, X255, s(X255)) → U7_GAG(X255, nat80_in_g(X255))
PLUS72_IN_GAG(0, X255, s(X255)) → NAT80_IN_G(X255)
NAT80_IN_G(s(X261)) → U6_G(X261, nat80_in_g(X261))
NAT80_IN_G(s(X261)) → NAT80_IN_G(X261)
PLUS72_IN_GAG(s(T148), X273, s(T149)) → U8_GAG(T148, X273, T149, plus72_in_gag(T148, X273, T149))
PLUS72_IN_GAG(s(T148), X273, s(T149)) → PLUS72_IN_GAG(T148, X273, T149)
WAYS1_IN_GGA(s(T132), .(s(T122), T123), T125) → U19_GGA(T132, T122, T123, T125, plus68_in_gag(T132, T135, T122))
U19_GGA(T132, T122, T123, T125, plus68_out_gag(T132, T135, T122)) → U20_GGA(T132, T122, T123, T125, ways1_in_gga(s(T132), T123, T125))
U19_GGA(T132, T122, T123, T125, plus68_out_gag(T132, T135, T122)) → WAYS1_IN_GGA(s(T132), T123, T125)
U12_GGA(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U14_GGA(T51, T38, T39, T41, T54, ways1_in_gga(s(T51), T39, T82))
U14_GGA(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U15_GGA(T51, T38, T39, T41, ways1_in_gga(T54, .(s(T38), T39), X84))
U14_GGA(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → WAYS1_IN_GGA(T54, .(s(T38), T39), X84)
U14_GGA(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U16_GGA(T51, T38, T39, T41, T82, ways1_in_gga(T54, .(s(T38), T39), T89))
U16_GGA(T51, T38, T39, T41, T82, ways1_out_gga(T54, .(s(T38), T39), T89)) → U17_GGA(T51, T38, T39, T41, plus55_in_aaa(T82, T89, T41))
U16_GGA(T51, T38, T39, T41, T82, ways1_out_gga(T54, .(s(T38), T39), T89)) → PLUS55_IN_AAA(T82, T89, T41)
PLUS55_IN_AAA(0, T99, T99) → U4_AAA(T99, nat40_in_a(T99))
PLUS55_IN_AAA(0, T99, T99) → NAT40_IN_A(T99)
NAT40_IN_A(s(T72)) → U1_A(T72, nat40_in_a(T72))
NAT40_IN_A(s(T72)) → NAT40_IN_A(T72)
PLUS55_IN_AAA(s(T106), T107, s(T109)) → U5_AAA(T106, T107, T109, plus55_in_aaa(T106, T107, T109))
PLUS55_IN_AAA(s(T106), T107, s(T109)) → PLUS55_IN_AAA(T106, T107, T109)

The TRS R consists of the following rules:

ways1_in_gga(0, T5, s(0)) → ways1_out_gga(0, T5, s(0))
ways1_in_gga(0, [], 0) → ways1_out_gga(0, [], 0)
ways1_in_gga(T30, [], 0) → ways1_out_gga(T30, [], 0)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U11_gga(T51, T38, T39, T41, plus32_in_gag(T38, X82, T51))
plus32_in_gag(T62, X119, T63) → U9_gag(T62, X119, T63, plus36_in_gag(T62, X119, T63))
plus36_in_gag(0, T69, T69) → U2_gag(T69, nat40_in_g(T69))
nat40_in_g(0) → nat40_out_g(0)
nat40_in_g(s(T72)) → U1_g(T72, nat40_in_g(T72))
U1_g(T72, nat40_out_g(T72)) → nat40_out_g(s(T72))
U2_gag(T69, nat40_out_g(T69)) → plus36_out_gag(0, T69, T69)
plus36_in_gag(s(T77), X148, s(T78)) → U3_gag(T77, X148, T78, plus36_in_gag(T77, X148, T78))
U3_gag(T77, X148, T78, plus36_out_gag(T77, X148, T78)) → plus36_out_gag(s(T77), X148, s(T78))
U9_gag(T62, X119, T63, plus36_out_gag(T62, X119, T63)) → plus32_out_gag(T62, X119, T63)
U11_gga(T51, T38, T39, T41, plus32_out_gag(T38, X82, T51)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U12_gga(T51, T38, T39, T41, plus32_in_gag(T38, T54, T51))
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U13_gga(T51, T38, T39, T41, ways1_in_gga(s(T51), T39, X83))
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U18_gga(T132, T122, T123, T125, plus68_in_gag(T132, X203, T122))
plus68_in_gag(T142, X234, T143) → U10_gag(T142, X234, T143, plus72_in_gag(T142, X234, T143))
plus72_in_gag(0, X255, s(X255)) → U7_gag(X255, nat80_in_g(X255))
nat80_in_g(0) → nat80_out_g(0)
nat80_in_g(s(X261)) → U6_g(X261, nat80_in_g(X261))
U6_g(X261, nat80_out_g(X261)) → nat80_out_g(s(X261))
U7_gag(X255, nat80_out_g(X255)) → plus72_out_gag(0, X255, s(X255))
plus72_in_gag(s(T148), X273, s(T149)) → U8_gag(T148, X273, T149, plus72_in_gag(T148, X273, T149))
U8_gag(T148, X273, T149, plus72_out_gag(T148, X273, T149)) → plus72_out_gag(s(T148), X273, s(T149))
U10_gag(T142, X234, T143, plus72_out_gag(T142, X234, T143)) → plus68_out_gag(T142, X234, T143)
U18_gga(T132, T122, T123, T125, plus68_out_gag(T132, X203, T122)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U19_gga(T132, T122, T123, T125, plus68_in_gag(T132, T135, T122))
U19_gga(T132, T122, T123, T125, plus68_out_gag(T132, T135, T122)) → U20_gga(T132, T122, T123, T125, ways1_in_gga(s(T132), T123, T125))
U20_gga(T132, T122, T123, T125, ways1_out_gga(s(T132), T123, T125)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
U13_gga(T51, T38, T39, T41, ways1_out_gga(s(T51), T39, X83)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U14_gga(T51, T38, T39, T41, T54, ways1_in_gga(s(T51), T39, T82))
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U15_gga(T51, T38, T39, T41, ways1_in_gga(T54, .(s(T38), T39), X84))
U15_gga(T51, T38, T39, T41, ways1_out_gga(T54, .(s(T38), T39), X84)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U16_gga(T51, T38, T39, T41, T82, ways1_in_gga(T54, .(s(T38), T39), T89))
U16_gga(T51, T38, T39, T41, T82, ways1_out_gga(T54, .(s(T38), T39), T89)) → U17_gga(T51, T38, T39, T41, plus55_in_aaa(T82, T89, T41))
plus55_in_aaa(0, T99, T99) → U4_aaa(T99, nat40_in_a(T99))
nat40_in_a(0) → nat40_out_a(0)
nat40_in_a(s(T72)) → U1_a(T72, nat40_in_a(T72))
U1_a(T72, nat40_out_a(T72)) → nat40_out_a(s(T72))
U4_aaa(T99, nat40_out_a(T99)) → plus55_out_aaa(0, T99, T99)
plus55_in_aaa(s(T106), T107, s(T109)) → U5_aaa(T106, T107, T109, plus55_in_aaa(T106, T107, T109))
U5_aaa(T106, T107, T109, plus55_out_aaa(T106, T107, T109)) → plus55_out_aaa(s(T106), T107, s(T109))
U17_gga(T51, T38, T39, T41, plus55_out_aaa(T82, T89, T41)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)

The argument filtering Pi contains the following mapping:
ways1_in_gga(x1, x2, x3)  =  ways1_in_gga(x1, x2)
0  =  0
ways1_out_gga(x1, x2, x3)  =  ways1_out_gga
[]  =  []
s(x1)  =  s(x1)
.(x1, x2)  =  .(x1, x2)
U11_gga(x1, x2, x3, x4, x5)  =  U11_gga(x5)
plus32_in_gag(x1, x2, x3)  =  plus32_in_gag(x1, x3)
U9_gag(x1, x2, x3, x4)  =  U9_gag(x4)
plus36_in_gag(x1, x2, x3)  =  plus36_in_gag(x1, x3)
U2_gag(x1, x2)  =  U2_gag(x1, x2)
nat40_in_g(x1)  =  nat40_in_g(x1)
nat40_out_g(x1)  =  nat40_out_g
U1_g(x1, x2)  =  U1_g(x2)
plus36_out_gag(x1, x2, x3)  =  plus36_out_gag(x2)
U3_gag(x1, x2, x3, x4)  =  U3_gag(x4)
plus32_out_gag(x1, x2, x3)  =  plus32_out_gag(x2)
U12_gga(x1, x2, x3, x4, x5)  =  U12_gga(x1, x2, x3, x5)
U13_gga(x1, x2, x3, x4, x5)  =  U13_gga(x5)
U18_gga(x1, x2, x3, x4, x5)  =  U18_gga(x5)
plus68_in_gag(x1, x2, x3)  =  plus68_in_gag(x1, x3)
U10_gag(x1, x2, x3, x4)  =  U10_gag(x4)
plus72_in_gag(x1, x2, x3)  =  plus72_in_gag(x1, x3)
U7_gag(x1, x2)  =  U7_gag(x1, x2)
nat80_in_g(x1)  =  nat80_in_g(x1)
nat80_out_g(x1)  =  nat80_out_g
U6_g(x1, x2)  =  U6_g(x2)
plus72_out_gag(x1, x2, x3)  =  plus72_out_gag(x2)
U8_gag(x1, x2, x3, x4)  =  U8_gag(x4)
plus68_out_gag(x1, x2, x3)  =  plus68_out_gag(x2)
U19_gga(x1, x2, x3, x4, x5)  =  U19_gga(x1, x3, x5)
U20_gga(x1, x2, x3, x4, x5)  =  U20_gga(x5)
U14_gga(x1, x2, x3, x4, x5, x6)  =  U14_gga(x2, x3, x5, x6)
U15_gga(x1, x2, x3, x4, x5)  =  U15_gga(x5)
U16_gga(x1, x2, x3, x4, x5, x6)  =  U16_gga(x6)
U17_gga(x1, x2, x3, x4, x5)  =  U17_gga(x5)
plus55_in_aaa(x1, x2, x3)  =  plus55_in_aaa
U4_aaa(x1, x2)  =  U4_aaa(x2)
nat40_in_a(x1)  =  nat40_in_a
nat40_out_a(x1)  =  nat40_out_a(x1)
U1_a(x1, x2)  =  U1_a(x2)
plus55_out_aaa(x1, x2, x3)  =  plus55_out_aaa(x1, x2, x3)
U5_aaa(x1, x2, x3, x4)  =  U5_aaa(x4)
WAYS1_IN_GGA(x1, x2, x3)  =  WAYS1_IN_GGA(x1, x2)
U11_GGA(x1, x2, x3, x4, x5)  =  U11_GGA(x5)
PLUS32_IN_GAG(x1, x2, x3)  =  PLUS32_IN_GAG(x1, x3)
U9_GAG(x1, x2, x3, x4)  =  U9_GAG(x4)
PLUS36_IN_GAG(x1, x2, x3)  =  PLUS36_IN_GAG(x1, x3)
U2_GAG(x1, x2)  =  U2_GAG(x1, x2)
NAT40_IN_G(x1)  =  NAT40_IN_G(x1)
U1_G(x1, x2)  =  U1_G(x2)
U3_GAG(x1, x2, x3, x4)  =  U3_GAG(x4)
U12_GGA(x1, x2, x3, x4, x5)  =  U12_GGA(x1, x2, x3, x5)
U13_GGA(x1, x2, x3, x4, x5)  =  U13_GGA(x5)
U18_GGA(x1, x2, x3, x4, x5)  =  U18_GGA(x5)
PLUS68_IN_GAG(x1, x2, x3)  =  PLUS68_IN_GAG(x1, x3)
U10_GAG(x1, x2, x3, x4)  =  U10_GAG(x4)
PLUS72_IN_GAG(x1, x2, x3)  =  PLUS72_IN_GAG(x1, x3)
U7_GAG(x1, x2)  =  U7_GAG(x1, x2)
NAT80_IN_G(x1)  =  NAT80_IN_G(x1)
U6_G(x1, x2)  =  U6_G(x2)
U8_GAG(x1, x2, x3, x4)  =  U8_GAG(x4)
U19_GGA(x1, x2, x3, x4, x5)  =  U19_GGA(x1, x3, x5)
U20_GGA(x1, x2, x3, x4, x5)  =  U20_GGA(x5)
U14_GGA(x1, x2, x3, x4, x5, x6)  =  U14_GGA(x2, x3, x5, x6)
U15_GGA(x1, x2, x3, x4, x5)  =  U15_GGA(x5)
U16_GGA(x1, x2, x3, x4, x5, x6)  =  U16_GGA(x6)
U17_GGA(x1, x2, x3, x4, x5)  =  U17_GGA(x5)
PLUS55_IN_AAA(x1, x2, x3)  =  PLUS55_IN_AAA
U4_AAA(x1, x2)  =  U4_AAA(x2)
NAT40_IN_A(x1)  =  NAT40_IN_A
U1_A(x1, x2)  =  U1_A(x2)
U5_AAA(x1, x2, x3, x4)  =  U5_AAA(x4)

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

(11) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LOPSTR] contains 7 SCCs with 26 less nodes.

(12) Complex Obligation (AND)

(13) Obligation:

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

NAT40_IN_A(s(T72)) → NAT40_IN_A(T72)

The TRS R consists of the following rules:

ways1_in_gga(0, T5, s(0)) → ways1_out_gga(0, T5, s(0))
ways1_in_gga(0, [], 0) → ways1_out_gga(0, [], 0)
ways1_in_gga(T30, [], 0) → ways1_out_gga(T30, [], 0)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U11_gga(T51, T38, T39, T41, plus32_in_gag(T38, X82, T51))
plus32_in_gag(T62, X119, T63) → U9_gag(T62, X119, T63, plus36_in_gag(T62, X119, T63))
plus36_in_gag(0, T69, T69) → U2_gag(T69, nat40_in_g(T69))
nat40_in_g(0) → nat40_out_g(0)
nat40_in_g(s(T72)) → U1_g(T72, nat40_in_g(T72))
U1_g(T72, nat40_out_g(T72)) → nat40_out_g(s(T72))
U2_gag(T69, nat40_out_g(T69)) → plus36_out_gag(0, T69, T69)
plus36_in_gag(s(T77), X148, s(T78)) → U3_gag(T77, X148, T78, plus36_in_gag(T77, X148, T78))
U3_gag(T77, X148, T78, plus36_out_gag(T77, X148, T78)) → plus36_out_gag(s(T77), X148, s(T78))
U9_gag(T62, X119, T63, plus36_out_gag(T62, X119, T63)) → plus32_out_gag(T62, X119, T63)
U11_gga(T51, T38, T39, T41, plus32_out_gag(T38, X82, T51)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U12_gga(T51, T38, T39, T41, plus32_in_gag(T38, T54, T51))
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U13_gga(T51, T38, T39, T41, ways1_in_gga(s(T51), T39, X83))
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U18_gga(T132, T122, T123, T125, plus68_in_gag(T132, X203, T122))
plus68_in_gag(T142, X234, T143) → U10_gag(T142, X234, T143, plus72_in_gag(T142, X234, T143))
plus72_in_gag(0, X255, s(X255)) → U7_gag(X255, nat80_in_g(X255))
nat80_in_g(0) → nat80_out_g(0)
nat80_in_g(s(X261)) → U6_g(X261, nat80_in_g(X261))
U6_g(X261, nat80_out_g(X261)) → nat80_out_g(s(X261))
U7_gag(X255, nat80_out_g(X255)) → plus72_out_gag(0, X255, s(X255))
plus72_in_gag(s(T148), X273, s(T149)) → U8_gag(T148, X273, T149, plus72_in_gag(T148, X273, T149))
U8_gag(T148, X273, T149, plus72_out_gag(T148, X273, T149)) → plus72_out_gag(s(T148), X273, s(T149))
U10_gag(T142, X234, T143, plus72_out_gag(T142, X234, T143)) → plus68_out_gag(T142, X234, T143)
U18_gga(T132, T122, T123, T125, plus68_out_gag(T132, X203, T122)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U19_gga(T132, T122, T123, T125, plus68_in_gag(T132, T135, T122))
U19_gga(T132, T122, T123, T125, plus68_out_gag(T132, T135, T122)) → U20_gga(T132, T122, T123, T125, ways1_in_gga(s(T132), T123, T125))
U20_gga(T132, T122, T123, T125, ways1_out_gga(s(T132), T123, T125)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
U13_gga(T51, T38, T39, T41, ways1_out_gga(s(T51), T39, X83)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U14_gga(T51, T38, T39, T41, T54, ways1_in_gga(s(T51), T39, T82))
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U15_gga(T51, T38, T39, T41, ways1_in_gga(T54, .(s(T38), T39), X84))
U15_gga(T51, T38, T39, T41, ways1_out_gga(T54, .(s(T38), T39), X84)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U16_gga(T51, T38, T39, T41, T82, ways1_in_gga(T54, .(s(T38), T39), T89))
U16_gga(T51, T38, T39, T41, T82, ways1_out_gga(T54, .(s(T38), T39), T89)) → U17_gga(T51, T38, T39, T41, plus55_in_aaa(T82, T89, T41))
plus55_in_aaa(0, T99, T99) → U4_aaa(T99, nat40_in_a(T99))
nat40_in_a(0) → nat40_out_a(0)
nat40_in_a(s(T72)) → U1_a(T72, nat40_in_a(T72))
U1_a(T72, nat40_out_a(T72)) → nat40_out_a(s(T72))
U4_aaa(T99, nat40_out_a(T99)) → plus55_out_aaa(0, T99, T99)
plus55_in_aaa(s(T106), T107, s(T109)) → U5_aaa(T106, T107, T109, plus55_in_aaa(T106, T107, T109))
U5_aaa(T106, T107, T109, plus55_out_aaa(T106, T107, T109)) → plus55_out_aaa(s(T106), T107, s(T109))
U17_gga(T51, T38, T39, T41, plus55_out_aaa(T82, T89, T41)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)

The argument filtering Pi contains the following mapping:
ways1_in_gga(x1, x2, x3)  =  ways1_in_gga(x1, x2)
0  =  0
ways1_out_gga(x1, x2, x3)  =  ways1_out_gga
[]  =  []
s(x1)  =  s(x1)
.(x1, x2)  =  .(x1, x2)
U11_gga(x1, x2, x3, x4, x5)  =  U11_gga(x5)
plus32_in_gag(x1, x2, x3)  =  plus32_in_gag(x1, x3)
U9_gag(x1, x2, x3, x4)  =  U9_gag(x4)
plus36_in_gag(x1, x2, x3)  =  plus36_in_gag(x1, x3)
U2_gag(x1, x2)  =  U2_gag(x1, x2)
nat40_in_g(x1)  =  nat40_in_g(x1)
nat40_out_g(x1)  =  nat40_out_g
U1_g(x1, x2)  =  U1_g(x2)
plus36_out_gag(x1, x2, x3)  =  plus36_out_gag(x2)
U3_gag(x1, x2, x3, x4)  =  U3_gag(x4)
plus32_out_gag(x1, x2, x3)  =  plus32_out_gag(x2)
U12_gga(x1, x2, x3, x4, x5)  =  U12_gga(x1, x2, x3, x5)
U13_gga(x1, x2, x3, x4, x5)  =  U13_gga(x5)
U18_gga(x1, x2, x3, x4, x5)  =  U18_gga(x5)
plus68_in_gag(x1, x2, x3)  =  plus68_in_gag(x1, x3)
U10_gag(x1, x2, x3, x4)  =  U10_gag(x4)
plus72_in_gag(x1, x2, x3)  =  plus72_in_gag(x1, x3)
U7_gag(x1, x2)  =  U7_gag(x1, x2)
nat80_in_g(x1)  =  nat80_in_g(x1)
nat80_out_g(x1)  =  nat80_out_g
U6_g(x1, x2)  =  U6_g(x2)
plus72_out_gag(x1, x2, x3)  =  plus72_out_gag(x2)
U8_gag(x1, x2, x3, x4)  =  U8_gag(x4)
plus68_out_gag(x1, x2, x3)  =  plus68_out_gag(x2)
U19_gga(x1, x2, x3, x4, x5)  =  U19_gga(x1, x3, x5)
U20_gga(x1, x2, x3, x4, x5)  =  U20_gga(x5)
U14_gga(x1, x2, x3, x4, x5, x6)  =  U14_gga(x2, x3, x5, x6)
U15_gga(x1, x2, x3, x4, x5)  =  U15_gga(x5)
U16_gga(x1, x2, x3, x4, x5, x6)  =  U16_gga(x6)
U17_gga(x1, x2, x3, x4, x5)  =  U17_gga(x5)
plus55_in_aaa(x1, x2, x3)  =  plus55_in_aaa
U4_aaa(x1, x2)  =  U4_aaa(x2)
nat40_in_a(x1)  =  nat40_in_a
nat40_out_a(x1)  =  nat40_out_a(x1)
U1_a(x1, x2)  =  U1_a(x2)
plus55_out_aaa(x1, x2, x3)  =  plus55_out_aaa(x1, x2, x3)
U5_aaa(x1, x2, x3, x4)  =  U5_aaa(x4)
NAT40_IN_A(x1)  =  NAT40_IN_A

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

(14) UsableRulesProof (EQUIVALENT transformation)

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

(15) Obligation:

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

NAT40_IN_A(s(T72)) → NAT40_IN_A(T72)

R is empty.
The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
NAT40_IN_A(x1)  =  NAT40_IN_A

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

(16) PiDPToQDPProof (SOUND transformation)

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

(17) Obligation:

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

NAT40_IN_ANAT40_IN_A

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

(18) NonTerminationProof (EQUIVALENT transformation)

We used the non-termination processor [FROCOS05] to show that the DP problem is infinite.
Found a loop by semiunifying a rule from P directly.

s = NAT40_IN_A evaluates to t =NAT40_IN_A

Thus s starts an infinite chain as s semiunifies with t with the following substitutions:
  • Semiunifier: [ ]
  • Matcher: [ ]




Rewriting sequence

The DP semiunifies directly so there is only one rewrite step from NAT40_IN_A to NAT40_IN_A.



(19) NO

(20) Obligation:

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

PLUS55_IN_AAA(s(T106), T107, s(T109)) → PLUS55_IN_AAA(T106, T107, T109)

The TRS R consists of the following rules:

ways1_in_gga(0, T5, s(0)) → ways1_out_gga(0, T5, s(0))
ways1_in_gga(0, [], 0) → ways1_out_gga(0, [], 0)
ways1_in_gga(T30, [], 0) → ways1_out_gga(T30, [], 0)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U11_gga(T51, T38, T39, T41, plus32_in_gag(T38, X82, T51))
plus32_in_gag(T62, X119, T63) → U9_gag(T62, X119, T63, plus36_in_gag(T62, X119, T63))
plus36_in_gag(0, T69, T69) → U2_gag(T69, nat40_in_g(T69))
nat40_in_g(0) → nat40_out_g(0)
nat40_in_g(s(T72)) → U1_g(T72, nat40_in_g(T72))
U1_g(T72, nat40_out_g(T72)) → nat40_out_g(s(T72))
U2_gag(T69, nat40_out_g(T69)) → plus36_out_gag(0, T69, T69)
plus36_in_gag(s(T77), X148, s(T78)) → U3_gag(T77, X148, T78, plus36_in_gag(T77, X148, T78))
U3_gag(T77, X148, T78, plus36_out_gag(T77, X148, T78)) → plus36_out_gag(s(T77), X148, s(T78))
U9_gag(T62, X119, T63, plus36_out_gag(T62, X119, T63)) → plus32_out_gag(T62, X119, T63)
U11_gga(T51, T38, T39, T41, plus32_out_gag(T38, X82, T51)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U12_gga(T51, T38, T39, T41, plus32_in_gag(T38, T54, T51))
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U13_gga(T51, T38, T39, T41, ways1_in_gga(s(T51), T39, X83))
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U18_gga(T132, T122, T123, T125, plus68_in_gag(T132, X203, T122))
plus68_in_gag(T142, X234, T143) → U10_gag(T142, X234, T143, plus72_in_gag(T142, X234, T143))
plus72_in_gag(0, X255, s(X255)) → U7_gag(X255, nat80_in_g(X255))
nat80_in_g(0) → nat80_out_g(0)
nat80_in_g(s(X261)) → U6_g(X261, nat80_in_g(X261))
U6_g(X261, nat80_out_g(X261)) → nat80_out_g(s(X261))
U7_gag(X255, nat80_out_g(X255)) → plus72_out_gag(0, X255, s(X255))
plus72_in_gag(s(T148), X273, s(T149)) → U8_gag(T148, X273, T149, plus72_in_gag(T148, X273, T149))
U8_gag(T148, X273, T149, plus72_out_gag(T148, X273, T149)) → plus72_out_gag(s(T148), X273, s(T149))
U10_gag(T142, X234, T143, plus72_out_gag(T142, X234, T143)) → plus68_out_gag(T142, X234, T143)
U18_gga(T132, T122, T123, T125, plus68_out_gag(T132, X203, T122)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U19_gga(T132, T122, T123, T125, plus68_in_gag(T132, T135, T122))
U19_gga(T132, T122, T123, T125, plus68_out_gag(T132, T135, T122)) → U20_gga(T132, T122, T123, T125, ways1_in_gga(s(T132), T123, T125))
U20_gga(T132, T122, T123, T125, ways1_out_gga(s(T132), T123, T125)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
U13_gga(T51, T38, T39, T41, ways1_out_gga(s(T51), T39, X83)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U14_gga(T51, T38, T39, T41, T54, ways1_in_gga(s(T51), T39, T82))
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U15_gga(T51, T38, T39, T41, ways1_in_gga(T54, .(s(T38), T39), X84))
U15_gga(T51, T38, T39, T41, ways1_out_gga(T54, .(s(T38), T39), X84)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U16_gga(T51, T38, T39, T41, T82, ways1_in_gga(T54, .(s(T38), T39), T89))
U16_gga(T51, T38, T39, T41, T82, ways1_out_gga(T54, .(s(T38), T39), T89)) → U17_gga(T51, T38, T39, T41, plus55_in_aaa(T82, T89, T41))
plus55_in_aaa(0, T99, T99) → U4_aaa(T99, nat40_in_a(T99))
nat40_in_a(0) → nat40_out_a(0)
nat40_in_a(s(T72)) → U1_a(T72, nat40_in_a(T72))
U1_a(T72, nat40_out_a(T72)) → nat40_out_a(s(T72))
U4_aaa(T99, nat40_out_a(T99)) → plus55_out_aaa(0, T99, T99)
plus55_in_aaa(s(T106), T107, s(T109)) → U5_aaa(T106, T107, T109, plus55_in_aaa(T106, T107, T109))
U5_aaa(T106, T107, T109, plus55_out_aaa(T106, T107, T109)) → plus55_out_aaa(s(T106), T107, s(T109))
U17_gga(T51, T38, T39, T41, plus55_out_aaa(T82, T89, T41)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)

The argument filtering Pi contains the following mapping:
ways1_in_gga(x1, x2, x3)  =  ways1_in_gga(x1, x2)
0  =  0
ways1_out_gga(x1, x2, x3)  =  ways1_out_gga
[]  =  []
s(x1)  =  s(x1)
.(x1, x2)  =  .(x1, x2)
U11_gga(x1, x2, x3, x4, x5)  =  U11_gga(x5)
plus32_in_gag(x1, x2, x3)  =  plus32_in_gag(x1, x3)
U9_gag(x1, x2, x3, x4)  =  U9_gag(x4)
plus36_in_gag(x1, x2, x3)  =  plus36_in_gag(x1, x3)
U2_gag(x1, x2)  =  U2_gag(x1, x2)
nat40_in_g(x1)  =  nat40_in_g(x1)
nat40_out_g(x1)  =  nat40_out_g
U1_g(x1, x2)  =  U1_g(x2)
plus36_out_gag(x1, x2, x3)  =  plus36_out_gag(x2)
U3_gag(x1, x2, x3, x4)  =  U3_gag(x4)
plus32_out_gag(x1, x2, x3)  =  plus32_out_gag(x2)
U12_gga(x1, x2, x3, x4, x5)  =  U12_gga(x1, x2, x3, x5)
U13_gga(x1, x2, x3, x4, x5)  =  U13_gga(x5)
U18_gga(x1, x2, x3, x4, x5)  =  U18_gga(x5)
plus68_in_gag(x1, x2, x3)  =  plus68_in_gag(x1, x3)
U10_gag(x1, x2, x3, x4)  =  U10_gag(x4)
plus72_in_gag(x1, x2, x3)  =  plus72_in_gag(x1, x3)
U7_gag(x1, x2)  =  U7_gag(x1, x2)
nat80_in_g(x1)  =  nat80_in_g(x1)
nat80_out_g(x1)  =  nat80_out_g
U6_g(x1, x2)  =  U6_g(x2)
plus72_out_gag(x1, x2, x3)  =  plus72_out_gag(x2)
U8_gag(x1, x2, x3, x4)  =  U8_gag(x4)
plus68_out_gag(x1, x2, x3)  =  plus68_out_gag(x2)
U19_gga(x1, x2, x3, x4, x5)  =  U19_gga(x1, x3, x5)
U20_gga(x1, x2, x3, x4, x5)  =  U20_gga(x5)
U14_gga(x1, x2, x3, x4, x5, x6)  =  U14_gga(x2, x3, x5, x6)
U15_gga(x1, x2, x3, x4, x5)  =  U15_gga(x5)
U16_gga(x1, x2, x3, x4, x5, x6)  =  U16_gga(x6)
U17_gga(x1, x2, x3, x4, x5)  =  U17_gga(x5)
plus55_in_aaa(x1, x2, x3)  =  plus55_in_aaa
U4_aaa(x1, x2)  =  U4_aaa(x2)
nat40_in_a(x1)  =  nat40_in_a
nat40_out_a(x1)  =  nat40_out_a(x1)
U1_a(x1, x2)  =  U1_a(x2)
plus55_out_aaa(x1, x2, x3)  =  plus55_out_aaa(x1, x2, x3)
U5_aaa(x1, x2, x3, x4)  =  U5_aaa(x4)
PLUS55_IN_AAA(x1, x2, x3)  =  PLUS55_IN_AAA

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

(21) UsableRulesProof (EQUIVALENT transformation)

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

(22) Obligation:

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

PLUS55_IN_AAA(s(T106), T107, s(T109)) → PLUS55_IN_AAA(T106, T107, T109)

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

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

(23) PiDPToQDPProof (SOUND transformation)

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

(24) Obligation:

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

PLUS55_IN_AAAPLUS55_IN_AAA

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

(25) NonTerminationProof (EQUIVALENT transformation)

We used the non-termination processor [FROCOS05] to show that the DP problem is infinite.
Found a loop by semiunifying a rule from P directly.

s = PLUS55_IN_AAA evaluates to t =PLUS55_IN_AAA

Thus s starts an infinite chain as s semiunifies with t with the following substitutions:
  • Semiunifier: [ ]
  • Matcher: [ ]




Rewriting sequence

The DP semiunifies directly so there is only one rewrite step from PLUS55_IN_AAA to PLUS55_IN_AAA.



(26) NO

(27) Obligation:

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

NAT80_IN_G(s(X261)) → NAT80_IN_G(X261)

The TRS R consists of the following rules:

ways1_in_gga(0, T5, s(0)) → ways1_out_gga(0, T5, s(0))
ways1_in_gga(0, [], 0) → ways1_out_gga(0, [], 0)
ways1_in_gga(T30, [], 0) → ways1_out_gga(T30, [], 0)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U11_gga(T51, T38, T39, T41, plus32_in_gag(T38, X82, T51))
plus32_in_gag(T62, X119, T63) → U9_gag(T62, X119, T63, plus36_in_gag(T62, X119, T63))
plus36_in_gag(0, T69, T69) → U2_gag(T69, nat40_in_g(T69))
nat40_in_g(0) → nat40_out_g(0)
nat40_in_g(s(T72)) → U1_g(T72, nat40_in_g(T72))
U1_g(T72, nat40_out_g(T72)) → nat40_out_g(s(T72))
U2_gag(T69, nat40_out_g(T69)) → plus36_out_gag(0, T69, T69)
plus36_in_gag(s(T77), X148, s(T78)) → U3_gag(T77, X148, T78, plus36_in_gag(T77, X148, T78))
U3_gag(T77, X148, T78, plus36_out_gag(T77, X148, T78)) → plus36_out_gag(s(T77), X148, s(T78))
U9_gag(T62, X119, T63, plus36_out_gag(T62, X119, T63)) → plus32_out_gag(T62, X119, T63)
U11_gga(T51, T38, T39, T41, plus32_out_gag(T38, X82, T51)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U12_gga(T51, T38, T39, T41, plus32_in_gag(T38, T54, T51))
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U13_gga(T51, T38, T39, T41, ways1_in_gga(s(T51), T39, X83))
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U18_gga(T132, T122, T123, T125, plus68_in_gag(T132, X203, T122))
plus68_in_gag(T142, X234, T143) → U10_gag(T142, X234, T143, plus72_in_gag(T142, X234, T143))
plus72_in_gag(0, X255, s(X255)) → U7_gag(X255, nat80_in_g(X255))
nat80_in_g(0) → nat80_out_g(0)
nat80_in_g(s(X261)) → U6_g(X261, nat80_in_g(X261))
U6_g(X261, nat80_out_g(X261)) → nat80_out_g(s(X261))
U7_gag(X255, nat80_out_g(X255)) → plus72_out_gag(0, X255, s(X255))
plus72_in_gag(s(T148), X273, s(T149)) → U8_gag(T148, X273, T149, plus72_in_gag(T148, X273, T149))
U8_gag(T148, X273, T149, plus72_out_gag(T148, X273, T149)) → plus72_out_gag(s(T148), X273, s(T149))
U10_gag(T142, X234, T143, plus72_out_gag(T142, X234, T143)) → plus68_out_gag(T142, X234, T143)
U18_gga(T132, T122, T123, T125, plus68_out_gag(T132, X203, T122)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U19_gga(T132, T122, T123, T125, plus68_in_gag(T132, T135, T122))
U19_gga(T132, T122, T123, T125, plus68_out_gag(T132, T135, T122)) → U20_gga(T132, T122, T123, T125, ways1_in_gga(s(T132), T123, T125))
U20_gga(T132, T122, T123, T125, ways1_out_gga(s(T132), T123, T125)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
U13_gga(T51, T38, T39, T41, ways1_out_gga(s(T51), T39, X83)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U14_gga(T51, T38, T39, T41, T54, ways1_in_gga(s(T51), T39, T82))
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U15_gga(T51, T38, T39, T41, ways1_in_gga(T54, .(s(T38), T39), X84))
U15_gga(T51, T38, T39, T41, ways1_out_gga(T54, .(s(T38), T39), X84)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U16_gga(T51, T38, T39, T41, T82, ways1_in_gga(T54, .(s(T38), T39), T89))
U16_gga(T51, T38, T39, T41, T82, ways1_out_gga(T54, .(s(T38), T39), T89)) → U17_gga(T51, T38, T39, T41, plus55_in_aaa(T82, T89, T41))
plus55_in_aaa(0, T99, T99) → U4_aaa(T99, nat40_in_a(T99))
nat40_in_a(0) → nat40_out_a(0)
nat40_in_a(s(T72)) → U1_a(T72, nat40_in_a(T72))
U1_a(T72, nat40_out_a(T72)) → nat40_out_a(s(T72))
U4_aaa(T99, nat40_out_a(T99)) → plus55_out_aaa(0, T99, T99)
plus55_in_aaa(s(T106), T107, s(T109)) → U5_aaa(T106, T107, T109, plus55_in_aaa(T106, T107, T109))
U5_aaa(T106, T107, T109, plus55_out_aaa(T106, T107, T109)) → plus55_out_aaa(s(T106), T107, s(T109))
U17_gga(T51, T38, T39, T41, plus55_out_aaa(T82, T89, T41)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)

The argument filtering Pi contains the following mapping:
ways1_in_gga(x1, x2, x3)  =  ways1_in_gga(x1, x2)
0  =  0
ways1_out_gga(x1, x2, x3)  =  ways1_out_gga
[]  =  []
s(x1)  =  s(x1)
.(x1, x2)  =  .(x1, x2)
U11_gga(x1, x2, x3, x4, x5)  =  U11_gga(x5)
plus32_in_gag(x1, x2, x3)  =  plus32_in_gag(x1, x3)
U9_gag(x1, x2, x3, x4)  =  U9_gag(x4)
plus36_in_gag(x1, x2, x3)  =  plus36_in_gag(x1, x3)
U2_gag(x1, x2)  =  U2_gag(x1, x2)
nat40_in_g(x1)  =  nat40_in_g(x1)
nat40_out_g(x1)  =  nat40_out_g
U1_g(x1, x2)  =  U1_g(x2)
plus36_out_gag(x1, x2, x3)  =  plus36_out_gag(x2)
U3_gag(x1, x2, x3, x4)  =  U3_gag(x4)
plus32_out_gag(x1, x2, x3)  =  plus32_out_gag(x2)
U12_gga(x1, x2, x3, x4, x5)  =  U12_gga(x1, x2, x3, x5)
U13_gga(x1, x2, x3, x4, x5)  =  U13_gga(x5)
U18_gga(x1, x2, x3, x4, x5)  =  U18_gga(x5)
plus68_in_gag(x1, x2, x3)  =  plus68_in_gag(x1, x3)
U10_gag(x1, x2, x3, x4)  =  U10_gag(x4)
plus72_in_gag(x1, x2, x3)  =  plus72_in_gag(x1, x3)
U7_gag(x1, x2)  =  U7_gag(x1, x2)
nat80_in_g(x1)  =  nat80_in_g(x1)
nat80_out_g(x1)  =  nat80_out_g
U6_g(x1, x2)  =  U6_g(x2)
plus72_out_gag(x1, x2, x3)  =  plus72_out_gag(x2)
U8_gag(x1, x2, x3, x4)  =  U8_gag(x4)
plus68_out_gag(x1, x2, x3)  =  plus68_out_gag(x2)
U19_gga(x1, x2, x3, x4, x5)  =  U19_gga(x1, x3, x5)
U20_gga(x1, x2, x3, x4, x5)  =  U20_gga(x5)
U14_gga(x1, x2, x3, x4, x5, x6)  =  U14_gga(x2, x3, x5, x6)
U15_gga(x1, x2, x3, x4, x5)  =  U15_gga(x5)
U16_gga(x1, x2, x3, x4, x5, x6)  =  U16_gga(x6)
U17_gga(x1, x2, x3, x4, x5)  =  U17_gga(x5)
plus55_in_aaa(x1, x2, x3)  =  plus55_in_aaa
U4_aaa(x1, x2)  =  U4_aaa(x2)
nat40_in_a(x1)  =  nat40_in_a
nat40_out_a(x1)  =  nat40_out_a(x1)
U1_a(x1, x2)  =  U1_a(x2)
plus55_out_aaa(x1, x2, x3)  =  plus55_out_aaa(x1, x2, x3)
U5_aaa(x1, x2, x3, x4)  =  U5_aaa(x4)
NAT80_IN_G(x1)  =  NAT80_IN_G(x1)

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

(28) UsableRulesProof (EQUIVALENT transformation)

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

(29) Obligation:

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

NAT80_IN_G(s(X261)) → NAT80_IN_G(X261)

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

(30) PiDPToQDPProof (EQUIVALENT transformation)

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

(31) Obligation:

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

NAT80_IN_G(s(X261)) → NAT80_IN_G(X261)

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

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

  • NAT80_IN_G(s(X261)) → NAT80_IN_G(X261)
    The graph contains the following edges 1 > 1

(33) YES

(34) Obligation:

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

PLUS72_IN_GAG(s(T148), X273, s(T149)) → PLUS72_IN_GAG(T148, X273, T149)

The TRS R consists of the following rules:

ways1_in_gga(0, T5, s(0)) → ways1_out_gga(0, T5, s(0))
ways1_in_gga(0, [], 0) → ways1_out_gga(0, [], 0)
ways1_in_gga(T30, [], 0) → ways1_out_gga(T30, [], 0)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U11_gga(T51, T38, T39, T41, plus32_in_gag(T38, X82, T51))
plus32_in_gag(T62, X119, T63) → U9_gag(T62, X119, T63, plus36_in_gag(T62, X119, T63))
plus36_in_gag(0, T69, T69) → U2_gag(T69, nat40_in_g(T69))
nat40_in_g(0) → nat40_out_g(0)
nat40_in_g(s(T72)) → U1_g(T72, nat40_in_g(T72))
U1_g(T72, nat40_out_g(T72)) → nat40_out_g(s(T72))
U2_gag(T69, nat40_out_g(T69)) → plus36_out_gag(0, T69, T69)
plus36_in_gag(s(T77), X148, s(T78)) → U3_gag(T77, X148, T78, plus36_in_gag(T77, X148, T78))
U3_gag(T77, X148, T78, plus36_out_gag(T77, X148, T78)) → plus36_out_gag(s(T77), X148, s(T78))
U9_gag(T62, X119, T63, plus36_out_gag(T62, X119, T63)) → plus32_out_gag(T62, X119, T63)
U11_gga(T51, T38, T39, T41, plus32_out_gag(T38, X82, T51)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U12_gga(T51, T38, T39, T41, plus32_in_gag(T38, T54, T51))
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U13_gga(T51, T38, T39, T41, ways1_in_gga(s(T51), T39, X83))
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U18_gga(T132, T122, T123, T125, plus68_in_gag(T132, X203, T122))
plus68_in_gag(T142, X234, T143) → U10_gag(T142, X234, T143, plus72_in_gag(T142, X234, T143))
plus72_in_gag(0, X255, s(X255)) → U7_gag(X255, nat80_in_g(X255))
nat80_in_g(0) → nat80_out_g(0)
nat80_in_g(s(X261)) → U6_g(X261, nat80_in_g(X261))
U6_g(X261, nat80_out_g(X261)) → nat80_out_g(s(X261))
U7_gag(X255, nat80_out_g(X255)) → plus72_out_gag(0, X255, s(X255))
plus72_in_gag(s(T148), X273, s(T149)) → U8_gag(T148, X273, T149, plus72_in_gag(T148, X273, T149))
U8_gag(T148, X273, T149, plus72_out_gag(T148, X273, T149)) → plus72_out_gag(s(T148), X273, s(T149))
U10_gag(T142, X234, T143, plus72_out_gag(T142, X234, T143)) → plus68_out_gag(T142, X234, T143)
U18_gga(T132, T122, T123, T125, plus68_out_gag(T132, X203, T122)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U19_gga(T132, T122, T123, T125, plus68_in_gag(T132, T135, T122))
U19_gga(T132, T122, T123, T125, plus68_out_gag(T132, T135, T122)) → U20_gga(T132, T122, T123, T125, ways1_in_gga(s(T132), T123, T125))
U20_gga(T132, T122, T123, T125, ways1_out_gga(s(T132), T123, T125)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
U13_gga(T51, T38, T39, T41, ways1_out_gga(s(T51), T39, X83)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U14_gga(T51, T38, T39, T41, T54, ways1_in_gga(s(T51), T39, T82))
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U15_gga(T51, T38, T39, T41, ways1_in_gga(T54, .(s(T38), T39), X84))
U15_gga(T51, T38, T39, T41, ways1_out_gga(T54, .(s(T38), T39), X84)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U16_gga(T51, T38, T39, T41, T82, ways1_in_gga(T54, .(s(T38), T39), T89))
U16_gga(T51, T38, T39, T41, T82, ways1_out_gga(T54, .(s(T38), T39), T89)) → U17_gga(T51, T38, T39, T41, plus55_in_aaa(T82, T89, T41))
plus55_in_aaa(0, T99, T99) → U4_aaa(T99, nat40_in_a(T99))
nat40_in_a(0) → nat40_out_a(0)
nat40_in_a(s(T72)) → U1_a(T72, nat40_in_a(T72))
U1_a(T72, nat40_out_a(T72)) → nat40_out_a(s(T72))
U4_aaa(T99, nat40_out_a(T99)) → plus55_out_aaa(0, T99, T99)
plus55_in_aaa(s(T106), T107, s(T109)) → U5_aaa(T106, T107, T109, plus55_in_aaa(T106, T107, T109))
U5_aaa(T106, T107, T109, plus55_out_aaa(T106, T107, T109)) → plus55_out_aaa(s(T106), T107, s(T109))
U17_gga(T51, T38, T39, T41, plus55_out_aaa(T82, T89, T41)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)

The argument filtering Pi contains the following mapping:
ways1_in_gga(x1, x2, x3)  =  ways1_in_gga(x1, x2)
0  =  0
ways1_out_gga(x1, x2, x3)  =  ways1_out_gga
[]  =  []
s(x1)  =  s(x1)
.(x1, x2)  =  .(x1, x2)
U11_gga(x1, x2, x3, x4, x5)  =  U11_gga(x5)
plus32_in_gag(x1, x2, x3)  =  plus32_in_gag(x1, x3)
U9_gag(x1, x2, x3, x4)  =  U9_gag(x4)
plus36_in_gag(x1, x2, x3)  =  plus36_in_gag(x1, x3)
U2_gag(x1, x2)  =  U2_gag(x1, x2)
nat40_in_g(x1)  =  nat40_in_g(x1)
nat40_out_g(x1)  =  nat40_out_g
U1_g(x1, x2)  =  U1_g(x2)
plus36_out_gag(x1, x2, x3)  =  plus36_out_gag(x2)
U3_gag(x1, x2, x3, x4)  =  U3_gag(x4)
plus32_out_gag(x1, x2, x3)  =  plus32_out_gag(x2)
U12_gga(x1, x2, x3, x4, x5)  =  U12_gga(x1, x2, x3, x5)
U13_gga(x1, x2, x3, x4, x5)  =  U13_gga(x5)
U18_gga(x1, x2, x3, x4, x5)  =  U18_gga(x5)
plus68_in_gag(x1, x2, x3)  =  plus68_in_gag(x1, x3)
U10_gag(x1, x2, x3, x4)  =  U10_gag(x4)
plus72_in_gag(x1, x2, x3)  =  plus72_in_gag(x1, x3)
U7_gag(x1, x2)  =  U7_gag(x1, x2)
nat80_in_g(x1)  =  nat80_in_g(x1)
nat80_out_g(x1)  =  nat80_out_g
U6_g(x1, x2)  =  U6_g(x2)
plus72_out_gag(x1, x2, x3)  =  plus72_out_gag(x2)
U8_gag(x1, x2, x3, x4)  =  U8_gag(x4)
plus68_out_gag(x1, x2, x3)  =  plus68_out_gag(x2)
U19_gga(x1, x2, x3, x4, x5)  =  U19_gga(x1, x3, x5)
U20_gga(x1, x2, x3, x4, x5)  =  U20_gga(x5)
U14_gga(x1, x2, x3, x4, x5, x6)  =  U14_gga(x2, x3, x5, x6)
U15_gga(x1, x2, x3, x4, x5)  =  U15_gga(x5)
U16_gga(x1, x2, x3, x4, x5, x6)  =  U16_gga(x6)
U17_gga(x1, x2, x3, x4, x5)  =  U17_gga(x5)
plus55_in_aaa(x1, x2, x3)  =  plus55_in_aaa
U4_aaa(x1, x2)  =  U4_aaa(x2)
nat40_in_a(x1)  =  nat40_in_a
nat40_out_a(x1)  =  nat40_out_a(x1)
U1_a(x1, x2)  =  U1_a(x2)
plus55_out_aaa(x1, x2, x3)  =  plus55_out_aaa(x1, x2, x3)
U5_aaa(x1, x2, x3, x4)  =  U5_aaa(x4)
PLUS72_IN_GAG(x1, x2, x3)  =  PLUS72_IN_GAG(x1, x3)

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

(35) UsableRulesProof (EQUIVALENT transformation)

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

(36) Obligation:

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

PLUS72_IN_GAG(s(T148), X273, s(T149)) → PLUS72_IN_GAG(T148, X273, T149)

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

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

(37) PiDPToQDPProof (SOUND transformation)

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

(38) Obligation:

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

PLUS72_IN_GAG(s(T148), s(T149)) → PLUS72_IN_GAG(T148, T149)

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

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

  • PLUS72_IN_GAG(s(T148), s(T149)) → PLUS72_IN_GAG(T148, T149)
    The graph contains the following edges 1 > 1, 2 > 2

(40) YES

(41) Obligation:

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

NAT40_IN_G(s(T72)) → NAT40_IN_G(T72)

The TRS R consists of the following rules:

ways1_in_gga(0, T5, s(0)) → ways1_out_gga(0, T5, s(0))
ways1_in_gga(0, [], 0) → ways1_out_gga(0, [], 0)
ways1_in_gga(T30, [], 0) → ways1_out_gga(T30, [], 0)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U11_gga(T51, T38, T39, T41, plus32_in_gag(T38, X82, T51))
plus32_in_gag(T62, X119, T63) → U9_gag(T62, X119, T63, plus36_in_gag(T62, X119, T63))
plus36_in_gag(0, T69, T69) → U2_gag(T69, nat40_in_g(T69))
nat40_in_g(0) → nat40_out_g(0)
nat40_in_g(s(T72)) → U1_g(T72, nat40_in_g(T72))
U1_g(T72, nat40_out_g(T72)) → nat40_out_g(s(T72))
U2_gag(T69, nat40_out_g(T69)) → plus36_out_gag(0, T69, T69)
plus36_in_gag(s(T77), X148, s(T78)) → U3_gag(T77, X148, T78, plus36_in_gag(T77, X148, T78))
U3_gag(T77, X148, T78, plus36_out_gag(T77, X148, T78)) → plus36_out_gag(s(T77), X148, s(T78))
U9_gag(T62, X119, T63, plus36_out_gag(T62, X119, T63)) → plus32_out_gag(T62, X119, T63)
U11_gga(T51, T38, T39, T41, plus32_out_gag(T38, X82, T51)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U12_gga(T51, T38, T39, T41, plus32_in_gag(T38, T54, T51))
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U13_gga(T51, T38, T39, T41, ways1_in_gga(s(T51), T39, X83))
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U18_gga(T132, T122, T123, T125, plus68_in_gag(T132, X203, T122))
plus68_in_gag(T142, X234, T143) → U10_gag(T142, X234, T143, plus72_in_gag(T142, X234, T143))
plus72_in_gag(0, X255, s(X255)) → U7_gag(X255, nat80_in_g(X255))
nat80_in_g(0) → nat80_out_g(0)
nat80_in_g(s(X261)) → U6_g(X261, nat80_in_g(X261))
U6_g(X261, nat80_out_g(X261)) → nat80_out_g(s(X261))
U7_gag(X255, nat80_out_g(X255)) → plus72_out_gag(0, X255, s(X255))
plus72_in_gag(s(T148), X273, s(T149)) → U8_gag(T148, X273, T149, plus72_in_gag(T148, X273, T149))
U8_gag(T148, X273, T149, plus72_out_gag(T148, X273, T149)) → plus72_out_gag(s(T148), X273, s(T149))
U10_gag(T142, X234, T143, plus72_out_gag(T142, X234, T143)) → plus68_out_gag(T142, X234, T143)
U18_gga(T132, T122, T123, T125, plus68_out_gag(T132, X203, T122)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U19_gga(T132, T122, T123, T125, plus68_in_gag(T132, T135, T122))
U19_gga(T132, T122, T123, T125, plus68_out_gag(T132, T135, T122)) → U20_gga(T132, T122, T123, T125, ways1_in_gga(s(T132), T123, T125))
U20_gga(T132, T122, T123, T125, ways1_out_gga(s(T132), T123, T125)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
U13_gga(T51, T38, T39, T41, ways1_out_gga(s(T51), T39, X83)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U14_gga(T51, T38, T39, T41, T54, ways1_in_gga(s(T51), T39, T82))
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U15_gga(T51, T38, T39, T41, ways1_in_gga(T54, .(s(T38), T39), X84))
U15_gga(T51, T38, T39, T41, ways1_out_gga(T54, .(s(T38), T39), X84)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U16_gga(T51, T38, T39, T41, T82, ways1_in_gga(T54, .(s(T38), T39), T89))
U16_gga(T51, T38, T39, T41, T82, ways1_out_gga(T54, .(s(T38), T39), T89)) → U17_gga(T51, T38, T39, T41, plus55_in_aaa(T82, T89, T41))
plus55_in_aaa(0, T99, T99) → U4_aaa(T99, nat40_in_a(T99))
nat40_in_a(0) → nat40_out_a(0)
nat40_in_a(s(T72)) → U1_a(T72, nat40_in_a(T72))
U1_a(T72, nat40_out_a(T72)) → nat40_out_a(s(T72))
U4_aaa(T99, nat40_out_a(T99)) → plus55_out_aaa(0, T99, T99)
plus55_in_aaa(s(T106), T107, s(T109)) → U5_aaa(T106, T107, T109, plus55_in_aaa(T106, T107, T109))
U5_aaa(T106, T107, T109, plus55_out_aaa(T106, T107, T109)) → plus55_out_aaa(s(T106), T107, s(T109))
U17_gga(T51, T38, T39, T41, plus55_out_aaa(T82, T89, T41)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)

The argument filtering Pi contains the following mapping:
ways1_in_gga(x1, x2, x3)  =  ways1_in_gga(x1, x2)
0  =  0
ways1_out_gga(x1, x2, x3)  =  ways1_out_gga
[]  =  []
s(x1)  =  s(x1)
.(x1, x2)  =  .(x1, x2)
U11_gga(x1, x2, x3, x4, x5)  =  U11_gga(x5)
plus32_in_gag(x1, x2, x3)  =  plus32_in_gag(x1, x3)
U9_gag(x1, x2, x3, x4)  =  U9_gag(x4)
plus36_in_gag(x1, x2, x3)  =  plus36_in_gag(x1, x3)
U2_gag(x1, x2)  =  U2_gag(x1, x2)
nat40_in_g(x1)  =  nat40_in_g(x1)
nat40_out_g(x1)  =  nat40_out_g
U1_g(x1, x2)  =  U1_g(x2)
plus36_out_gag(x1, x2, x3)  =  plus36_out_gag(x2)
U3_gag(x1, x2, x3, x4)  =  U3_gag(x4)
plus32_out_gag(x1, x2, x3)  =  plus32_out_gag(x2)
U12_gga(x1, x2, x3, x4, x5)  =  U12_gga(x1, x2, x3, x5)
U13_gga(x1, x2, x3, x4, x5)  =  U13_gga(x5)
U18_gga(x1, x2, x3, x4, x5)  =  U18_gga(x5)
plus68_in_gag(x1, x2, x3)  =  plus68_in_gag(x1, x3)
U10_gag(x1, x2, x3, x4)  =  U10_gag(x4)
plus72_in_gag(x1, x2, x3)  =  plus72_in_gag(x1, x3)
U7_gag(x1, x2)  =  U7_gag(x1, x2)
nat80_in_g(x1)  =  nat80_in_g(x1)
nat80_out_g(x1)  =  nat80_out_g
U6_g(x1, x2)  =  U6_g(x2)
plus72_out_gag(x1, x2, x3)  =  plus72_out_gag(x2)
U8_gag(x1, x2, x3, x4)  =  U8_gag(x4)
plus68_out_gag(x1, x2, x3)  =  plus68_out_gag(x2)
U19_gga(x1, x2, x3, x4, x5)  =  U19_gga(x1, x3, x5)
U20_gga(x1, x2, x3, x4, x5)  =  U20_gga(x5)
U14_gga(x1, x2, x3, x4, x5, x6)  =  U14_gga(x2, x3, x5, x6)
U15_gga(x1, x2, x3, x4, x5)  =  U15_gga(x5)
U16_gga(x1, x2, x3, x4, x5, x6)  =  U16_gga(x6)
U17_gga(x1, x2, x3, x4, x5)  =  U17_gga(x5)
plus55_in_aaa(x1, x2, x3)  =  plus55_in_aaa
U4_aaa(x1, x2)  =  U4_aaa(x2)
nat40_in_a(x1)  =  nat40_in_a
nat40_out_a(x1)  =  nat40_out_a(x1)
U1_a(x1, x2)  =  U1_a(x2)
plus55_out_aaa(x1, x2, x3)  =  plus55_out_aaa(x1, x2, x3)
U5_aaa(x1, x2, x3, x4)  =  U5_aaa(x4)
NAT40_IN_G(x1)  =  NAT40_IN_G(x1)

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

(42) UsableRulesProof (EQUIVALENT transformation)

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

(43) Obligation:

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

NAT40_IN_G(s(T72)) → NAT40_IN_G(T72)

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

(44) PiDPToQDPProof (EQUIVALENT transformation)

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

(45) Obligation:

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

NAT40_IN_G(s(T72)) → NAT40_IN_G(T72)

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

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

  • NAT40_IN_G(s(T72)) → NAT40_IN_G(T72)
    The graph contains the following edges 1 > 1

(47) YES

(48) Obligation:

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

PLUS36_IN_GAG(s(T77), X148, s(T78)) → PLUS36_IN_GAG(T77, X148, T78)

The TRS R consists of the following rules:

ways1_in_gga(0, T5, s(0)) → ways1_out_gga(0, T5, s(0))
ways1_in_gga(0, [], 0) → ways1_out_gga(0, [], 0)
ways1_in_gga(T30, [], 0) → ways1_out_gga(T30, [], 0)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U11_gga(T51, T38, T39, T41, plus32_in_gag(T38, X82, T51))
plus32_in_gag(T62, X119, T63) → U9_gag(T62, X119, T63, plus36_in_gag(T62, X119, T63))
plus36_in_gag(0, T69, T69) → U2_gag(T69, nat40_in_g(T69))
nat40_in_g(0) → nat40_out_g(0)
nat40_in_g(s(T72)) → U1_g(T72, nat40_in_g(T72))
U1_g(T72, nat40_out_g(T72)) → nat40_out_g(s(T72))
U2_gag(T69, nat40_out_g(T69)) → plus36_out_gag(0, T69, T69)
plus36_in_gag(s(T77), X148, s(T78)) → U3_gag(T77, X148, T78, plus36_in_gag(T77, X148, T78))
U3_gag(T77, X148, T78, plus36_out_gag(T77, X148, T78)) → plus36_out_gag(s(T77), X148, s(T78))
U9_gag(T62, X119, T63, plus36_out_gag(T62, X119, T63)) → plus32_out_gag(T62, X119, T63)
U11_gga(T51, T38, T39, T41, plus32_out_gag(T38, X82, T51)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U12_gga(T51, T38, T39, T41, plus32_in_gag(T38, T54, T51))
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U13_gga(T51, T38, T39, T41, ways1_in_gga(s(T51), T39, X83))
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U18_gga(T132, T122, T123, T125, plus68_in_gag(T132, X203, T122))
plus68_in_gag(T142, X234, T143) → U10_gag(T142, X234, T143, plus72_in_gag(T142, X234, T143))
plus72_in_gag(0, X255, s(X255)) → U7_gag(X255, nat80_in_g(X255))
nat80_in_g(0) → nat80_out_g(0)
nat80_in_g(s(X261)) → U6_g(X261, nat80_in_g(X261))
U6_g(X261, nat80_out_g(X261)) → nat80_out_g(s(X261))
U7_gag(X255, nat80_out_g(X255)) → plus72_out_gag(0, X255, s(X255))
plus72_in_gag(s(T148), X273, s(T149)) → U8_gag(T148, X273, T149, plus72_in_gag(T148, X273, T149))
U8_gag(T148, X273, T149, plus72_out_gag(T148, X273, T149)) → plus72_out_gag(s(T148), X273, s(T149))
U10_gag(T142, X234, T143, plus72_out_gag(T142, X234, T143)) → plus68_out_gag(T142, X234, T143)
U18_gga(T132, T122, T123, T125, plus68_out_gag(T132, X203, T122)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U19_gga(T132, T122, T123, T125, plus68_in_gag(T132, T135, T122))
U19_gga(T132, T122, T123, T125, plus68_out_gag(T132, T135, T122)) → U20_gga(T132, T122, T123, T125, ways1_in_gga(s(T132), T123, T125))
U20_gga(T132, T122, T123, T125, ways1_out_gga(s(T132), T123, T125)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
U13_gga(T51, T38, T39, T41, ways1_out_gga(s(T51), T39, X83)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U14_gga(T51, T38, T39, T41, T54, ways1_in_gga(s(T51), T39, T82))
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U15_gga(T51, T38, T39, T41, ways1_in_gga(T54, .(s(T38), T39), X84))
U15_gga(T51, T38, T39, T41, ways1_out_gga(T54, .(s(T38), T39), X84)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U16_gga(T51, T38, T39, T41, T82, ways1_in_gga(T54, .(s(T38), T39), T89))
U16_gga(T51, T38, T39, T41, T82, ways1_out_gga(T54, .(s(T38), T39), T89)) → U17_gga(T51, T38, T39, T41, plus55_in_aaa(T82, T89, T41))
plus55_in_aaa(0, T99, T99) → U4_aaa(T99, nat40_in_a(T99))
nat40_in_a(0) → nat40_out_a(0)
nat40_in_a(s(T72)) → U1_a(T72, nat40_in_a(T72))
U1_a(T72, nat40_out_a(T72)) → nat40_out_a(s(T72))
U4_aaa(T99, nat40_out_a(T99)) → plus55_out_aaa(0, T99, T99)
plus55_in_aaa(s(T106), T107, s(T109)) → U5_aaa(T106, T107, T109, plus55_in_aaa(T106, T107, T109))
U5_aaa(T106, T107, T109, plus55_out_aaa(T106, T107, T109)) → plus55_out_aaa(s(T106), T107, s(T109))
U17_gga(T51, T38, T39, T41, plus55_out_aaa(T82, T89, T41)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)

The argument filtering Pi contains the following mapping:
ways1_in_gga(x1, x2, x3)  =  ways1_in_gga(x1, x2)
0  =  0
ways1_out_gga(x1, x2, x3)  =  ways1_out_gga
[]  =  []
s(x1)  =  s(x1)
.(x1, x2)  =  .(x1, x2)
U11_gga(x1, x2, x3, x4, x5)  =  U11_gga(x5)
plus32_in_gag(x1, x2, x3)  =  plus32_in_gag(x1, x3)
U9_gag(x1, x2, x3, x4)  =  U9_gag(x4)
plus36_in_gag(x1, x2, x3)  =  plus36_in_gag(x1, x3)
U2_gag(x1, x2)  =  U2_gag(x1, x2)
nat40_in_g(x1)  =  nat40_in_g(x1)
nat40_out_g(x1)  =  nat40_out_g
U1_g(x1, x2)  =  U1_g(x2)
plus36_out_gag(x1, x2, x3)  =  plus36_out_gag(x2)
U3_gag(x1, x2, x3, x4)  =  U3_gag(x4)
plus32_out_gag(x1, x2, x3)  =  plus32_out_gag(x2)
U12_gga(x1, x2, x3, x4, x5)  =  U12_gga(x1, x2, x3, x5)
U13_gga(x1, x2, x3, x4, x5)  =  U13_gga(x5)
U18_gga(x1, x2, x3, x4, x5)  =  U18_gga(x5)
plus68_in_gag(x1, x2, x3)  =  plus68_in_gag(x1, x3)
U10_gag(x1, x2, x3, x4)  =  U10_gag(x4)
plus72_in_gag(x1, x2, x3)  =  plus72_in_gag(x1, x3)
U7_gag(x1, x2)  =  U7_gag(x1, x2)
nat80_in_g(x1)  =  nat80_in_g(x1)
nat80_out_g(x1)  =  nat80_out_g
U6_g(x1, x2)  =  U6_g(x2)
plus72_out_gag(x1, x2, x3)  =  plus72_out_gag(x2)
U8_gag(x1, x2, x3, x4)  =  U8_gag(x4)
plus68_out_gag(x1, x2, x3)  =  plus68_out_gag(x2)
U19_gga(x1, x2, x3, x4, x5)  =  U19_gga(x1, x3, x5)
U20_gga(x1, x2, x3, x4, x5)  =  U20_gga(x5)
U14_gga(x1, x2, x3, x4, x5, x6)  =  U14_gga(x2, x3, x5, x6)
U15_gga(x1, x2, x3, x4, x5)  =  U15_gga(x5)
U16_gga(x1, x2, x3, x4, x5, x6)  =  U16_gga(x6)
U17_gga(x1, x2, x3, x4, x5)  =  U17_gga(x5)
plus55_in_aaa(x1, x2, x3)  =  plus55_in_aaa
U4_aaa(x1, x2)  =  U4_aaa(x2)
nat40_in_a(x1)  =  nat40_in_a
nat40_out_a(x1)  =  nat40_out_a(x1)
U1_a(x1, x2)  =  U1_a(x2)
plus55_out_aaa(x1, x2, x3)  =  plus55_out_aaa(x1, x2, x3)
U5_aaa(x1, x2, x3, x4)  =  U5_aaa(x4)
PLUS36_IN_GAG(x1, x2, x3)  =  PLUS36_IN_GAG(x1, x3)

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

(49) UsableRulesProof (EQUIVALENT transformation)

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

(50) Obligation:

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

PLUS36_IN_GAG(s(T77), X148, s(T78)) → PLUS36_IN_GAG(T77, X148, T78)

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

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

(51) PiDPToQDPProof (SOUND transformation)

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

(52) Obligation:

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

PLUS36_IN_GAG(s(T77), s(T78)) → PLUS36_IN_GAG(T77, T78)

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

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

  • PLUS36_IN_GAG(s(T77), s(T78)) → PLUS36_IN_GAG(T77, T78)
    The graph contains the following edges 1 > 1, 2 > 2

(54) YES

(55) Obligation:

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

WAYS1_IN_GGA(s(T51), .(s(T38), T39), T41) → U12_GGA(T51, T38, T39, T41, plus32_in_gag(T38, T54, T51))
U12_GGA(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → WAYS1_IN_GGA(s(T51), T39, X83)
WAYS1_IN_GGA(s(T132), .(s(T122), T123), T125) → U19_GGA(T132, T122, T123, T125, plus68_in_gag(T132, T135, T122))
U19_GGA(T132, T122, T123, T125, plus68_out_gag(T132, T135, T122)) → WAYS1_IN_GGA(s(T132), T123, T125)
U12_GGA(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U14_GGA(T51, T38, T39, T41, T54, ways1_in_gga(s(T51), T39, T82))
U14_GGA(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → WAYS1_IN_GGA(T54, .(s(T38), T39), X84)

The TRS R consists of the following rules:

ways1_in_gga(0, T5, s(0)) → ways1_out_gga(0, T5, s(0))
ways1_in_gga(0, [], 0) → ways1_out_gga(0, [], 0)
ways1_in_gga(T30, [], 0) → ways1_out_gga(T30, [], 0)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U11_gga(T51, T38, T39, T41, plus32_in_gag(T38, X82, T51))
plus32_in_gag(T62, X119, T63) → U9_gag(T62, X119, T63, plus36_in_gag(T62, X119, T63))
plus36_in_gag(0, T69, T69) → U2_gag(T69, nat40_in_g(T69))
nat40_in_g(0) → nat40_out_g(0)
nat40_in_g(s(T72)) → U1_g(T72, nat40_in_g(T72))
U1_g(T72, nat40_out_g(T72)) → nat40_out_g(s(T72))
U2_gag(T69, nat40_out_g(T69)) → plus36_out_gag(0, T69, T69)
plus36_in_gag(s(T77), X148, s(T78)) → U3_gag(T77, X148, T78, plus36_in_gag(T77, X148, T78))
U3_gag(T77, X148, T78, plus36_out_gag(T77, X148, T78)) → plus36_out_gag(s(T77), X148, s(T78))
U9_gag(T62, X119, T63, plus36_out_gag(T62, X119, T63)) → plus32_out_gag(T62, X119, T63)
U11_gga(T51, T38, T39, T41, plus32_out_gag(T38, X82, T51)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U12_gga(T51, T38, T39, T41, plus32_in_gag(T38, T54, T51))
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U13_gga(T51, T38, T39, T41, ways1_in_gga(s(T51), T39, X83))
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U18_gga(T132, T122, T123, T125, plus68_in_gag(T132, X203, T122))
plus68_in_gag(T142, X234, T143) → U10_gag(T142, X234, T143, plus72_in_gag(T142, X234, T143))
plus72_in_gag(0, X255, s(X255)) → U7_gag(X255, nat80_in_g(X255))
nat80_in_g(0) → nat80_out_g(0)
nat80_in_g(s(X261)) → U6_g(X261, nat80_in_g(X261))
U6_g(X261, nat80_out_g(X261)) → nat80_out_g(s(X261))
U7_gag(X255, nat80_out_g(X255)) → plus72_out_gag(0, X255, s(X255))
plus72_in_gag(s(T148), X273, s(T149)) → U8_gag(T148, X273, T149, plus72_in_gag(T148, X273, T149))
U8_gag(T148, X273, T149, plus72_out_gag(T148, X273, T149)) → plus72_out_gag(s(T148), X273, s(T149))
U10_gag(T142, X234, T143, plus72_out_gag(T142, X234, T143)) → plus68_out_gag(T142, X234, T143)
U18_gga(T132, T122, T123, T125, plus68_out_gag(T132, X203, T122)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U19_gga(T132, T122, T123, T125, plus68_in_gag(T132, T135, T122))
U19_gga(T132, T122, T123, T125, plus68_out_gag(T132, T135, T122)) → U20_gga(T132, T122, T123, T125, ways1_in_gga(s(T132), T123, T125))
U20_gga(T132, T122, T123, T125, ways1_out_gga(s(T132), T123, T125)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
U13_gga(T51, T38, T39, T41, ways1_out_gga(s(T51), T39, X83)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U14_gga(T51, T38, T39, T41, T54, ways1_in_gga(s(T51), T39, T82))
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U15_gga(T51, T38, T39, T41, ways1_in_gga(T54, .(s(T38), T39), X84))
U15_gga(T51, T38, T39, T41, ways1_out_gga(T54, .(s(T38), T39), X84)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U16_gga(T51, T38, T39, T41, T82, ways1_in_gga(T54, .(s(T38), T39), T89))
U16_gga(T51, T38, T39, T41, T82, ways1_out_gga(T54, .(s(T38), T39), T89)) → U17_gga(T51, T38, T39, T41, plus55_in_aaa(T82, T89, T41))
plus55_in_aaa(0, T99, T99) → U4_aaa(T99, nat40_in_a(T99))
nat40_in_a(0) → nat40_out_a(0)
nat40_in_a(s(T72)) → U1_a(T72, nat40_in_a(T72))
U1_a(T72, nat40_out_a(T72)) → nat40_out_a(s(T72))
U4_aaa(T99, nat40_out_a(T99)) → plus55_out_aaa(0, T99, T99)
plus55_in_aaa(s(T106), T107, s(T109)) → U5_aaa(T106, T107, T109, plus55_in_aaa(T106, T107, T109))
U5_aaa(T106, T107, T109, plus55_out_aaa(T106, T107, T109)) → plus55_out_aaa(s(T106), T107, s(T109))
U17_gga(T51, T38, T39, T41, plus55_out_aaa(T82, T89, T41)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)

The argument filtering Pi contains the following mapping:
ways1_in_gga(x1, x2, x3)  =  ways1_in_gga(x1, x2)
0  =  0
ways1_out_gga(x1, x2, x3)  =  ways1_out_gga
[]  =  []
s(x1)  =  s(x1)
.(x1, x2)  =  .(x1, x2)
U11_gga(x1, x2, x3, x4, x5)  =  U11_gga(x5)
plus32_in_gag(x1, x2, x3)  =  plus32_in_gag(x1, x3)
U9_gag(x1, x2, x3, x4)  =  U9_gag(x4)
plus36_in_gag(x1, x2, x3)  =  plus36_in_gag(x1, x3)
U2_gag(x1, x2)  =  U2_gag(x1, x2)
nat40_in_g(x1)  =  nat40_in_g(x1)
nat40_out_g(x1)  =  nat40_out_g
U1_g(x1, x2)  =  U1_g(x2)
plus36_out_gag(x1, x2, x3)  =  plus36_out_gag(x2)
U3_gag(x1, x2, x3, x4)  =  U3_gag(x4)
plus32_out_gag(x1, x2, x3)  =  plus32_out_gag(x2)
U12_gga(x1, x2, x3, x4, x5)  =  U12_gga(x1, x2, x3, x5)
U13_gga(x1, x2, x3, x4, x5)  =  U13_gga(x5)
U18_gga(x1, x2, x3, x4, x5)  =  U18_gga(x5)
plus68_in_gag(x1, x2, x3)  =  plus68_in_gag(x1, x3)
U10_gag(x1, x2, x3, x4)  =  U10_gag(x4)
plus72_in_gag(x1, x2, x3)  =  plus72_in_gag(x1, x3)
U7_gag(x1, x2)  =  U7_gag(x1, x2)
nat80_in_g(x1)  =  nat80_in_g(x1)
nat80_out_g(x1)  =  nat80_out_g
U6_g(x1, x2)  =  U6_g(x2)
plus72_out_gag(x1, x2, x3)  =  plus72_out_gag(x2)
U8_gag(x1, x2, x3, x4)  =  U8_gag(x4)
plus68_out_gag(x1, x2, x3)  =  plus68_out_gag(x2)
U19_gga(x1, x2, x3, x4, x5)  =  U19_gga(x1, x3, x5)
U20_gga(x1, x2, x3, x4, x5)  =  U20_gga(x5)
U14_gga(x1, x2, x3, x4, x5, x6)  =  U14_gga(x2, x3, x5, x6)
U15_gga(x1, x2, x3, x4, x5)  =  U15_gga(x5)
U16_gga(x1, x2, x3, x4, x5, x6)  =  U16_gga(x6)
U17_gga(x1, x2, x3, x4, x5)  =  U17_gga(x5)
plus55_in_aaa(x1, x2, x3)  =  plus55_in_aaa
U4_aaa(x1, x2)  =  U4_aaa(x2)
nat40_in_a(x1)  =  nat40_in_a
nat40_out_a(x1)  =  nat40_out_a(x1)
U1_a(x1, x2)  =  U1_a(x2)
plus55_out_aaa(x1, x2, x3)  =  plus55_out_aaa(x1, x2, x3)
U5_aaa(x1, x2, x3, x4)  =  U5_aaa(x4)
WAYS1_IN_GGA(x1, x2, x3)  =  WAYS1_IN_GGA(x1, x2)
U12_GGA(x1, x2, x3, x4, x5)  =  U12_GGA(x1, x2, x3, x5)
U19_GGA(x1, x2, x3, x4, x5)  =  U19_GGA(x1, x3, x5)
U14_GGA(x1, x2, x3, x4, x5, x6)  =  U14_GGA(x2, x3, x5, x6)

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

(56) UsableRulesProof (EQUIVALENT transformation)

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

(57) Obligation:

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

WAYS1_IN_GGA(s(T51), .(s(T38), T39), T41) → U12_GGA(T51, T38, T39, T41, plus32_in_gag(T38, T54, T51))
U12_GGA(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → WAYS1_IN_GGA(s(T51), T39, X83)
WAYS1_IN_GGA(s(T132), .(s(T122), T123), T125) → U19_GGA(T132, T122, T123, T125, plus68_in_gag(T132, T135, T122))
U19_GGA(T132, T122, T123, T125, plus68_out_gag(T132, T135, T122)) → WAYS1_IN_GGA(s(T132), T123, T125)
U12_GGA(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U14_GGA(T51, T38, T39, T41, T54, ways1_in_gga(s(T51), T39, T82))
U14_GGA(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → WAYS1_IN_GGA(T54, .(s(T38), T39), X84)

The TRS R consists of the following rules:

plus32_in_gag(T62, X119, T63) → U9_gag(T62, X119, T63, plus36_in_gag(T62, X119, T63))
plus68_in_gag(T142, X234, T143) → U10_gag(T142, X234, T143, plus72_in_gag(T142, X234, T143))
ways1_in_gga(T30, [], 0) → ways1_out_gga(T30, [], 0)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U11_gga(T51, T38, T39, T41, plus32_in_gag(T38, X82, T51))
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U12_gga(T51, T38, T39, T41, plus32_in_gag(T38, T54, T51))
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U18_gga(T132, T122, T123, T125, plus68_in_gag(T132, X203, T122))
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U19_gga(T132, T122, T123, T125, plus68_in_gag(T132, T135, T122))
U9_gag(T62, X119, T63, plus36_out_gag(T62, X119, T63)) → plus32_out_gag(T62, X119, T63)
U10_gag(T142, X234, T143, plus72_out_gag(T142, X234, T143)) → plus68_out_gag(T142, X234, T143)
U11_gga(T51, T38, T39, T41, plus32_out_gag(T38, X82, T51)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U13_gga(T51, T38, T39, T41, ways1_in_gga(s(T51), T39, X83))
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U14_gga(T51, T38, T39, T41, T54, ways1_in_gga(s(T51), T39, T82))
U18_gga(T132, T122, T123, T125, plus68_out_gag(T132, X203, T122)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
U19_gga(T132, T122, T123, T125, plus68_out_gag(T132, T135, T122)) → U20_gga(T132, T122, T123, T125, ways1_in_gga(s(T132), T123, T125))
plus36_in_gag(0, T69, T69) → U2_gag(T69, nat40_in_g(T69))
plus36_in_gag(s(T77), X148, s(T78)) → U3_gag(T77, X148, T78, plus36_in_gag(T77, X148, T78))
plus72_in_gag(0, X255, s(X255)) → U7_gag(X255, nat80_in_g(X255))
plus72_in_gag(s(T148), X273, s(T149)) → U8_gag(T148, X273, T149, plus72_in_gag(T148, X273, T149))
U13_gga(T51, T38, T39, T41, ways1_out_gga(s(T51), T39, X83)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U15_gga(T51, T38, T39, T41, ways1_in_gga(T54, .(s(T38), T39), X84))
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U16_gga(T51, T38, T39, T41, T82, ways1_in_gga(T54, .(s(T38), T39), T89))
U20_gga(T132, T122, T123, T125, ways1_out_gga(s(T132), T123, T125)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
U2_gag(T69, nat40_out_g(T69)) → plus36_out_gag(0, T69, T69)
U3_gag(T77, X148, T78, plus36_out_gag(T77, X148, T78)) → plus36_out_gag(s(T77), X148, s(T78))
U7_gag(X255, nat80_out_g(X255)) → plus72_out_gag(0, X255, s(X255))
U8_gag(T148, X273, T149, plus72_out_gag(T148, X273, T149)) → plus72_out_gag(s(T148), X273, s(T149))
U15_gga(T51, T38, T39, T41, ways1_out_gga(T54, .(s(T38), T39), X84)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U16_gga(T51, T38, T39, T41, T82, ways1_out_gga(T54, .(s(T38), T39), T89)) → U17_gga(T51, T38, T39, T41, plus55_in_aaa(T82, T89, T41))
nat40_in_g(0) → nat40_out_g(0)
nat40_in_g(s(T72)) → U1_g(T72, nat40_in_g(T72))
nat80_in_g(0) → nat80_out_g(0)
nat80_in_g(s(X261)) → U6_g(X261, nat80_in_g(X261))
ways1_in_gga(0, T5, s(0)) → ways1_out_gga(0, T5, s(0))
U17_gga(T51, T38, T39, T41, plus55_out_aaa(T82, T89, T41)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U1_g(T72, nat40_out_g(T72)) → nat40_out_g(s(T72))
U6_g(X261, nat80_out_g(X261)) → nat80_out_g(s(X261))
plus55_in_aaa(0, T99, T99) → U4_aaa(T99, nat40_in_a(T99))
plus55_in_aaa(s(T106), T107, s(T109)) → U5_aaa(T106, T107, T109, plus55_in_aaa(T106, T107, T109))
U4_aaa(T99, nat40_out_a(T99)) → plus55_out_aaa(0, T99, T99)
U5_aaa(T106, T107, T109, plus55_out_aaa(T106, T107, T109)) → plus55_out_aaa(s(T106), T107, s(T109))
nat40_in_a(0) → nat40_out_a(0)
nat40_in_a(s(T72)) → U1_a(T72, nat40_in_a(T72))
U1_a(T72, nat40_out_a(T72)) → nat40_out_a(s(T72))

The argument filtering Pi contains the following mapping:
ways1_in_gga(x1, x2, x3)  =  ways1_in_gga(x1, x2)
0  =  0
ways1_out_gga(x1, x2, x3)  =  ways1_out_gga
[]  =  []
s(x1)  =  s(x1)
.(x1, x2)  =  .(x1, x2)
U11_gga(x1, x2, x3, x4, x5)  =  U11_gga(x5)
plus32_in_gag(x1, x2, x3)  =  plus32_in_gag(x1, x3)
U9_gag(x1, x2, x3, x4)  =  U9_gag(x4)
plus36_in_gag(x1, x2, x3)  =  plus36_in_gag(x1, x3)
U2_gag(x1, x2)  =  U2_gag(x1, x2)
nat40_in_g(x1)  =  nat40_in_g(x1)
nat40_out_g(x1)  =  nat40_out_g
U1_g(x1, x2)  =  U1_g(x2)
plus36_out_gag(x1, x2, x3)  =  plus36_out_gag(x2)
U3_gag(x1, x2, x3, x4)  =  U3_gag(x4)
plus32_out_gag(x1, x2, x3)  =  plus32_out_gag(x2)
U12_gga(x1, x2, x3, x4, x5)  =  U12_gga(x1, x2, x3, x5)
U13_gga(x1, x2, x3, x4, x5)  =  U13_gga(x5)
U18_gga(x1, x2, x3, x4, x5)  =  U18_gga(x5)
plus68_in_gag(x1, x2, x3)  =  plus68_in_gag(x1, x3)
U10_gag(x1, x2, x3, x4)  =  U10_gag(x4)
plus72_in_gag(x1, x2, x3)  =  plus72_in_gag(x1, x3)
U7_gag(x1, x2)  =  U7_gag(x1, x2)
nat80_in_g(x1)  =  nat80_in_g(x1)
nat80_out_g(x1)  =  nat80_out_g
U6_g(x1, x2)  =  U6_g(x2)
plus72_out_gag(x1, x2, x3)  =  plus72_out_gag(x2)
U8_gag(x1, x2, x3, x4)  =  U8_gag(x4)
plus68_out_gag(x1, x2, x3)  =  plus68_out_gag(x2)
U19_gga(x1, x2, x3, x4, x5)  =  U19_gga(x1, x3, x5)
U20_gga(x1, x2, x3, x4, x5)  =  U20_gga(x5)
U14_gga(x1, x2, x3, x4, x5, x6)  =  U14_gga(x2, x3, x5, x6)
U15_gga(x1, x2, x3, x4, x5)  =  U15_gga(x5)
U16_gga(x1, x2, x3, x4, x5, x6)  =  U16_gga(x6)
U17_gga(x1, x2, x3, x4, x5)  =  U17_gga(x5)
plus55_in_aaa(x1, x2, x3)  =  plus55_in_aaa
U4_aaa(x1, x2)  =  U4_aaa(x2)
nat40_in_a(x1)  =  nat40_in_a
nat40_out_a(x1)  =  nat40_out_a(x1)
U1_a(x1, x2)  =  U1_a(x2)
plus55_out_aaa(x1, x2, x3)  =  plus55_out_aaa(x1, x2, x3)
U5_aaa(x1, x2, x3, x4)  =  U5_aaa(x4)
WAYS1_IN_GGA(x1, x2, x3)  =  WAYS1_IN_GGA(x1, x2)
U12_GGA(x1, x2, x3, x4, x5)  =  U12_GGA(x1, x2, x3, x5)
U19_GGA(x1, x2, x3, x4, x5)  =  U19_GGA(x1, x3, x5)
U14_GGA(x1, x2, x3, x4, x5, x6)  =  U14_GGA(x2, x3, x5, x6)

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

(58) PiDPToQDPProof (SOUND transformation)

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

(59) Obligation:

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

WAYS1_IN_GGA(s(T51), .(s(T38), T39)) → U12_GGA(T51, T38, T39, plus32_in_gag(T38, T51))
U12_GGA(T51, T38, T39, plus32_out_gag(T54)) → WAYS1_IN_GGA(s(T51), T39)
WAYS1_IN_GGA(s(T132), .(s(T122), T123)) → U19_GGA(T132, T123, plus68_in_gag(T132, T122))
U19_GGA(T132, T123, plus68_out_gag(T135)) → WAYS1_IN_GGA(s(T132), T123)
U12_GGA(T51, T38, T39, plus32_out_gag(T54)) → U14_GGA(T38, T39, T54, ways1_in_gga(s(T51), T39))
U14_GGA(T38, T39, T54, ways1_out_gga) → WAYS1_IN_GGA(T54, .(s(T38), T39))

The TRS R consists of the following rules:

plus32_in_gag(T62, T63) → U9_gag(plus36_in_gag(T62, T63))
plus68_in_gag(T142, T143) → U10_gag(plus72_in_gag(T142, T143))
ways1_in_gga(T30, []) → ways1_out_gga
ways1_in_gga(s(T51), .(s(T38), T39)) → U11_gga(plus32_in_gag(T38, T51))
ways1_in_gga(s(T51), .(s(T38), T39)) → U12_gga(T51, T38, T39, plus32_in_gag(T38, T51))
ways1_in_gga(s(T132), .(s(T122), T123)) → U18_gga(plus68_in_gag(T132, T122))
ways1_in_gga(s(T132), .(s(T122), T123)) → U19_gga(T132, T123, plus68_in_gag(T132, T122))
U9_gag(plus36_out_gag(X119)) → plus32_out_gag(X119)
U10_gag(plus72_out_gag(X234)) → plus68_out_gag(X234)
U11_gga(plus32_out_gag(X82)) → ways1_out_gga
U12_gga(T51, T38, T39, plus32_out_gag(T54)) → U13_gga(ways1_in_gga(s(T51), T39))
U12_gga(T51, T38, T39, plus32_out_gag(T54)) → U14_gga(T38, T39, T54, ways1_in_gga(s(T51), T39))
U18_gga(plus68_out_gag(X203)) → ways1_out_gga
U19_gga(T132, T123, plus68_out_gag(T135)) → U20_gga(ways1_in_gga(s(T132), T123))
plus36_in_gag(0, T69) → U2_gag(T69, nat40_in_g(T69))
plus36_in_gag(s(T77), s(T78)) → U3_gag(plus36_in_gag(T77, T78))
plus72_in_gag(0, s(X255)) → U7_gag(X255, nat80_in_g(X255))
plus72_in_gag(s(T148), s(T149)) → U8_gag(plus72_in_gag(T148, T149))
U13_gga(ways1_out_gga) → ways1_out_gga
U14_gga(T38, T39, T54, ways1_out_gga) → U15_gga(ways1_in_gga(T54, .(s(T38), T39)))
U14_gga(T38, T39, T54, ways1_out_gga) → U16_gga(ways1_in_gga(T54, .(s(T38), T39)))
U20_gga(ways1_out_gga) → ways1_out_gga
U2_gag(T69, nat40_out_g) → plus36_out_gag(T69)
U3_gag(plus36_out_gag(X148)) → plus36_out_gag(X148)
U7_gag(X255, nat80_out_g) → plus72_out_gag(X255)
U8_gag(plus72_out_gag(X273)) → plus72_out_gag(X273)
U15_gga(ways1_out_gga) → ways1_out_gga
U16_gga(ways1_out_gga) → U17_gga(plus55_in_aaa)
nat40_in_g(0) → nat40_out_g
nat40_in_g(s(T72)) → U1_g(nat40_in_g(T72))
nat80_in_g(0) → nat80_out_g
nat80_in_g(s(X261)) → U6_g(nat80_in_g(X261))
ways1_in_gga(0, T5) → ways1_out_gga
U17_gga(plus55_out_aaa(T82, T89, T41)) → ways1_out_gga
U1_g(nat40_out_g) → nat40_out_g
U6_g(nat80_out_g) → nat80_out_g
plus55_in_aaaU4_aaa(nat40_in_a)
plus55_in_aaaU5_aaa(plus55_in_aaa)
U4_aaa(nat40_out_a(T99)) → plus55_out_aaa(0, T99, T99)
U5_aaa(plus55_out_aaa(T106, T107, T109)) → plus55_out_aaa(s(T106), T107, s(T109))
nat40_in_anat40_out_a(0)
nat40_in_aU1_a(nat40_in_a)
U1_a(nat40_out_a(T72)) → nat40_out_a(s(T72))

The set Q consists of the following terms:

plus32_in_gag(x0, x1)
plus68_in_gag(x0, x1)
ways1_in_gga(x0, x1)
U9_gag(x0)
U10_gag(x0)
U11_gga(x0)
U12_gga(x0, x1, x2, x3)
U18_gga(x0)
U19_gga(x0, x1, x2)
plus36_in_gag(x0, x1)
plus72_in_gag(x0, x1)
U13_gga(x0)
U14_gga(x0, x1, x2, x3)
U20_gga(x0)
U2_gag(x0, x1)
U3_gag(x0)
U7_gag(x0, x1)
U8_gag(x0)
U15_gga(x0)
U16_gga(x0)
nat40_in_g(x0)
nat80_in_g(x0)
U17_gga(x0)
U1_g(x0)
U6_g(x0)
plus55_in_aaa
U4_aaa(x0)
U5_aaa(x0)
nat40_in_a
U1_a(x0)

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

(60) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule WAYS1_IN_GGA(s(T51), .(s(T38), T39)) → U12_GGA(T51, T38, T39, plus32_in_gag(T38, T51)) at position [3] we obtained the following new rules [LPAR04]:

WAYS1_IN_GGA(s(T51), .(s(T38), T39)) → U12_GGA(T51, T38, T39, U9_gag(plus36_in_gag(T38, T51)))

(61) Obligation:

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

U12_GGA(T51, T38, T39, plus32_out_gag(T54)) → WAYS1_IN_GGA(s(T51), T39)
WAYS1_IN_GGA(s(T132), .(s(T122), T123)) → U19_GGA(T132, T123, plus68_in_gag(T132, T122))
U19_GGA(T132, T123, plus68_out_gag(T135)) → WAYS1_IN_GGA(s(T132), T123)
U12_GGA(T51, T38, T39, plus32_out_gag(T54)) → U14_GGA(T38, T39, T54, ways1_in_gga(s(T51), T39))
U14_GGA(T38, T39, T54, ways1_out_gga) → WAYS1_IN_GGA(T54, .(s(T38), T39))
WAYS1_IN_GGA(s(T51), .(s(T38), T39)) → U12_GGA(T51, T38, T39, U9_gag(plus36_in_gag(T38, T51)))

The TRS R consists of the following rules:

plus32_in_gag(T62, T63) → U9_gag(plus36_in_gag(T62, T63))
plus68_in_gag(T142, T143) → U10_gag(plus72_in_gag(T142, T143))
ways1_in_gga(T30, []) → ways1_out_gga
ways1_in_gga(s(T51), .(s(T38), T39)) → U11_gga(plus32_in_gag(T38, T51))
ways1_in_gga(s(T51), .(s(T38), T39)) → U12_gga(T51, T38, T39, plus32_in_gag(T38, T51))
ways1_in_gga(s(T132), .(s(T122), T123)) → U18_gga(plus68_in_gag(T132, T122))
ways1_in_gga(s(T132), .(s(T122), T123)) → U19_gga(T132, T123, plus68_in_gag(T132, T122))
U9_gag(plus36_out_gag(X119)) → plus32_out_gag(X119)
U10_gag(plus72_out_gag(X234)) → plus68_out_gag(X234)
U11_gga(plus32_out_gag(X82)) → ways1_out_gga
U12_gga(T51, T38, T39, plus32_out_gag(T54)) → U13_gga(ways1_in_gga(s(T51), T39))
U12_gga(T51, T38, T39, plus32_out_gag(T54)) → U14_gga(T38, T39, T54, ways1_in_gga(s(T51), T39))
U18_gga(plus68_out_gag(X203)) → ways1_out_gga
U19_gga(T132, T123, plus68_out_gag(T135)) → U20_gga(ways1_in_gga(s(T132), T123))
plus36_in_gag(0, T69) → U2_gag(T69, nat40_in_g(T69))
plus36_in_gag(s(T77), s(T78)) → U3_gag(plus36_in_gag(T77, T78))
plus72_in_gag(0, s(X255)) → U7_gag(X255, nat80_in_g(X255))
plus72_in_gag(s(T148), s(T149)) → U8_gag(plus72_in_gag(T148, T149))
U13_gga(ways1_out_gga) → ways1_out_gga
U14_gga(T38, T39, T54, ways1_out_gga) → U15_gga(ways1_in_gga(T54, .(s(T38), T39)))
U14_gga(T38, T39, T54, ways1_out_gga) → U16_gga(ways1_in_gga(T54, .(s(T38), T39)))
U20_gga(ways1_out_gga) → ways1_out_gga
U2_gag(T69, nat40_out_g) → plus36_out_gag(T69)
U3_gag(plus36_out_gag(X148)) → plus36_out_gag(X148)
U7_gag(X255, nat80_out_g) → plus72_out_gag(X255)
U8_gag(plus72_out_gag(X273)) → plus72_out_gag(X273)
U15_gga(ways1_out_gga) → ways1_out_gga
U16_gga(ways1_out_gga) → U17_gga(plus55_in_aaa)
nat40_in_g(0) → nat40_out_g
nat40_in_g(s(T72)) → U1_g(nat40_in_g(T72))
nat80_in_g(0) → nat80_out_g
nat80_in_g(s(X261)) → U6_g(nat80_in_g(X261))
ways1_in_gga(0, T5) → ways1_out_gga
U17_gga(plus55_out_aaa(T82, T89, T41)) → ways1_out_gga
U1_g(nat40_out_g) → nat40_out_g
U6_g(nat80_out_g) → nat80_out_g
plus55_in_aaaU4_aaa(nat40_in_a)
plus55_in_aaaU5_aaa(plus55_in_aaa)
U4_aaa(nat40_out_a(T99)) → plus55_out_aaa(0, T99, T99)
U5_aaa(plus55_out_aaa(T106, T107, T109)) → plus55_out_aaa(s(T106), T107, s(T109))
nat40_in_anat40_out_a(0)
nat40_in_aU1_a(nat40_in_a)
U1_a(nat40_out_a(T72)) → nat40_out_a(s(T72))

The set Q consists of the following terms:

plus32_in_gag(x0, x1)
plus68_in_gag(x0, x1)
ways1_in_gga(x0, x1)
U9_gag(x0)
U10_gag(x0)
U11_gga(x0)
U12_gga(x0, x1, x2, x3)
U18_gga(x0)
U19_gga(x0, x1, x2)
plus36_in_gag(x0, x1)
plus72_in_gag(x0, x1)
U13_gga(x0)
U14_gga(x0, x1, x2, x3)
U20_gga(x0)
U2_gag(x0, x1)
U3_gag(x0)
U7_gag(x0, x1)
U8_gag(x0)
U15_gga(x0)
U16_gga(x0)
nat40_in_g(x0)
nat80_in_g(x0)
U17_gga(x0)
U1_g(x0)
U6_g(x0)
plus55_in_aaa
U4_aaa(x0)
U5_aaa(x0)
nat40_in_a
U1_a(x0)

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

(62) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule WAYS1_IN_GGA(s(T132), .(s(T122), T123)) → U19_GGA(T132, T123, plus68_in_gag(T132, T122)) at position [2] we obtained the following new rules [LPAR04]:

WAYS1_IN_GGA(s(T132), .(s(T122), T123)) → U19_GGA(T132, T123, U10_gag(plus72_in_gag(T132, T122)))

(63) Obligation:

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

U12_GGA(T51, T38, T39, plus32_out_gag(T54)) → WAYS1_IN_GGA(s(T51), T39)
U19_GGA(T132, T123, plus68_out_gag(T135)) → WAYS1_IN_GGA(s(T132), T123)
U12_GGA(T51, T38, T39, plus32_out_gag(T54)) → U14_GGA(T38, T39, T54, ways1_in_gga(s(T51), T39))
U14_GGA(T38, T39, T54, ways1_out_gga) → WAYS1_IN_GGA(T54, .(s(T38), T39))
WAYS1_IN_GGA(s(T51), .(s(T38), T39)) → U12_GGA(T51, T38, T39, U9_gag(plus36_in_gag(T38, T51)))
WAYS1_IN_GGA(s(T132), .(s(T122), T123)) → U19_GGA(T132, T123, U10_gag(plus72_in_gag(T132, T122)))

The TRS R consists of the following rules:

plus32_in_gag(T62, T63) → U9_gag(plus36_in_gag(T62, T63))
plus68_in_gag(T142, T143) → U10_gag(plus72_in_gag(T142, T143))
ways1_in_gga(T30, []) → ways1_out_gga
ways1_in_gga(s(T51), .(s(T38), T39)) → U11_gga(plus32_in_gag(T38, T51))
ways1_in_gga(s(T51), .(s(T38), T39)) → U12_gga(T51, T38, T39, plus32_in_gag(T38, T51))
ways1_in_gga(s(T132), .(s(T122), T123)) → U18_gga(plus68_in_gag(T132, T122))
ways1_in_gga(s(T132), .(s(T122), T123)) → U19_gga(T132, T123, plus68_in_gag(T132, T122))
U9_gag(plus36_out_gag(X119)) → plus32_out_gag(X119)
U10_gag(plus72_out_gag(X234)) → plus68_out_gag(X234)
U11_gga(plus32_out_gag(X82)) → ways1_out_gga
U12_gga(T51, T38, T39, plus32_out_gag(T54)) → U13_gga(ways1_in_gga(s(T51), T39))
U12_gga(T51, T38, T39, plus32_out_gag(T54)) → U14_gga(T38, T39, T54, ways1_in_gga(s(T51), T39))
U18_gga(plus68_out_gag(X203)) → ways1_out_gga
U19_gga(T132, T123, plus68_out_gag(T135)) → U20_gga(ways1_in_gga(s(T132), T123))
plus36_in_gag(0, T69) → U2_gag(T69, nat40_in_g(T69))
plus36_in_gag(s(T77), s(T78)) → U3_gag(plus36_in_gag(T77, T78))
plus72_in_gag(0, s(X255)) → U7_gag(X255, nat80_in_g(X255))
plus72_in_gag(s(T148), s(T149)) → U8_gag(plus72_in_gag(T148, T149))
U13_gga(ways1_out_gga) → ways1_out_gga
U14_gga(T38, T39, T54, ways1_out_gga) → U15_gga(ways1_in_gga(T54, .(s(T38), T39)))
U14_gga(T38, T39, T54, ways1_out_gga) → U16_gga(ways1_in_gga(T54, .(s(T38), T39)))
U20_gga(ways1_out_gga) → ways1_out_gga
U2_gag(T69, nat40_out_g) → plus36_out_gag(T69)
U3_gag(plus36_out_gag(X148)) → plus36_out_gag(X148)
U7_gag(X255, nat80_out_g) → plus72_out_gag(X255)
U8_gag(plus72_out_gag(X273)) → plus72_out_gag(X273)
U15_gga(ways1_out_gga) → ways1_out_gga
U16_gga(ways1_out_gga) → U17_gga(plus55_in_aaa)
nat40_in_g(0) → nat40_out_g
nat40_in_g(s(T72)) → U1_g(nat40_in_g(T72))
nat80_in_g(0) → nat80_out_g
nat80_in_g(s(X261)) → U6_g(nat80_in_g(X261))
ways1_in_gga(0, T5) → ways1_out_gga
U17_gga(plus55_out_aaa(T82, T89, T41)) → ways1_out_gga
U1_g(nat40_out_g) → nat40_out_g
U6_g(nat80_out_g) → nat80_out_g
plus55_in_aaaU4_aaa(nat40_in_a)
plus55_in_aaaU5_aaa(plus55_in_aaa)
U4_aaa(nat40_out_a(T99)) → plus55_out_aaa(0, T99, T99)
U5_aaa(plus55_out_aaa(T106, T107, T109)) → plus55_out_aaa(s(T106), T107, s(T109))
nat40_in_anat40_out_a(0)
nat40_in_aU1_a(nat40_in_a)
U1_a(nat40_out_a(T72)) → nat40_out_a(s(T72))

The set Q consists of the following terms:

plus32_in_gag(x0, x1)
plus68_in_gag(x0, x1)
ways1_in_gga(x0, x1)
U9_gag(x0)
U10_gag(x0)
U11_gga(x0)
U12_gga(x0, x1, x2, x3)
U18_gga(x0)
U19_gga(x0, x1, x2)
plus36_in_gag(x0, x1)
plus72_in_gag(x0, x1)
U13_gga(x0)
U14_gga(x0, x1, x2, x3)
U20_gga(x0)
U2_gag(x0, x1)
U3_gag(x0)
U7_gag(x0, x1)
U8_gag(x0)
U15_gga(x0)
U16_gga(x0)
nat40_in_g(x0)
nat80_in_g(x0)
U17_gga(x0)
U1_g(x0)
U6_g(x0)
plus55_in_aaa
U4_aaa(x0)
U5_aaa(x0)
nat40_in_a
U1_a(x0)

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

(64) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


U19_GGA(T132, T123, plus68_out_gag(T135)) → WAYS1_IN_GGA(s(T132), T123)
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:

POL(.(x1, x2)) = x1 + x2   
POL(0) = 1   
POL(U10_gag(x1)) = x1   
POL(U11_gga(x1)) = 0   
POL(U12_GGA(x1, x2, x3, x4)) = x2 + x3   
POL(U12_gga(x1, x2, x3, x4)) = 0   
POL(U13_gga(x1)) = 0   
POL(U14_GGA(x1, x2, x3, x4)) = x1 + x2   
POL(U14_gga(x1, x2, x3, x4)) = 0   
POL(U15_gga(x1)) = 0   
POL(U16_gga(x1)) = 0   
POL(U17_gga(x1)) = 0   
POL(U18_gga(x1)) = 0   
POL(U19_GGA(x1, x2, x3)) = x2 + x3   
POL(U19_gga(x1, x2, x3)) = 0   
POL(U1_a(x1)) = 0   
POL(U1_g(x1)) = 0   
POL(U20_gga(x1)) = 0   
POL(U2_gag(x1, x2)) = 0   
POL(U3_gag(x1)) = 0   
POL(U4_aaa(x1)) = 0   
POL(U5_aaa(x1)) = 0   
POL(U6_g(x1)) = x1   
POL(U7_gag(x1, x2)) = x2   
POL(U8_gag(x1)) = x1   
POL(U9_gag(x1)) = 0   
POL(WAYS1_IN_GGA(x1, x2)) = x2   
POL([]) = 0   
POL(nat40_in_a) = 0   
POL(nat40_in_g(x1)) = 0   
POL(nat40_out_a(x1)) = 0   
POL(nat40_out_g) = 0   
POL(nat80_in_g(x1)) = x1   
POL(nat80_out_g) = 1   
POL(plus32_in_gag(x1, x2)) = 0   
POL(plus32_out_gag(x1)) = 0   
POL(plus36_in_gag(x1, x2)) = 0   
POL(plus36_out_gag(x1)) = 0   
POL(plus55_in_aaa) = 0   
POL(plus55_out_aaa(x1, x2, x3)) = 0   
POL(plus68_in_gag(x1, x2)) = x2   
POL(plus68_out_gag(x1)) = 1   
POL(plus72_in_gag(x1, x2)) = x2   
POL(plus72_out_gag(x1)) = 1   
POL(s(x1)) = x1   
POL(ways1_in_gga(x1, x2)) = 0   
POL(ways1_out_gga) = 0   

The following usable rules [FROCOS05] were oriented:

plus72_in_gag(0, s(X255)) → U7_gag(X255, nat80_in_g(X255))
plus72_in_gag(s(T148), s(T149)) → U8_gag(plus72_in_gag(T148, T149))
U10_gag(plus72_out_gag(X234)) → plus68_out_gag(X234)
U8_gag(plus72_out_gag(X273)) → plus72_out_gag(X273)
nat80_in_g(0) → nat80_out_g
nat80_in_g(s(X261)) → U6_g(nat80_in_g(X261))
U7_gag(X255, nat80_out_g) → plus72_out_gag(X255)
U6_g(nat80_out_g) → nat80_out_g

(65) Obligation:

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

U12_GGA(T51, T38, T39, plus32_out_gag(T54)) → WAYS1_IN_GGA(s(T51), T39)
U12_GGA(T51, T38, T39, plus32_out_gag(T54)) → U14_GGA(T38, T39, T54, ways1_in_gga(s(T51), T39))
U14_GGA(T38, T39, T54, ways1_out_gga) → WAYS1_IN_GGA(T54, .(s(T38), T39))
WAYS1_IN_GGA(s(T51), .(s(T38), T39)) → U12_GGA(T51, T38, T39, U9_gag(plus36_in_gag(T38, T51)))
WAYS1_IN_GGA(s(T132), .(s(T122), T123)) → U19_GGA(T132, T123, U10_gag(plus72_in_gag(T132, T122)))

The TRS R consists of the following rules:

plus32_in_gag(T62, T63) → U9_gag(plus36_in_gag(T62, T63))
plus68_in_gag(T142, T143) → U10_gag(plus72_in_gag(T142, T143))
ways1_in_gga(T30, []) → ways1_out_gga
ways1_in_gga(s(T51), .(s(T38), T39)) → U11_gga(plus32_in_gag(T38, T51))
ways1_in_gga(s(T51), .(s(T38), T39)) → U12_gga(T51, T38, T39, plus32_in_gag(T38, T51))
ways1_in_gga(s(T132), .(s(T122), T123)) → U18_gga(plus68_in_gag(T132, T122))
ways1_in_gga(s(T132), .(s(T122), T123)) → U19_gga(T132, T123, plus68_in_gag(T132, T122))
U9_gag(plus36_out_gag(X119)) → plus32_out_gag(X119)
U10_gag(plus72_out_gag(X234)) → plus68_out_gag(X234)
U11_gga(plus32_out_gag(X82)) → ways1_out_gga
U12_gga(T51, T38, T39, plus32_out_gag(T54)) → U13_gga(ways1_in_gga(s(T51), T39))
U12_gga(T51, T38, T39, plus32_out_gag(T54)) → U14_gga(T38, T39, T54, ways1_in_gga(s(T51), T39))
U18_gga(plus68_out_gag(X203)) → ways1_out_gga
U19_gga(T132, T123, plus68_out_gag(T135)) → U20_gga(ways1_in_gga(s(T132), T123))
plus36_in_gag(0, T69) → U2_gag(T69, nat40_in_g(T69))
plus36_in_gag(s(T77), s(T78)) → U3_gag(plus36_in_gag(T77, T78))
plus72_in_gag(0, s(X255)) → U7_gag(X255, nat80_in_g(X255))
plus72_in_gag(s(T148), s(T149)) → U8_gag(plus72_in_gag(T148, T149))
U13_gga(ways1_out_gga) → ways1_out_gga
U14_gga(T38, T39, T54, ways1_out_gga) → U15_gga(ways1_in_gga(T54, .(s(T38), T39)))
U14_gga(T38, T39, T54, ways1_out_gga) → U16_gga(ways1_in_gga(T54, .(s(T38), T39)))
U20_gga(ways1_out_gga) → ways1_out_gga
U2_gag(T69, nat40_out_g) → plus36_out_gag(T69)
U3_gag(plus36_out_gag(X148)) → plus36_out_gag(X148)
U7_gag(X255, nat80_out_g) → plus72_out_gag(X255)
U8_gag(plus72_out_gag(X273)) → plus72_out_gag(X273)
U15_gga(ways1_out_gga) → ways1_out_gga
U16_gga(ways1_out_gga) → U17_gga(plus55_in_aaa)
nat40_in_g(0) → nat40_out_g
nat40_in_g(s(T72)) → U1_g(nat40_in_g(T72))
nat80_in_g(0) → nat80_out_g
nat80_in_g(s(X261)) → U6_g(nat80_in_g(X261))
ways1_in_gga(0, T5) → ways1_out_gga
U17_gga(plus55_out_aaa(T82, T89, T41)) → ways1_out_gga
U1_g(nat40_out_g) → nat40_out_g
U6_g(nat80_out_g) → nat80_out_g
plus55_in_aaaU4_aaa(nat40_in_a)
plus55_in_aaaU5_aaa(plus55_in_aaa)
U4_aaa(nat40_out_a(T99)) → plus55_out_aaa(0, T99, T99)
U5_aaa(plus55_out_aaa(T106, T107, T109)) → plus55_out_aaa(s(T106), T107, s(T109))
nat40_in_anat40_out_a(0)
nat40_in_aU1_a(nat40_in_a)
U1_a(nat40_out_a(T72)) → nat40_out_a(s(T72))

The set Q consists of the following terms:

plus32_in_gag(x0, x1)
plus68_in_gag(x0, x1)
ways1_in_gga(x0, x1)
U9_gag(x0)
U10_gag(x0)
U11_gga(x0)
U12_gga(x0, x1, x2, x3)
U18_gga(x0)
U19_gga(x0, x1, x2)
plus36_in_gag(x0, x1)
plus72_in_gag(x0, x1)
U13_gga(x0)
U14_gga(x0, x1, x2, x3)
U20_gga(x0)
U2_gag(x0, x1)
U3_gag(x0)
U7_gag(x0, x1)
U8_gag(x0)
U15_gga(x0)
U16_gga(x0)
nat40_in_g(x0)
nat80_in_g(x0)
U17_gga(x0)
U1_g(x0)
U6_g(x0)
plus55_in_aaa
U4_aaa(x0)
U5_aaa(x0)
nat40_in_a
U1_a(x0)

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

(66) DependencyGraphProof (EQUIVALENT transformation)

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

(67) Obligation:

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

WAYS1_IN_GGA(s(T51), .(s(T38), T39)) → U12_GGA(T51, T38, T39, U9_gag(plus36_in_gag(T38, T51)))
U12_GGA(T51, T38, T39, plus32_out_gag(T54)) → WAYS1_IN_GGA(s(T51), T39)
U12_GGA(T51, T38, T39, plus32_out_gag(T54)) → U14_GGA(T38, T39, T54, ways1_in_gga(s(T51), T39))
U14_GGA(T38, T39, T54, ways1_out_gga) → WAYS1_IN_GGA(T54, .(s(T38), T39))

The TRS R consists of the following rules:

plus32_in_gag(T62, T63) → U9_gag(plus36_in_gag(T62, T63))
plus68_in_gag(T142, T143) → U10_gag(plus72_in_gag(T142, T143))
ways1_in_gga(T30, []) → ways1_out_gga
ways1_in_gga(s(T51), .(s(T38), T39)) → U11_gga(plus32_in_gag(T38, T51))
ways1_in_gga(s(T51), .(s(T38), T39)) → U12_gga(T51, T38, T39, plus32_in_gag(T38, T51))
ways1_in_gga(s(T132), .(s(T122), T123)) → U18_gga(plus68_in_gag(T132, T122))
ways1_in_gga(s(T132), .(s(T122), T123)) → U19_gga(T132, T123, plus68_in_gag(T132, T122))
U9_gag(plus36_out_gag(X119)) → plus32_out_gag(X119)
U10_gag(plus72_out_gag(X234)) → plus68_out_gag(X234)
U11_gga(plus32_out_gag(X82)) → ways1_out_gga
U12_gga(T51, T38, T39, plus32_out_gag(T54)) → U13_gga(ways1_in_gga(s(T51), T39))
U12_gga(T51, T38, T39, plus32_out_gag(T54)) → U14_gga(T38, T39, T54, ways1_in_gga(s(T51), T39))
U18_gga(plus68_out_gag(X203)) → ways1_out_gga
U19_gga(T132, T123, plus68_out_gag(T135)) → U20_gga(ways1_in_gga(s(T132), T123))
plus36_in_gag(0, T69) → U2_gag(T69, nat40_in_g(T69))
plus36_in_gag(s(T77), s(T78)) → U3_gag(plus36_in_gag(T77, T78))
plus72_in_gag(0, s(X255)) → U7_gag(X255, nat80_in_g(X255))
plus72_in_gag(s(T148), s(T149)) → U8_gag(plus72_in_gag(T148, T149))
U13_gga(ways1_out_gga) → ways1_out_gga
U14_gga(T38, T39, T54, ways1_out_gga) → U15_gga(ways1_in_gga(T54, .(s(T38), T39)))
U14_gga(T38, T39, T54, ways1_out_gga) → U16_gga(ways1_in_gga(T54, .(s(T38), T39)))
U20_gga(ways1_out_gga) → ways1_out_gga
U2_gag(T69, nat40_out_g) → plus36_out_gag(T69)
U3_gag(plus36_out_gag(X148)) → plus36_out_gag(X148)
U7_gag(X255, nat80_out_g) → plus72_out_gag(X255)
U8_gag(plus72_out_gag(X273)) → plus72_out_gag(X273)
U15_gga(ways1_out_gga) → ways1_out_gga
U16_gga(ways1_out_gga) → U17_gga(plus55_in_aaa)
nat40_in_g(0) → nat40_out_g
nat40_in_g(s(T72)) → U1_g(nat40_in_g(T72))
nat80_in_g(0) → nat80_out_g
nat80_in_g(s(X261)) → U6_g(nat80_in_g(X261))
ways1_in_gga(0, T5) → ways1_out_gga
U17_gga(plus55_out_aaa(T82, T89, T41)) → ways1_out_gga
U1_g(nat40_out_g) → nat40_out_g
U6_g(nat80_out_g) → nat80_out_g
plus55_in_aaaU4_aaa(nat40_in_a)
plus55_in_aaaU5_aaa(plus55_in_aaa)
U4_aaa(nat40_out_a(T99)) → plus55_out_aaa(0, T99, T99)
U5_aaa(plus55_out_aaa(T106, T107, T109)) → plus55_out_aaa(s(T106), T107, s(T109))
nat40_in_anat40_out_a(0)
nat40_in_aU1_a(nat40_in_a)
U1_a(nat40_out_a(T72)) → nat40_out_a(s(T72))

The set Q consists of the following terms:

plus32_in_gag(x0, x1)
plus68_in_gag(x0, x1)
ways1_in_gga(x0, x1)
U9_gag(x0)
U10_gag(x0)
U11_gga(x0)
U12_gga(x0, x1, x2, x3)
U18_gga(x0)
U19_gga(x0, x1, x2)
plus36_in_gag(x0, x1)
plus72_in_gag(x0, x1)
U13_gga(x0)
U14_gga(x0, x1, x2, x3)
U20_gga(x0)
U2_gag(x0, x1)
U3_gag(x0)
U7_gag(x0, x1)
U8_gag(x0)
U15_gga(x0)
U16_gga(x0)
nat40_in_g(x0)
nat80_in_g(x0)
U17_gga(x0)
U1_g(x0)
U6_g(x0)
plus55_in_aaa
U4_aaa(x0)
U5_aaa(x0)
nat40_in_a
U1_a(x0)

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

(68) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


U12_GGA(T51, T38, T39, plus32_out_gag(T54)) → WAYS1_IN_GGA(s(T51), T39)
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:

POL(.(x1, x2)) = x1 + x2   
POL(0) = 0   
POL(U10_gag(x1)) = x1   
POL(U11_gga(x1)) = 0   
POL(U12_GGA(x1, x2, x3, x4)) = 1 + x3   
POL(U12_gga(x1, x2, x3, x4)) = 0   
POL(U13_gga(x1)) = 0   
POL(U14_GGA(x1, x2, x3, x4)) = 1 + x2   
POL(U14_gga(x1, x2, x3, x4)) = 0   
POL(U15_gga(x1)) = 0   
POL(U16_gga(x1)) = 0   
POL(U17_gga(x1)) = 0   
POL(U18_gga(x1)) = 0   
POL(U19_gga(x1, x2, x3)) = 0   
POL(U1_a(x1)) = 0   
POL(U1_g(x1)) = 0   
POL(U20_gga(x1)) = 0   
POL(U2_gag(x1, x2)) = 0   
POL(U3_gag(x1)) = 0   
POL(U4_aaa(x1)) = 0   
POL(U5_aaa(x1)) = 0   
POL(U6_g(x1)) = 0   
POL(U7_gag(x1, x2)) = 0   
POL(U8_gag(x1)) = 0   
POL(U9_gag(x1)) = 0   
POL(WAYS1_IN_GGA(x1, x2)) = x2   
POL([]) = 0   
POL(nat40_in_a) = 0   
POL(nat40_in_g(x1)) = 0   
POL(nat40_out_a(x1)) = 0   
POL(nat40_out_g) = 0   
POL(nat80_in_g(x1)) = 0   
POL(nat80_out_g) = 0   
POL(plus32_in_gag(x1, x2)) = x1 + x2   
POL(plus32_out_gag(x1)) = 0   
POL(plus36_in_gag(x1, x2)) = 0   
POL(plus36_out_gag(x1)) = 0   
POL(plus55_in_aaa) = 0   
POL(plus55_out_aaa(x1, x2, x3)) = 0   
POL(plus68_in_gag(x1, x2)) = x1   
POL(plus68_out_gag(x1)) = 0   
POL(plus72_in_gag(x1, x2)) = 0   
POL(plus72_out_gag(x1)) = x1   
POL(s(x1)) = 1   
POL(ways1_in_gga(x1, x2)) = 0   
POL(ways1_out_gga) = 0   

The following usable rules [FROCOS05] were oriented: none

(69) Obligation:

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

WAYS1_IN_GGA(s(T51), .(s(T38), T39)) → U12_GGA(T51, T38, T39, U9_gag(plus36_in_gag(T38, T51)))
U12_GGA(T51, T38, T39, plus32_out_gag(T54)) → U14_GGA(T38, T39, T54, ways1_in_gga(s(T51), T39))
U14_GGA(T38, T39, T54, ways1_out_gga) → WAYS1_IN_GGA(T54, .(s(T38), T39))

The TRS R consists of the following rules:

plus32_in_gag(T62, T63) → U9_gag(plus36_in_gag(T62, T63))
plus68_in_gag(T142, T143) → U10_gag(plus72_in_gag(T142, T143))
ways1_in_gga(T30, []) → ways1_out_gga
ways1_in_gga(s(T51), .(s(T38), T39)) → U11_gga(plus32_in_gag(T38, T51))
ways1_in_gga(s(T51), .(s(T38), T39)) → U12_gga(T51, T38, T39, plus32_in_gag(T38, T51))
ways1_in_gga(s(T132), .(s(T122), T123)) → U18_gga(plus68_in_gag(T132, T122))
ways1_in_gga(s(T132), .(s(T122), T123)) → U19_gga(T132, T123, plus68_in_gag(T132, T122))
U9_gag(plus36_out_gag(X119)) → plus32_out_gag(X119)
U10_gag(plus72_out_gag(X234)) → plus68_out_gag(X234)
U11_gga(plus32_out_gag(X82)) → ways1_out_gga
U12_gga(T51, T38, T39, plus32_out_gag(T54)) → U13_gga(ways1_in_gga(s(T51), T39))
U12_gga(T51, T38, T39, plus32_out_gag(T54)) → U14_gga(T38, T39, T54, ways1_in_gga(s(T51), T39))
U18_gga(plus68_out_gag(X203)) → ways1_out_gga
U19_gga(T132, T123, plus68_out_gag(T135)) → U20_gga(ways1_in_gga(s(T132), T123))
plus36_in_gag(0, T69) → U2_gag(T69, nat40_in_g(T69))
plus36_in_gag(s(T77), s(T78)) → U3_gag(plus36_in_gag(T77, T78))
plus72_in_gag(0, s(X255)) → U7_gag(X255, nat80_in_g(X255))
plus72_in_gag(s(T148), s(T149)) → U8_gag(plus72_in_gag(T148, T149))
U13_gga(ways1_out_gga) → ways1_out_gga
U14_gga(T38, T39, T54, ways1_out_gga) → U15_gga(ways1_in_gga(T54, .(s(T38), T39)))
U14_gga(T38, T39, T54, ways1_out_gga) → U16_gga(ways1_in_gga(T54, .(s(T38), T39)))
U20_gga(ways1_out_gga) → ways1_out_gga
U2_gag(T69, nat40_out_g) → plus36_out_gag(T69)
U3_gag(plus36_out_gag(X148)) → plus36_out_gag(X148)
U7_gag(X255, nat80_out_g) → plus72_out_gag(X255)
U8_gag(plus72_out_gag(X273)) → plus72_out_gag(X273)
U15_gga(ways1_out_gga) → ways1_out_gga
U16_gga(ways1_out_gga) → U17_gga(plus55_in_aaa)
nat40_in_g(0) → nat40_out_g
nat40_in_g(s(T72)) → U1_g(nat40_in_g(T72))
nat80_in_g(0) → nat80_out_g
nat80_in_g(s(X261)) → U6_g(nat80_in_g(X261))
ways1_in_gga(0, T5) → ways1_out_gga
U17_gga(plus55_out_aaa(T82, T89, T41)) → ways1_out_gga
U1_g(nat40_out_g) → nat40_out_g
U6_g(nat80_out_g) → nat80_out_g
plus55_in_aaaU4_aaa(nat40_in_a)
plus55_in_aaaU5_aaa(plus55_in_aaa)
U4_aaa(nat40_out_a(T99)) → plus55_out_aaa(0, T99, T99)
U5_aaa(plus55_out_aaa(T106, T107, T109)) → plus55_out_aaa(s(T106), T107, s(T109))
nat40_in_anat40_out_a(0)
nat40_in_aU1_a(nat40_in_a)
U1_a(nat40_out_a(T72)) → nat40_out_a(s(T72))

The set Q consists of the following terms:

plus32_in_gag(x0, x1)
plus68_in_gag(x0, x1)
ways1_in_gga(x0, x1)
U9_gag(x0)
U10_gag(x0)
U11_gga(x0)
U12_gga(x0, x1, x2, x3)
U18_gga(x0)
U19_gga(x0, x1, x2)
plus36_in_gag(x0, x1)
plus72_in_gag(x0, x1)
U13_gga(x0)
U14_gga(x0, x1, x2, x3)
U20_gga(x0)
U2_gag(x0, x1)
U3_gag(x0)
U7_gag(x0, x1)
U8_gag(x0)
U15_gga(x0)
U16_gga(x0)
nat40_in_g(x0)
nat80_in_g(x0)
U17_gga(x0)
U1_g(x0)
U6_g(x0)
plus55_in_aaa
U4_aaa(x0)
U5_aaa(x0)
nat40_in_a
U1_a(x0)

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

(70) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


WAYS1_IN_GGA(s(T51), .(s(T38), T39)) → U12_GGA(T51, T38, T39, U9_gag(plus36_in_gag(T38, T51)))
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:

POL(.(x1, x2)) = 0   
POL(0) = 0   
POL(U10_gag(x1)) = 1 + x1   
POL(U11_gga(x1)) = 0   
POL(U12_GGA(x1, x2, x3, x4)) = x4   
POL(U12_gga(x1, x2, x3, x4)) = 0   
POL(U13_gga(x1)) = 0   
POL(U14_GGA(x1, x2, x3, x4)) = x3   
POL(U14_gga(x1, x2, x3, x4)) = 0   
POL(U15_gga(x1)) = 0   
POL(U16_gga(x1)) = 0   
POL(U17_gga(x1)) = 0   
POL(U18_gga(x1)) = 0   
POL(U19_gga(x1, x2, x3)) = 0   
POL(U1_a(x1)) = 0   
POL(U1_g(x1)) = 0   
POL(U20_gga(x1)) = 0   
POL(U2_gag(x1, x2)) = x1   
POL(U3_gag(x1)) = x1   
POL(U4_aaa(x1)) = x1   
POL(U5_aaa(x1)) = 0   
POL(U6_g(x1)) = x1   
POL(U7_gag(x1, x2)) = 0   
POL(U8_gag(x1)) = 0   
POL(U9_gag(x1)) = x1   
POL(WAYS1_IN_GGA(x1, x2)) = x1   
POL([]) = 0   
POL(nat40_in_a) = 0   
POL(nat40_in_g(x1)) = 0   
POL(nat40_out_a(x1)) = x1   
POL(nat40_out_g) = 0   
POL(nat80_in_g(x1)) = 1 + x1   
POL(nat80_out_g) = 0   
POL(plus32_in_gag(x1, x2)) = 0   
POL(plus32_out_gag(x1)) = x1   
POL(plus36_in_gag(x1, x2)) = x2   
POL(plus36_out_gag(x1)) = x1   
POL(plus55_in_aaa) = 0   
POL(plus55_out_aaa(x1, x2, x3)) = 0   
POL(plus68_in_gag(x1, x2)) = 1 + x1   
POL(plus68_out_gag(x1)) = 1   
POL(plus72_in_gag(x1, x2)) = x1   
POL(plus72_out_gag(x1)) = 1   
POL(s(x1)) = 1 + x1   
POL(ways1_in_gga(x1, x2)) = 0   
POL(ways1_out_gga) = 0   

The following usable rules [FROCOS05] were oriented:

plus36_in_gag(0, T69) → U2_gag(T69, nat40_in_g(T69))
plus36_in_gag(s(T77), s(T78)) → U3_gag(plus36_in_gag(T77, T78))
U9_gag(plus36_out_gag(X119)) → plus32_out_gag(X119)
U3_gag(plus36_out_gag(X148)) → plus36_out_gag(X148)
U2_gag(T69, nat40_out_g) → plus36_out_gag(T69)

(71) Obligation:

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

U12_GGA(T51, T38, T39, plus32_out_gag(T54)) → U14_GGA(T38, T39, T54, ways1_in_gga(s(T51), T39))
U14_GGA(T38, T39, T54, ways1_out_gga) → WAYS1_IN_GGA(T54, .(s(T38), T39))

The TRS R consists of the following rules:

plus32_in_gag(T62, T63) → U9_gag(plus36_in_gag(T62, T63))
plus68_in_gag(T142, T143) → U10_gag(plus72_in_gag(T142, T143))
ways1_in_gga(T30, []) → ways1_out_gga
ways1_in_gga(s(T51), .(s(T38), T39)) → U11_gga(plus32_in_gag(T38, T51))
ways1_in_gga(s(T51), .(s(T38), T39)) → U12_gga(T51, T38, T39, plus32_in_gag(T38, T51))
ways1_in_gga(s(T132), .(s(T122), T123)) → U18_gga(plus68_in_gag(T132, T122))
ways1_in_gga(s(T132), .(s(T122), T123)) → U19_gga(T132, T123, plus68_in_gag(T132, T122))
U9_gag(plus36_out_gag(X119)) → plus32_out_gag(X119)
U10_gag(plus72_out_gag(X234)) → plus68_out_gag(X234)
U11_gga(plus32_out_gag(X82)) → ways1_out_gga
U12_gga(T51, T38, T39, plus32_out_gag(T54)) → U13_gga(ways1_in_gga(s(T51), T39))
U12_gga(T51, T38, T39, plus32_out_gag(T54)) → U14_gga(T38, T39, T54, ways1_in_gga(s(T51), T39))
U18_gga(plus68_out_gag(X203)) → ways1_out_gga
U19_gga(T132, T123, plus68_out_gag(T135)) → U20_gga(ways1_in_gga(s(T132), T123))
plus36_in_gag(0, T69) → U2_gag(T69, nat40_in_g(T69))
plus36_in_gag(s(T77), s(T78)) → U3_gag(plus36_in_gag(T77, T78))
plus72_in_gag(0, s(X255)) → U7_gag(X255, nat80_in_g(X255))
plus72_in_gag(s(T148), s(T149)) → U8_gag(plus72_in_gag(T148, T149))
U13_gga(ways1_out_gga) → ways1_out_gga
U14_gga(T38, T39, T54, ways1_out_gga) → U15_gga(ways1_in_gga(T54, .(s(T38), T39)))
U14_gga(T38, T39, T54, ways1_out_gga) → U16_gga(ways1_in_gga(T54, .(s(T38), T39)))
U20_gga(ways1_out_gga) → ways1_out_gga
U2_gag(T69, nat40_out_g) → plus36_out_gag(T69)
U3_gag(plus36_out_gag(X148)) → plus36_out_gag(X148)
U7_gag(X255, nat80_out_g) → plus72_out_gag(X255)
U8_gag(plus72_out_gag(X273)) → plus72_out_gag(X273)
U15_gga(ways1_out_gga) → ways1_out_gga
U16_gga(ways1_out_gga) → U17_gga(plus55_in_aaa)
nat40_in_g(0) → nat40_out_g
nat40_in_g(s(T72)) → U1_g(nat40_in_g(T72))
nat80_in_g(0) → nat80_out_g
nat80_in_g(s(X261)) → U6_g(nat80_in_g(X261))
ways1_in_gga(0, T5) → ways1_out_gga
U17_gga(plus55_out_aaa(T82, T89, T41)) → ways1_out_gga
U1_g(nat40_out_g) → nat40_out_g
U6_g(nat80_out_g) → nat80_out_g
plus55_in_aaaU4_aaa(nat40_in_a)
plus55_in_aaaU5_aaa(plus55_in_aaa)
U4_aaa(nat40_out_a(T99)) → plus55_out_aaa(0, T99, T99)
U5_aaa(plus55_out_aaa(T106, T107, T109)) → plus55_out_aaa(s(T106), T107, s(T109))
nat40_in_anat40_out_a(0)
nat40_in_aU1_a(nat40_in_a)
U1_a(nat40_out_a(T72)) → nat40_out_a(s(T72))

The set Q consists of the following terms:

plus32_in_gag(x0, x1)
plus68_in_gag(x0, x1)
ways1_in_gga(x0, x1)
U9_gag(x0)
U10_gag(x0)
U11_gga(x0)
U12_gga(x0, x1, x2, x3)
U18_gga(x0)
U19_gga(x0, x1, x2)
plus36_in_gag(x0, x1)
plus72_in_gag(x0, x1)
U13_gga(x0)
U14_gga(x0, x1, x2, x3)
U20_gga(x0)
U2_gag(x0, x1)
U3_gag(x0)
U7_gag(x0, x1)
U8_gag(x0)
U15_gga(x0)
U16_gga(x0)
nat40_in_g(x0)
nat80_in_g(x0)
U17_gga(x0)
U1_g(x0)
U6_g(x0)
plus55_in_aaa
U4_aaa(x0)
U5_aaa(x0)
nat40_in_a
U1_a(x0)

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

(72) DependencyGraphProof (EQUIVALENT transformation)

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

(73) TRUE

(74) PrologToPiTRSProof (SOUND transformation)

We use the technique of [LOPSTR]. With regard to the inferred argument filtering the predicates were used in the following modes:
ways1_in: (b,b,f)
plus32_in: (b,f,b)
plus36_in: (b,f,b)
nat40_in: (b) (f)
plus68_in: (b,f,b)
plus72_in: (b,f,b)
nat80_in: (b)
plus55_in: (f,f,f)
Transforming Prolog into the following Term Rewriting System:
Pi-finite rewrite system:
The TRS R consists of the following rules:

ways1_in_gga(0, T5, s(0)) → ways1_out_gga(0, T5, s(0))
ways1_in_gga(0, [], 0) → ways1_out_gga(0, [], 0)
ways1_in_gga(T30, [], 0) → ways1_out_gga(T30, [], 0)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U11_gga(T51, T38, T39, T41, plus32_in_gag(T38, X82, T51))
plus32_in_gag(T62, X119, T63) → U9_gag(T62, X119, T63, plus36_in_gag(T62, X119, T63))
plus36_in_gag(0, T69, T69) → U2_gag(T69, nat40_in_g(T69))
nat40_in_g(0) → nat40_out_g(0)
nat40_in_g(s(T72)) → U1_g(T72, nat40_in_g(T72))
U1_g(T72, nat40_out_g(T72)) → nat40_out_g(s(T72))
U2_gag(T69, nat40_out_g(T69)) → plus36_out_gag(0, T69, T69)
plus36_in_gag(s(T77), X148, s(T78)) → U3_gag(T77, X148, T78, plus36_in_gag(T77, X148, T78))
U3_gag(T77, X148, T78, plus36_out_gag(T77, X148, T78)) → plus36_out_gag(s(T77), X148, s(T78))
U9_gag(T62, X119, T63, plus36_out_gag(T62, X119, T63)) → plus32_out_gag(T62, X119, T63)
U11_gga(T51, T38, T39, T41, plus32_out_gag(T38, X82, T51)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U12_gga(T51, T38, T39, T41, plus32_in_gag(T38, T54, T51))
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U13_gga(T51, T38, T39, T41, ways1_in_gga(s(T51), T39, X83))
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U18_gga(T132, T122, T123, T125, plus68_in_gag(T132, X203, T122))
plus68_in_gag(T142, X234, T143) → U10_gag(T142, X234, T143, plus72_in_gag(T142, X234, T143))
plus72_in_gag(0, X255, s(X255)) → U7_gag(X255, nat80_in_g(X255))
nat80_in_g(0) → nat80_out_g(0)
nat80_in_g(s(X261)) → U6_g(X261, nat80_in_g(X261))
U6_g(X261, nat80_out_g(X261)) → nat80_out_g(s(X261))
U7_gag(X255, nat80_out_g(X255)) → plus72_out_gag(0, X255, s(X255))
plus72_in_gag(s(T148), X273, s(T149)) → U8_gag(T148, X273, T149, plus72_in_gag(T148, X273, T149))
U8_gag(T148, X273, T149, plus72_out_gag(T148, X273, T149)) → plus72_out_gag(s(T148), X273, s(T149))
U10_gag(T142, X234, T143, plus72_out_gag(T142, X234, T143)) → plus68_out_gag(T142, X234, T143)
U18_gga(T132, T122, T123, T125, plus68_out_gag(T132, X203, T122)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U19_gga(T132, T122, T123, T125, plus68_in_gag(T132, T135, T122))
U19_gga(T132, T122, T123, T125, plus68_out_gag(T132, T135, T122)) → U20_gga(T132, T122, T123, T125, ways1_in_gga(s(T132), T123, T125))
U20_gga(T132, T122, T123, T125, ways1_out_gga(s(T132), T123, T125)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
U13_gga(T51, T38, T39, T41, ways1_out_gga(s(T51), T39, X83)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U14_gga(T51, T38, T39, T41, T54, ways1_in_gga(s(T51), T39, T82))
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U15_gga(T51, T38, T39, T41, ways1_in_gga(T54, .(s(T38), T39), X84))
U15_gga(T51, T38, T39, T41, ways1_out_gga(T54, .(s(T38), T39), X84)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U16_gga(T51, T38, T39, T41, T82, ways1_in_gga(T54, .(s(T38), T39), T89))
U16_gga(T51, T38, T39, T41, T82, ways1_out_gga(T54, .(s(T38), T39), T89)) → U17_gga(T51, T38, T39, T41, plus55_in_aaa(T82, T89, T41))
plus55_in_aaa(0, T99, T99) → U4_aaa(T99, nat40_in_a(T99))
nat40_in_a(0) → nat40_out_a(0)
nat40_in_a(s(T72)) → U1_a(T72, nat40_in_a(T72))
U1_a(T72, nat40_out_a(T72)) → nat40_out_a(s(T72))
U4_aaa(T99, nat40_out_a(T99)) → plus55_out_aaa(0, T99, T99)
plus55_in_aaa(s(T106), T107, s(T109)) → U5_aaa(T106, T107, T109, plus55_in_aaa(T106, T107, T109))
U5_aaa(T106, T107, T109, plus55_out_aaa(T106, T107, T109)) → plus55_out_aaa(s(T106), T107, s(T109))
U17_gga(T51, T38, T39, T41, plus55_out_aaa(T82, T89, T41)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)

The argument filtering Pi contains the following mapping:
ways1_in_gga(x1, x2, x3)  =  ways1_in_gga(x1, x2)
0  =  0
ways1_out_gga(x1, x2, x3)  =  ways1_out_gga(x1, x2)
[]  =  []
s(x1)  =  s(x1)
.(x1, x2)  =  .(x1, x2)
U11_gga(x1, x2, x3, x4, x5)  =  U11_gga(x1, x2, x3, x5)
plus32_in_gag(x1, x2, x3)  =  plus32_in_gag(x1, x3)
U9_gag(x1, x2, x3, x4)  =  U9_gag(x1, x3, x4)
plus36_in_gag(x1, x2, x3)  =  plus36_in_gag(x1, x3)
U2_gag(x1, x2)  =  U2_gag(x1, x2)
nat40_in_g(x1)  =  nat40_in_g(x1)
nat40_out_g(x1)  =  nat40_out_g(x1)
U1_g(x1, x2)  =  U1_g(x1, x2)
plus36_out_gag(x1, x2, x3)  =  plus36_out_gag(x1, x2, x3)
U3_gag(x1, x2, x3, x4)  =  U3_gag(x1, x3, x4)
plus32_out_gag(x1, x2, x3)  =  plus32_out_gag(x1, x2, x3)
U12_gga(x1, x2, x3, x4, x5)  =  U12_gga(x1, x2, x3, x5)
U13_gga(x1, x2, x3, x4, x5)  =  U13_gga(x1, x2, x3, x5)
U18_gga(x1, x2, x3, x4, x5)  =  U18_gga(x1, x2, x3, x5)
plus68_in_gag(x1, x2, x3)  =  plus68_in_gag(x1, x3)
U10_gag(x1, x2, x3, x4)  =  U10_gag(x1, x3, x4)
plus72_in_gag(x1, x2, x3)  =  plus72_in_gag(x1, x3)
U7_gag(x1, x2)  =  U7_gag(x1, x2)
nat80_in_g(x1)  =  nat80_in_g(x1)
nat80_out_g(x1)  =  nat80_out_g(x1)
U6_g(x1, x2)  =  U6_g(x1, x2)
plus72_out_gag(x1, x2, x3)  =  plus72_out_gag(x1, x2, x3)
U8_gag(x1, x2, x3, x4)  =  U8_gag(x1, x3, x4)
plus68_out_gag(x1, x2, x3)  =  plus68_out_gag(x1, x2, x3)
U19_gga(x1, x2, x3, x4, x5)  =  U19_gga(x1, x2, x3, x5)
U20_gga(x1, x2, x3, x4, x5)  =  U20_gga(x1, x2, x3, x5)
U14_gga(x1, x2, x3, x4, x5, x6)  =  U14_gga(x1, x2, x3, x5, x6)
U15_gga(x1, x2, x3, x4, x5)  =  U15_gga(x1, x2, x3, x5)
U16_gga(x1, x2, x3, x4, x5, x6)  =  U16_gga(x1, x2, x3, x6)
U17_gga(x1, x2, x3, x4, x5)  =  U17_gga(x1, x2, x3, x5)
plus55_in_aaa(x1, x2, x3)  =  plus55_in_aaa
U4_aaa(x1, x2)  =  U4_aaa(x2)
nat40_in_a(x1)  =  nat40_in_a
nat40_out_a(x1)  =  nat40_out_a(x1)
U1_a(x1, x2)  =  U1_a(x2)
plus55_out_aaa(x1, x2, x3)  =  plus55_out_aaa(x1, x2, x3)
U5_aaa(x1, x2, x3, x4)  =  U5_aaa(x4)

Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog

(75) Obligation:

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

ways1_in_gga(0, T5, s(0)) → ways1_out_gga(0, T5, s(0))
ways1_in_gga(0, [], 0) → ways1_out_gga(0, [], 0)
ways1_in_gga(T30, [], 0) → ways1_out_gga(T30, [], 0)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U11_gga(T51, T38, T39, T41, plus32_in_gag(T38, X82, T51))
plus32_in_gag(T62, X119, T63) → U9_gag(T62, X119, T63, plus36_in_gag(T62, X119, T63))
plus36_in_gag(0, T69, T69) → U2_gag(T69, nat40_in_g(T69))
nat40_in_g(0) → nat40_out_g(0)
nat40_in_g(s(T72)) → U1_g(T72, nat40_in_g(T72))
U1_g(T72, nat40_out_g(T72)) → nat40_out_g(s(T72))
U2_gag(T69, nat40_out_g(T69)) → plus36_out_gag(0, T69, T69)
plus36_in_gag(s(T77), X148, s(T78)) → U3_gag(T77, X148, T78, plus36_in_gag(T77, X148, T78))
U3_gag(T77, X148, T78, plus36_out_gag(T77, X148, T78)) → plus36_out_gag(s(T77), X148, s(T78))
U9_gag(T62, X119, T63, plus36_out_gag(T62, X119, T63)) → plus32_out_gag(T62, X119, T63)
U11_gga(T51, T38, T39, T41, plus32_out_gag(T38, X82, T51)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U12_gga(T51, T38, T39, T41, plus32_in_gag(T38, T54, T51))
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U13_gga(T51, T38, T39, T41, ways1_in_gga(s(T51), T39, X83))
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U18_gga(T132, T122, T123, T125, plus68_in_gag(T132, X203, T122))
plus68_in_gag(T142, X234, T143) → U10_gag(T142, X234, T143, plus72_in_gag(T142, X234, T143))
plus72_in_gag(0, X255, s(X255)) → U7_gag(X255, nat80_in_g(X255))
nat80_in_g(0) → nat80_out_g(0)
nat80_in_g(s(X261)) → U6_g(X261, nat80_in_g(X261))
U6_g(X261, nat80_out_g(X261)) → nat80_out_g(s(X261))
U7_gag(X255, nat80_out_g(X255)) → plus72_out_gag(0, X255, s(X255))
plus72_in_gag(s(T148), X273, s(T149)) → U8_gag(T148, X273, T149, plus72_in_gag(T148, X273, T149))
U8_gag(T148, X273, T149, plus72_out_gag(T148, X273, T149)) → plus72_out_gag(s(T148), X273, s(T149))
U10_gag(T142, X234, T143, plus72_out_gag(T142, X234, T143)) → plus68_out_gag(T142, X234, T143)
U18_gga(T132, T122, T123, T125, plus68_out_gag(T132, X203, T122)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U19_gga(T132, T122, T123, T125, plus68_in_gag(T132, T135, T122))
U19_gga(T132, T122, T123, T125, plus68_out_gag(T132, T135, T122)) → U20_gga(T132, T122, T123, T125, ways1_in_gga(s(T132), T123, T125))
U20_gga(T132, T122, T123, T125, ways1_out_gga(s(T132), T123, T125)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
U13_gga(T51, T38, T39, T41, ways1_out_gga(s(T51), T39, X83)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U14_gga(T51, T38, T39, T41, T54, ways1_in_gga(s(T51), T39, T82))
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U15_gga(T51, T38, T39, T41, ways1_in_gga(T54, .(s(T38), T39), X84))
U15_gga(T51, T38, T39, T41, ways1_out_gga(T54, .(s(T38), T39), X84)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U16_gga(T51, T38, T39, T41, T82, ways1_in_gga(T54, .(s(T38), T39), T89))
U16_gga(T51, T38, T39, T41, T82, ways1_out_gga(T54, .(s(T38), T39), T89)) → U17_gga(T51, T38, T39, T41, plus55_in_aaa(T82, T89, T41))
plus55_in_aaa(0, T99, T99) → U4_aaa(T99, nat40_in_a(T99))
nat40_in_a(0) → nat40_out_a(0)
nat40_in_a(s(T72)) → U1_a(T72, nat40_in_a(T72))
U1_a(T72, nat40_out_a(T72)) → nat40_out_a(s(T72))
U4_aaa(T99, nat40_out_a(T99)) → plus55_out_aaa(0, T99, T99)
plus55_in_aaa(s(T106), T107, s(T109)) → U5_aaa(T106, T107, T109, plus55_in_aaa(T106, T107, T109))
U5_aaa(T106, T107, T109, plus55_out_aaa(T106, T107, T109)) → plus55_out_aaa(s(T106), T107, s(T109))
U17_gga(T51, T38, T39, T41, plus55_out_aaa(T82, T89, T41)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)

The argument filtering Pi contains the following mapping:
ways1_in_gga(x1, x2, x3)  =  ways1_in_gga(x1, x2)
0  =  0
ways1_out_gga(x1, x2, x3)  =  ways1_out_gga(x1, x2)
[]  =  []
s(x1)  =  s(x1)
.(x1, x2)  =  .(x1, x2)
U11_gga(x1, x2, x3, x4, x5)  =  U11_gga(x1, x2, x3, x5)
plus32_in_gag(x1, x2, x3)  =  plus32_in_gag(x1, x3)
U9_gag(x1, x2, x3, x4)  =  U9_gag(x1, x3, x4)
plus36_in_gag(x1, x2, x3)  =  plus36_in_gag(x1, x3)
U2_gag(x1, x2)  =  U2_gag(x1, x2)
nat40_in_g(x1)  =  nat40_in_g(x1)
nat40_out_g(x1)  =  nat40_out_g(x1)
U1_g(x1, x2)  =  U1_g(x1, x2)
plus36_out_gag(x1, x2, x3)  =  plus36_out_gag(x1, x2, x3)
U3_gag(x1, x2, x3, x4)  =  U3_gag(x1, x3, x4)
plus32_out_gag(x1, x2, x3)  =  plus32_out_gag(x1, x2, x3)
U12_gga(x1, x2, x3, x4, x5)  =  U12_gga(x1, x2, x3, x5)
U13_gga(x1, x2, x3, x4, x5)  =  U13_gga(x1, x2, x3, x5)
U18_gga(x1, x2, x3, x4, x5)  =  U18_gga(x1, x2, x3, x5)
plus68_in_gag(x1, x2, x3)  =  plus68_in_gag(x1, x3)
U10_gag(x1, x2, x3, x4)  =  U10_gag(x1, x3, x4)
plus72_in_gag(x1, x2, x3)  =  plus72_in_gag(x1, x3)
U7_gag(x1, x2)  =  U7_gag(x1, x2)
nat80_in_g(x1)  =  nat80_in_g(x1)
nat80_out_g(x1)  =  nat80_out_g(x1)
U6_g(x1, x2)  =  U6_g(x1, x2)
plus72_out_gag(x1, x2, x3)  =  plus72_out_gag(x1, x2, x3)
U8_gag(x1, x2, x3, x4)  =  U8_gag(x1, x3, x4)
plus68_out_gag(x1, x2, x3)  =  plus68_out_gag(x1, x2, x3)
U19_gga(x1, x2, x3, x4, x5)  =  U19_gga(x1, x2, x3, x5)
U20_gga(x1, x2, x3, x4, x5)  =  U20_gga(x1, x2, x3, x5)
U14_gga(x1, x2, x3, x4, x5, x6)  =  U14_gga(x1, x2, x3, x5, x6)
U15_gga(x1, x2, x3, x4, x5)  =  U15_gga(x1, x2, x3, x5)
U16_gga(x1, x2, x3, x4, x5, x6)  =  U16_gga(x1, x2, x3, x6)
U17_gga(x1, x2, x3, x4, x5)  =  U17_gga(x1, x2, x3, x5)
plus55_in_aaa(x1, x2, x3)  =  plus55_in_aaa
U4_aaa(x1, x2)  =  U4_aaa(x2)
nat40_in_a(x1)  =  nat40_in_a
nat40_out_a(x1)  =  nat40_out_a(x1)
U1_a(x1, x2)  =  U1_a(x2)
plus55_out_aaa(x1, x2, x3)  =  plus55_out_aaa(x1, x2, x3)
U5_aaa(x1, x2, x3, x4)  =  U5_aaa(x4)

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

WAYS1_IN_GGA(s(T51), .(s(T38), T39), T41) → U11_GGA(T51, T38, T39, T41, plus32_in_gag(T38, X82, T51))
WAYS1_IN_GGA(s(T51), .(s(T38), T39), T41) → PLUS32_IN_GAG(T38, X82, T51)
PLUS32_IN_GAG(T62, X119, T63) → U9_GAG(T62, X119, T63, plus36_in_gag(T62, X119, T63))
PLUS32_IN_GAG(T62, X119, T63) → PLUS36_IN_GAG(T62, X119, T63)
PLUS36_IN_GAG(0, T69, T69) → U2_GAG(T69, nat40_in_g(T69))
PLUS36_IN_GAG(0, T69, T69) → NAT40_IN_G(T69)
NAT40_IN_G(s(T72)) → U1_G(T72, nat40_in_g(T72))
NAT40_IN_G(s(T72)) → NAT40_IN_G(T72)
PLUS36_IN_GAG(s(T77), X148, s(T78)) → U3_GAG(T77, X148, T78, plus36_in_gag(T77, X148, T78))
PLUS36_IN_GAG(s(T77), X148, s(T78)) → PLUS36_IN_GAG(T77, X148, T78)
WAYS1_IN_GGA(s(T51), .(s(T38), T39), T41) → U12_GGA(T51, T38, T39, T41, plus32_in_gag(T38, T54, T51))
U12_GGA(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U13_GGA(T51, T38, T39, T41, ways1_in_gga(s(T51), T39, X83))
U12_GGA(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → WAYS1_IN_GGA(s(T51), T39, X83)
WAYS1_IN_GGA(s(T132), .(s(T122), T123), T125) → U18_GGA(T132, T122, T123, T125, plus68_in_gag(T132, X203, T122))
WAYS1_IN_GGA(s(T132), .(s(T122), T123), T125) → PLUS68_IN_GAG(T132, X203, T122)
PLUS68_IN_GAG(T142, X234, T143) → U10_GAG(T142, X234, T143, plus72_in_gag(T142, X234, T143))
PLUS68_IN_GAG(T142, X234, T143) → PLUS72_IN_GAG(T142, X234, T143)
PLUS72_IN_GAG(0, X255, s(X255)) → U7_GAG(X255, nat80_in_g(X255))
PLUS72_IN_GAG(0, X255, s(X255)) → NAT80_IN_G(X255)
NAT80_IN_G(s(X261)) → U6_G(X261, nat80_in_g(X261))
NAT80_IN_G(s(X261)) → NAT80_IN_G(X261)
PLUS72_IN_GAG(s(T148), X273, s(T149)) → U8_GAG(T148, X273, T149, plus72_in_gag(T148, X273, T149))
PLUS72_IN_GAG(s(T148), X273, s(T149)) → PLUS72_IN_GAG(T148, X273, T149)
WAYS1_IN_GGA(s(T132), .(s(T122), T123), T125) → U19_GGA(T132, T122, T123, T125, plus68_in_gag(T132, T135, T122))
U19_GGA(T132, T122, T123, T125, plus68_out_gag(T132, T135, T122)) → U20_GGA(T132, T122, T123, T125, ways1_in_gga(s(T132), T123, T125))
U19_GGA(T132, T122, T123, T125, plus68_out_gag(T132, T135, T122)) → WAYS1_IN_GGA(s(T132), T123, T125)
U12_GGA(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U14_GGA(T51, T38, T39, T41, T54, ways1_in_gga(s(T51), T39, T82))
U14_GGA(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U15_GGA(T51, T38, T39, T41, ways1_in_gga(T54, .(s(T38), T39), X84))
U14_GGA(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → WAYS1_IN_GGA(T54, .(s(T38), T39), X84)
U14_GGA(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U16_GGA(T51, T38, T39, T41, T82, ways1_in_gga(T54, .(s(T38), T39), T89))
U16_GGA(T51, T38, T39, T41, T82, ways1_out_gga(T54, .(s(T38), T39), T89)) → U17_GGA(T51, T38, T39, T41, plus55_in_aaa(T82, T89, T41))
U16_GGA(T51, T38, T39, T41, T82, ways1_out_gga(T54, .(s(T38), T39), T89)) → PLUS55_IN_AAA(T82, T89, T41)
PLUS55_IN_AAA(0, T99, T99) → U4_AAA(T99, nat40_in_a(T99))
PLUS55_IN_AAA(0, T99, T99) → NAT40_IN_A(T99)
NAT40_IN_A(s(T72)) → U1_A(T72, nat40_in_a(T72))
NAT40_IN_A(s(T72)) → NAT40_IN_A(T72)
PLUS55_IN_AAA(s(T106), T107, s(T109)) → U5_AAA(T106, T107, T109, plus55_in_aaa(T106, T107, T109))
PLUS55_IN_AAA(s(T106), T107, s(T109)) → PLUS55_IN_AAA(T106, T107, T109)

The TRS R consists of the following rules:

ways1_in_gga(0, T5, s(0)) → ways1_out_gga(0, T5, s(0))
ways1_in_gga(0, [], 0) → ways1_out_gga(0, [], 0)
ways1_in_gga(T30, [], 0) → ways1_out_gga(T30, [], 0)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U11_gga(T51, T38, T39, T41, plus32_in_gag(T38, X82, T51))
plus32_in_gag(T62, X119, T63) → U9_gag(T62, X119, T63, plus36_in_gag(T62, X119, T63))
plus36_in_gag(0, T69, T69) → U2_gag(T69, nat40_in_g(T69))
nat40_in_g(0) → nat40_out_g(0)
nat40_in_g(s(T72)) → U1_g(T72, nat40_in_g(T72))
U1_g(T72, nat40_out_g(T72)) → nat40_out_g(s(T72))
U2_gag(T69, nat40_out_g(T69)) → plus36_out_gag(0, T69, T69)
plus36_in_gag(s(T77), X148, s(T78)) → U3_gag(T77, X148, T78, plus36_in_gag(T77, X148, T78))
U3_gag(T77, X148, T78, plus36_out_gag(T77, X148, T78)) → plus36_out_gag(s(T77), X148, s(T78))
U9_gag(T62, X119, T63, plus36_out_gag(T62, X119, T63)) → plus32_out_gag(T62, X119, T63)
U11_gga(T51, T38, T39, T41, plus32_out_gag(T38, X82, T51)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U12_gga(T51, T38, T39, T41, plus32_in_gag(T38, T54, T51))
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U13_gga(T51, T38, T39, T41, ways1_in_gga(s(T51), T39, X83))
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U18_gga(T132, T122, T123, T125, plus68_in_gag(T132, X203, T122))
plus68_in_gag(T142, X234, T143) → U10_gag(T142, X234, T143, plus72_in_gag(T142, X234, T143))
plus72_in_gag(0, X255, s(X255)) → U7_gag(X255, nat80_in_g(X255))
nat80_in_g(0) → nat80_out_g(0)
nat80_in_g(s(X261)) → U6_g(X261, nat80_in_g(X261))
U6_g(X261, nat80_out_g(X261)) → nat80_out_g(s(X261))
U7_gag(X255, nat80_out_g(X255)) → plus72_out_gag(0, X255, s(X255))
plus72_in_gag(s(T148), X273, s(T149)) → U8_gag(T148, X273, T149, plus72_in_gag(T148, X273, T149))
U8_gag(T148, X273, T149, plus72_out_gag(T148, X273, T149)) → plus72_out_gag(s(T148), X273, s(T149))
U10_gag(T142, X234, T143, plus72_out_gag(T142, X234, T143)) → plus68_out_gag(T142, X234, T143)
U18_gga(T132, T122, T123, T125, plus68_out_gag(T132, X203, T122)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U19_gga(T132, T122, T123, T125, plus68_in_gag(T132, T135, T122))
U19_gga(T132, T122, T123, T125, plus68_out_gag(T132, T135, T122)) → U20_gga(T132, T122, T123, T125, ways1_in_gga(s(T132), T123, T125))
U20_gga(T132, T122, T123, T125, ways1_out_gga(s(T132), T123, T125)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
U13_gga(T51, T38, T39, T41, ways1_out_gga(s(T51), T39, X83)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U14_gga(T51, T38, T39, T41, T54, ways1_in_gga(s(T51), T39, T82))
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U15_gga(T51, T38, T39, T41, ways1_in_gga(T54, .(s(T38), T39), X84))
U15_gga(T51, T38, T39, T41, ways1_out_gga(T54, .(s(T38), T39), X84)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U16_gga(T51, T38, T39, T41, T82, ways1_in_gga(T54, .(s(T38), T39), T89))
U16_gga(T51, T38, T39, T41, T82, ways1_out_gga(T54, .(s(T38), T39), T89)) → U17_gga(T51, T38, T39, T41, plus55_in_aaa(T82, T89, T41))
plus55_in_aaa(0, T99, T99) → U4_aaa(T99, nat40_in_a(T99))
nat40_in_a(0) → nat40_out_a(0)
nat40_in_a(s(T72)) → U1_a(T72, nat40_in_a(T72))
U1_a(T72, nat40_out_a(T72)) → nat40_out_a(s(T72))
U4_aaa(T99, nat40_out_a(T99)) → plus55_out_aaa(0, T99, T99)
plus55_in_aaa(s(T106), T107, s(T109)) → U5_aaa(T106, T107, T109, plus55_in_aaa(T106, T107, T109))
U5_aaa(T106, T107, T109, plus55_out_aaa(T106, T107, T109)) → plus55_out_aaa(s(T106), T107, s(T109))
U17_gga(T51, T38, T39, T41, plus55_out_aaa(T82, T89, T41)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)

The argument filtering Pi contains the following mapping:
ways1_in_gga(x1, x2, x3)  =  ways1_in_gga(x1, x2)
0  =  0
ways1_out_gga(x1, x2, x3)  =  ways1_out_gga(x1, x2)
[]  =  []
s(x1)  =  s(x1)
.(x1, x2)  =  .(x1, x2)
U11_gga(x1, x2, x3, x4, x5)  =  U11_gga(x1, x2, x3, x5)
plus32_in_gag(x1, x2, x3)  =  plus32_in_gag(x1, x3)
U9_gag(x1, x2, x3, x4)  =  U9_gag(x1, x3, x4)
plus36_in_gag(x1, x2, x3)  =  plus36_in_gag(x1, x3)
U2_gag(x1, x2)  =  U2_gag(x1, x2)
nat40_in_g(x1)  =  nat40_in_g(x1)
nat40_out_g(x1)  =  nat40_out_g(x1)
U1_g(x1, x2)  =  U1_g(x1, x2)
plus36_out_gag(x1, x2, x3)  =  plus36_out_gag(x1, x2, x3)
U3_gag(x1, x2, x3, x4)  =  U3_gag(x1, x3, x4)
plus32_out_gag(x1, x2, x3)  =  plus32_out_gag(x1, x2, x3)
U12_gga(x1, x2, x3, x4, x5)  =  U12_gga(x1, x2, x3, x5)
U13_gga(x1, x2, x3, x4, x5)  =  U13_gga(x1, x2, x3, x5)
U18_gga(x1, x2, x3, x4, x5)  =  U18_gga(x1, x2, x3, x5)
plus68_in_gag(x1, x2, x3)  =  plus68_in_gag(x1, x3)
U10_gag(x1, x2, x3, x4)  =  U10_gag(x1, x3, x4)
plus72_in_gag(x1, x2, x3)  =  plus72_in_gag(x1, x3)
U7_gag(x1, x2)  =  U7_gag(x1, x2)
nat80_in_g(x1)  =  nat80_in_g(x1)
nat80_out_g(x1)  =  nat80_out_g(x1)
U6_g(x1, x2)  =  U6_g(x1, x2)
plus72_out_gag(x1, x2, x3)  =  plus72_out_gag(x1, x2, x3)
U8_gag(x1, x2, x3, x4)  =  U8_gag(x1, x3, x4)
plus68_out_gag(x1, x2, x3)  =  plus68_out_gag(x1, x2, x3)
U19_gga(x1, x2, x3, x4, x5)  =  U19_gga(x1, x2, x3, x5)
U20_gga(x1, x2, x3, x4, x5)  =  U20_gga(x1, x2, x3, x5)
U14_gga(x1, x2, x3, x4, x5, x6)  =  U14_gga(x1, x2, x3, x5, x6)
U15_gga(x1, x2, x3, x4, x5)  =  U15_gga(x1, x2, x3, x5)
U16_gga(x1, x2, x3, x4, x5, x6)  =  U16_gga(x1, x2, x3, x6)
U17_gga(x1, x2, x3, x4, x5)  =  U17_gga(x1, x2, x3, x5)
plus55_in_aaa(x1, x2, x3)  =  plus55_in_aaa
U4_aaa(x1, x2)  =  U4_aaa(x2)
nat40_in_a(x1)  =  nat40_in_a
nat40_out_a(x1)  =  nat40_out_a(x1)
U1_a(x1, x2)  =  U1_a(x2)
plus55_out_aaa(x1, x2, x3)  =  plus55_out_aaa(x1, x2, x3)
U5_aaa(x1, x2, x3, x4)  =  U5_aaa(x4)
WAYS1_IN_GGA(x1, x2, x3)  =  WAYS1_IN_GGA(x1, x2)
U11_GGA(x1, x2, x3, x4, x5)  =  U11_GGA(x1, x2, x3, x5)
PLUS32_IN_GAG(x1, x2, x3)  =  PLUS32_IN_GAG(x1, x3)
U9_GAG(x1, x2, x3, x4)  =  U9_GAG(x1, x3, x4)
PLUS36_IN_GAG(x1, x2, x3)  =  PLUS36_IN_GAG(x1, x3)
U2_GAG(x1, x2)  =  U2_GAG(x1, x2)
NAT40_IN_G(x1)  =  NAT40_IN_G(x1)
U1_G(x1, x2)  =  U1_G(x1, x2)
U3_GAG(x1, x2, x3, x4)  =  U3_GAG(x1, x3, x4)
U12_GGA(x1, x2, x3, x4, x5)  =  U12_GGA(x1, x2, x3, x5)
U13_GGA(x1, x2, x3, x4, x5)  =  U13_GGA(x1, x2, x3, x5)
U18_GGA(x1, x2, x3, x4, x5)  =  U18_GGA(x1, x2, x3, x5)
PLUS68_IN_GAG(x1, x2, x3)  =  PLUS68_IN_GAG(x1, x3)
U10_GAG(x1, x2, x3, x4)  =  U10_GAG(x1, x3, x4)
PLUS72_IN_GAG(x1, x2, x3)  =  PLUS72_IN_GAG(x1, x3)
U7_GAG(x1, x2)  =  U7_GAG(x1, x2)
NAT80_IN_G(x1)  =  NAT80_IN_G(x1)
U6_G(x1, x2)  =  U6_G(x1, x2)
U8_GAG(x1, x2, x3, x4)  =  U8_GAG(x1, x3, x4)
U19_GGA(x1, x2, x3, x4, x5)  =  U19_GGA(x1, x2, x3, x5)
U20_GGA(x1, x2, x3, x4, x5)  =  U20_GGA(x1, x2, x3, x5)
U14_GGA(x1, x2, x3, x4, x5, x6)  =  U14_GGA(x1, x2, x3, x5, x6)
U15_GGA(x1, x2, x3, x4, x5)  =  U15_GGA(x1, x2, x3, x5)
U16_GGA(x1, x2, x3, x4, x5, x6)  =  U16_GGA(x1, x2, x3, x6)
U17_GGA(x1, x2, x3, x4, x5)  =  U17_GGA(x1, x2, x3, x5)
PLUS55_IN_AAA(x1, x2, x3)  =  PLUS55_IN_AAA
U4_AAA(x1, x2)  =  U4_AAA(x2)
NAT40_IN_A(x1)  =  NAT40_IN_A
U1_A(x1, x2)  =  U1_A(x2)
U5_AAA(x1, x2, x3, x4)  =  U5_AAA(x4)

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

(77) Obligation:

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

WAYS1_IN_GGA(s(T51), .(s(T38), T39), T41) → U11_GGA(T51, T38, T39, T41, plus32_in_gag(T38, X82, T51))
WAYS1_IN_GGA(s(T51), .(s(T38), T39), T41) → PLUS32_IN_GAG(T38, X82, T51)
PLUS32_IN_GAG(T62, X119, T63) → U9_GAG(T62, X119, T63, plus36_in_gag(T62, X119, T63))
PLUS32_IN_GAG(T62, X119, T63) → PLUS36_IN_GAG(T62, X119, T63)
PLUS36_IN_GAG(0, T69, T69) → U2_GAG(T69, nat40_in_g(T69))
PLUS36_IN_GAG(0, T69, T69) → NAT40_IN_G(T69)
NAT40_IN_G(s(T72)) → U1_G(T72, nat40_in_g(T72))
NAT40_IN_G(s(T72)) → NAT40_IN_G(T72)
PLUS36_IN_GAG(s(T77), X148, s(T78)) → U3_GAG(T77, X148, T78, plus36_in_gag(T77, X148, T78))
PLUS36_IN_GAG(s(T77), X148, s(T78)) → PLUS36_IN_GAG(T77, X148, T78)
WAYS1_IN_GGA(s(T51), .(s(T38), T39), T41) → U12_GGA(T51, T38, T39, T41, plus32_in_gag(T38, T54, T51))
U12_GGA(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U13_GGA(T51, T38, T39, T41, ways1_in_gga(s(T51), T39, X83))
U12_GGA(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → WAYS1_IN_GGA(s(T51), T39, X83)
WAYS1_IN_GGA(s(T132), .(s(T122), T123), T125) → U18_GGA(T132, T122, T123, T125, plus68_in_gag(T132, X203, T122))
WAYS1_IN_GGA(s(T132), .(s(T122), T123), T125) → PLUS68_IN_GAG(T132, X203, T122)
PLUS68_IN_GAG(T142, X234, T143) → U10_GAG(T142, X234, T143, plus72_in_gag(T142, X234, T143))
PLUS68_IN_GAG(T142, X234, T143) → PLUS72_IN_GAG(T142, X234, T143)
PLUS72_IN_GAG(0, X255, s(X255)) → U7_GAG(X255, nat80_in_g(X255))
PLUS72_IN_GAG(0, X255, s(X255)) → NAT80_IN_G(X255)
NAT80_IN_G(s(X261)) → U6_G(X261, nat80_in_g(X261))
NAT80_IN_G(s(X261)) → NAT80_IN_G(X261)
PLUS72_IN_GAG(s(T148), X273, s(T149)) → U8_GAG(T148, X273, T149, plus72_in_gag(T148, X273, T149))
PLUS72_IN_GAG(s(T148), X273, s(T149)) → PLUS72_IN_GAG(T148, X273, T149)
WAYS1_IN_GGA(s(T132), .(s(T122), T123), T125) → U19_GGA(T132, T122, T123, T125, plus68_in_gag(T132, T135, T122))
U19_GGA(T132, T122, T123, T125, plus68_out_gag(T132, T135, T122)) → U20_GGA(T132, T122, T123, T125, ways1_in_gga(s(T132), T123, T125))
U19_GGA(T132, T122, T123, T125, plus68_out_gag(T132, T135, T122)) → WAYS1_IN_GGA(s(T132), T123, T125)
U12_GGA(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U14_GGA(T51, T38, T39, T41, T54, ways1_in_gga(s(T51), T39, T82))
U14_GGA(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U15_GGA(T51, T38, T39, T41, ways1_in_gga(T54, .(s(T38), T39), X84))
U14_GGA(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → WAYS1_IN_GGA(T54, .(s(T38), T39), X84)
U14_GGA(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U16_GGA(T51, T38, T39, T41, T82, ways1_in_gga(T54, .(s(T38), T39), T89))
U16_GGA(T51, T38, T39, T41, T82, ways1_out_gga(T54, .(s(T38), T39), T89)) → U17_GGA(T51, T38, T39, T41, plus55_in_aaa(T82, T89, T41))
U16_GGA(T51, T38, T39, T41, T82, ways1_out_gga(T54, .(s(T38), T39), T89)) → PLUS55_IN_AAA(T82, T89, T41)
PLUS55_IN_AAA(0, T99, T99) → U4_AAA(T99, nat40_in_a(T99))
PLUS55_IN_AAA(0, T99, T99) → NAT40_IN_A(T99)
NAT40_IN_A(s(T72)) → U1_A(T72, nat40_in_a(T72))
NAT40_IN_A(s(T72)) → NAT40_IN_A(T72)
PLUS55_IN_AAA(s(T106), T107, s(T109)) → U5_AAA(T106, T107, T109, plus55_in_aaa(T106, T107, T109))
PLUS55_IN_AAA(s(T106), T107, s(T109)) → PLUS55_IN_AAA(T106, T107, T109)

The TRS R consists of the following rules:

ways1_in_gga(0, T5, s(0)) → ways1_out_gga(0, T5, s(0))
ways1_in_gga(0, [], 0) → ways1_out_gga(0, [], 0)
ways1_in_gga(T30, [], 0) → ways1_out_gga(T30, [], 0)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U11_gga(T51, T38, T39, T41, plus32_in_gag(T38, X82, T51))
plus32_in_gag(T62, X119, T63) → U9_gag(T62, X119, T63, plus36_in_gag(T62, X119, T63))
plus36_in_gag(0, T69, T69) → U2_gag(T69, nat40_in_g(T69))
nat40_in_g(0) → nat40_out_g(0)
nat40_in_g(s(T72)) → U1_g(T72, nat40_in_g(T72))
U1_g(T72, nat40_out_g(T72)) → nat40_out_g(s(T72))
U2_gag(T69, nat40_out_g(T69)) → plus36_out_gag(0, T69, T69)
plus36_in_gag(s(T77), X148, s(T78)) → U3_gag(T77, X148, T78, plus36_in_gag(T77, X148, T78))
U3_gag(T77, X148, T78, plus36_out_gag(T77, X148, T78)) → plus36_out_gag(s(T77), X148, s(T78))
U9_gag(T62, X119, T63, plus36_out_gag(T62, X119, T63)) → plus32_out_gag(T62, X119, T63)
U11_gga(T51, T38, T39, T41, plus32_out_gag(T38, X82, T51)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U12_gga(T51, T38, T39, T41, plus32_in_gag(T38, T54, T51))
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U13_gga(T51, T38, T39, T41, ways1_in_gga(s(T51), T39, X83))
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U18_gga(T132, T122, T123, T125, plus68_in_gag(T132, X203, T122))
plus68_in_gag(T142, X234, T143) → U10_gag(T142, X234, T143, plus72_in_gag(T142, X234, T143))
plus72_in_gag(0, X255, s(X255)) → U7_gag(X255, nat80_in_g(X255))
nat80_in_g(0) → nat80_out_g(0)
nat80_in_g(s(X261)) → U6_g(X261, nat80_in_g(X261))
U6_g(X261, nat80_out_g(X261)) → nat80_out_g(s(X261))
U7_gag(X255, nat80_out_g(X255)) → plus72_out_gag(0, X255, s(X255))
plus72_in_gag(s(T148), X273, s(T149)) → U8_gag(T148, X273, T149, plus72_in_gag(T148, X273, T149))
U8_gag(T148, X273, T149, plus72_out_gag(T148, X273, T149)) → plus72_out_gag(s(T148), X273, s(T149))
U10_gag(T142, X234, T143, plus72_out_gag(T142, X234, T143)) → plus68_out_gag(T142, X234, T143)
U18_gga(T132, T122, T123, T125, plus68_out_gag(T132, X203, T122)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U19_gga(T132, T122, T123, T125, plus68_in_gag(T132, T135, T122))
U19_gga(T132, T122, T123, T125, plus68_out_gag(T132, T135, T122)) → U20_gga(T132, T122, T123, T125, ways1_in_gga(s(T132), T123, T125))
U20_gga(T132, T122, T123, T125, ways1_out_gga(s(T132), T123, T125)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
U13_gga(T51, T38, T39, T41, ways1_out_gga(s(T51), T39, X83)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U14_gga(T51, T38, T39, T41, T54, ways1_in_gga(s(T51), T39, T82))
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U15_gga(T51, T38, T39, T41, ways1_in_gga(T54, .(s(T38), T39), X84))
U15_gga(T51, T38, T39, T41, ways1_out_gga(T54, .(s(T38), T39), X84)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U16_gga(T51, T38, T39, T41, T82, ways1_in_gga(T54, .(s(T38), T39), T89))
U16_gga(T51, T38, T39, T41, T82, ways1_out_gga(T54, .(s(T38), T39), T89)) → U17_gga(T51, T38, T39, T41, plus55_in_aaa(T82, T89, T41))
plus55_in_aaa(0, T99, T99) → U4_aaa(T99, nat40_in_a(T99))
nat40_in_a(0) → nat40_out_a(0)
nat40_in_a(s(T72)) → U1_a(T72, nat40_in_a(T72))
U1_a(T72, nat40_out_a(T72)) → nat40_out_a(s(T72))
U4_aaa(T99, nat40_out_a(T99)) → plus55_out_aaa(0, T99, T99)
plus55_in_aaa(s(T106), T107, s(T109)) → U5_aaa(T106, T107, T109, plus55_in_aaa(T106, T107, T109))
U5_aaa(T106, T107, T109, plus55_out_aaa(T106, T107, T109)) → plus55_out_aaa(s(T106), T107, s(T109))
U17_gga(T51, T38, T39, T41, plus55_out_aaa(T82, T89, T41)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)

The argument filtering Pi contains the following mapping:
ways1_in_gga(x1, x2, x3)  =  ways1_in_gga(x1, x2)
0  =  0
ways1_out_gga(x1, x2, x3)  =  ways1_out_gga(x1, x2)
[]  =  []
s(x1)  =  s(x1)
.(x1, x2)  =  .(x1, x2)
U11_gga(x1, x2, x3, x4, x5)  =  U11_gga(x1, x2, x3, x5)
plus32_in_gag(x1, x2, x3)  =  plus32_in_gag(x1, x3)
U9_gag(x1, x2, x3, x4)  =  U9_gag(x1, x3, x4)
plus36_in_gag(x1, x2, x3)  =  plus36_in_gag(x1, x3)
U2_gag(x1, x2)  =  U2_gag(x1, x2)
nat40_in_g(x1)  =  nat40_in_g(x1)
nat40_out_g(x1)  =  nat40_out_g(x1)
U1_g(x1, x2)  =  U1_g(x1, x2)
plus36_out_gag(x1, x2, x3)  =  plus36_out_gag(x1, x2, x3)
U3_gag(x1, x2, x3, x4)  =  U3_gag(x1, x3, x4)
plus32_out_gag(x1, x2, x3)  =  plus32_out_gag(x1, x2, x3)
U12_gga(x1, x2, x3, x4, x5)  =  U12_gga(x1, x2, x3, x5)
U13_gga(x1, x2, x3, x4, x5)  =  U13_gga(x1, x2, x3, x5)
U18_gga(x1, x2, x3, x4, x5)  =  U18_gga(x1, x2, x3, x5)
plus68_in_gag(x1, x2, x3)  =  plus68_in_gag(x1, x3)
U10_gag(x1, x2, x3, x4)  =  U10_gag(x1, x3, x4)
plus72_in_gag(x1, x2, x3)  =  plus72_in_gag(x1, x3)
U7_gag(x1, x2)  =  U7_gag(x1, x2)
nat80_in_g(x1)  =  nat80_in_g(x1)
nat80_out_g(x1)  =  nat80_out_g(x1)
U6_g(x1, x2)  =  U6_g(x1, x2)
plus72_out_gag(x1, x2, x3)  =  plus72_out_gag(x1, x2, x3)
U8_gag(x1, x2, x3, x4)  =  U8_gag(x1, x3, x4)
plus68_out_gag(x1, x2, x3)  =  plus68_out_gag(x1, x2, x3)
U19_gga(x1, x2, x3, x4, x5)  =  U19_gga(x1, x2, x3, x5)
U20_gga(x1, x2, x3, x4, x5)  =  U20_gga(x1, x2, x3, x5)
U14_gga(x1, x2, x3, x4, x5, x6)  =  U14_gga(x1, x2, x3, x5, x6)
U15_gga(x1, x2, x3, x4, x5)  =  U15_gga(x1, x2, x3, x5)
U16_gga(x1, x2, x3, x4, x5, x6)  =  U16_gga(x1, x2, x3, x6)
U17_gga(x1, x2, x3, x4, x5)  =  U17_gga(x1, x2, x3, x5)
plus55_in_aaa(x1, x2, x3)  =  plus55_in_aaa
U4_aaa(x1, x2)  =  U4_aaa(x2)
nat40_in_a(x1)  =  nat40_in_a
nat40_out_a(x1)  =  nat40_out_a(x1)
U1_a(x1, x2)  =  U1_a(x2)
plus55_out_aaa(x1, x2, x3)  =  plus55_out_aaa(x1, x2, x3)
U5_aaa(x1, x2, x3, x4)  =  U5_aaa(x4)
WAYS1_IN_GGA(x1, x2, x3)  =  WAYS1_IN_GGA(x1, x2)
U11_GGA(x1, x2, x3, x4, x5)  =  U11_GGA(x1, x2, x3, x5)
PLUS32_IN_GAG(x1, x2, x3)  =  PLUS32_IN_GAG(x1, x3)
U9_GAG(x1, x2, x3, x4)  =  U9_GAG(x1, x3, x4)
PLUS36_IN_GAG(x1, x2, x3)  =  PLUS36_IN_GAG(x1, x3)
U2_GAG(x1, x2)  =  U2_GAG(x1, x2)
NAT40_IN_G(x1)  =  NAT40_IN_G(x1)
U1_G(x1, x2)  =  U1_G(x1, x2)
U3_GAG(x1, x2, x3, x4)  =  U3_GAG(x1, x3, x4)
U12_GGA(x1, x2, x3, x4, x5)  =  U12_GGA(x1, x2, x3, x5)
U13_GGA(x1, x2, x3, x4, x5)  =  U13_GGA(x1, x2, x3, x5)
U18_GGA(x1, x2, x3, x4, x5)  =  U18_GGA(x1, x2, x3, x5)
PLUS68_IN_GAG(x1, x2, x3)  =  PLUS68_IN_GAG(x1, x3)
U10_GAG(x1, x2, x3, x4)  =  U10_GAG(x1, x3, x4)
PLUS72_IN_GAG(x1, x2, x3)  =  PLUS72_IN_GAG(x1, x3)
U7_GAG(x1, x2)  =  U7_GAG(x1, x2)
NAT80_IN_G(x1)  =  NAT80_IN_G(x1)
U6_G(x1, x2)  =  U6_G(x1, x2)
U8_GAG(x1, x2, x3, x4)  =  U8_GAG(x1, x3, x4)
U19_GGA(x1, x2, x3, x4, x5)  =  U19_GGA(x1, x2, x3, x5)
U20_GGA(x1, x2, x3, x4, x5)  =  U20_GGA(x1, x2, x3, x5)
U14_GGA(x1, x2, x3, x4, x5, x6)  =  U14_GGA(x1, x2, x3, x5, x6)
U15_GGA(x1, x2, x3, x4, x5)  =  U15_GGA(x1, x2, x3, x5)
U16_GGA(x1, x2, x3, x4, x5, x6)  =  U16_GGA(x1, x2, x3, x6)
U17_GGA(x1, x2, x3, x4, x5)  =  U17_GGA(x1, x2, x3, x5)
PLUS55_IN_AAA(x1, x2, x3)  =  PLUS55_IN_AAA
U4_AAA(x1, x2)  =  U4_AAA(x2)
NAT40_IN_A(x1)  =  NAT40_IN_A
U1_A(x1, x2)  =  U1_A(x2)
U5_AAA(x1, x2, x3, x4)  =  U5_AAA(x4)

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

(78) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LOPSTR] contains 7 SCCs with 26 less nodes.

(79) Complex Obligation (AND)

(80) Obligation:

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

NAT40_IN_A(s(T72)) → NAT40_IN_A(T72)

The TRS R consists of the following rules:

ways1_in_gga(0, T5, s(0)) → ways1_out_gga(0, T5, s(0))
ways1_in_gga(0, [], 0) → ways1_out_gga(0, [], 0)
ways1_in_gga(T30, [], 0) → ways1_out_gga(T30, [], 0)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U11_gga(T51, T38, T39, T41, plus32_in_gag(T38, X82, T51))
plus32_in_gag(T62, X119, T63) → U9_gag(T62, X119, T63, plus36_in_gag(T62, X119, T63))
plus36_in_gag(0, T69, T69) → U2_gag(T69, nat40_in_g(T69))
nat40_in_g(0) → nat40_out_g(0)
nat40_in_g(s(T72)) → U1_g(T72, nat40_in_g(T72))
U1_g(T72, nat40_out_g(T72)) → nat40_out_g(s(T72))
U2_gag(T69, nat40_out_g(T69)) → plus36_out_gag(0, T69, T69)
plus36_in_gag(s(T77), X148, s(T78)) → U3_gag(T77, X148, T78, plus36_in_gag(T77, X148, T78))
U3_gag(T77, X148, T78, plus36_out_gag(T77, X148, T78)) → plus36_out_gag(s(T77), X148, s(T78))
U9_gag(T62, X119, T63, plus36_out_gag(T62, X119, T63)) → plus32_out_gag(T62, X119, T63)
U11_gga(T51, T38, T39, T41, plus32_out_gag(T38, X82, T51)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U12_gga(T51, T38, T39, T41, plus32_in_gag(T38, T54, T51))
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U13_gga(T51, T38, T39, T41, ways1_in_gga(s(T51), T39, X83))
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U18_gga(T132, T122, T123, T125, plus68_in_gag(T132, X203, T122))
plus68_in_gag(T142, X234, T143) → U10_gag(T142, X234, T143, plus72_in_gag(T142, X234, T143))
plus72_in_gag(0, X255, s(X255)) → U7_gag(X255, nat80_in_g(X255))
nat80_in_g(0) → nat80_out_g(0)
nat80_in_g(s(X261)) → U6_g(X261, nat80_in_g(X261))
U6_g(X261, nat80_out_g(X261)) → nat80_out_g(s(X261))
U7_gag(X255, nat80_out_g(X255)) → plus72_out_gag(0, X255, s(X255))
plus72_in_gag(s(T148), X273, s(T149)) → U8_gag(T148, X273, T149, plus72_in_gag(T148, X273, T149))
U8_gag(T148, X273, T149, plus72_out_gag(T148, X273, T149)) → plus72_out_gag(s(T148), X273, s(T149))
U10_gag(T142, X234, T143, plus72_out_gag(T142, X234, T143)) → plus68_out_gag(T142, X234, T143)
U18_gga(T132, T122, T123, T125, plus68_out_gag(T132, X203, T122)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U19_gga(T132, T122, T123, T125, plus68_in_gag(T132, T135, T122))
U19_gga(T132, T122, T123, T125, plus68_out_gag(T132, T135, T122)) → U20_gga(T132, T122, T123, T125, ways1_in_gga(s(T132), T123, T125))
U20_gga(T132, T122, T123, T125, ways1_out_gga(s(T132), T123, T125)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
U13_gga(T51, T38, T39, T41, ways1_out_gga(s(T51), T39, X83)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U14_gga(T51, T38, T39, T41, T54, ways1_in_gga(s(T51), T39, T82))
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U15_gga(T51, T38, T39, T41, ways1_in_gga(T54, .(s(T38), T39), X84))
U15_gga(T51, T38, T39, T41, ways1_out_gga(T54, .(s(T38), T39), X84)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U16_gga(T51, T38, T39, T41, T82, ways1_in_gga(T54, .(s(T38), T39), T89))
U16_gga(T51, T38, T39, T41, T82, ways1_out_gga(T54, .(s(T38), T39), T89)) → U17_gga(T51, T38, T39, T41, plus55_in_aaa(T82, T89, T41))
plus55_in_aaa(0, T99, T99) → U4_aaa(T99, nat40_in_a(T99))
nat40_in_a(0) → nat40_out_a(0)
nat40_in_a(s(T72)) → U1_a(T72, nat40_in_a(T72))
U1_a(T72, nat40_out_a(T72)) → nat40_out_a(s(T72))
U4_aaa(T99, nat40_out_a(T99)) → plus55_out_aaa(0, T99, T99)
plus55_in_aaa(s(T106), T107, s(T109)) → U5_aaa(T106, T107, T109, plus55_in_aaa(T106, T107, T109))
U5_aaa(T106, T107, T109, plus55_out_aaa(T106, T107, T109)) → plus55_out_aaa(s(T106), T107, s(T109))
U17_gga(T51, T38, T39, T41, plus55_out_aaa(T82, T89, T41)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)

The argument filtering Pi contains the following mapping:
ways1_in_gga(x1, x2, x3)  =  ways1_in_gga(x1, x2)
0  =  0
ways1_out_gga(x1, x2, x3)  =  ways1_out_gga(x1, x2)
[]  =  []
s(x1)  =  s(x1)
.(x1, x2)  =  .(x1, x2)
U11_gga(x1, x2, x3, x4, x5)  =  U11_gga(x1, x2, x3, x5)
plus32_in_gag(x1, x2, x3)  =  plus32_in_gag(x1, x3)
U9_gag(x1, x2, x3, x4)  =  U9_gag(x1, x3, x4)
plus36_in_gag(x1, x2, x3)  =  plus36_in_gag(x1, x3)
U2_gag(x1, x2)  =  U2_gag(x1, x2)
nat40_in_g(x1)  =  nat40_in_g(x1)
nat40_out_g(x1)  =  nat40_out_g(x1)
U1_g(x1, x2)  =  U1_g(x1, x2)
plus36_out_gag(x1, x2, x3)  =  plus36_out_gag(x1, x2, x3)
U3_gag(x1, x2, x3, x4)  =  U3_gag(x1, x3, x4)
plus32_out_gag(x1, x2, x3)  =  plus32_out_gag(x1, x2, x3)
U12_gga(x1, x2, x3, x4, x5)  =  U12_gga(x1, x2, x3, x5)
U13_gga(x1, x2, x3, x4, x5)  =  U13_gga(x1, x2, x3, x5)
U18_gga(x1, x2, x3, x4, x5)  =  U18_gga(x1, x2, x3, x5)
plus68_in_gag(x1, x2, x3)  =  plus68_in_gag(x1, x3)
U10_gag(x1, x2, x3, x4)  =  U10_gag(x1, x3, x4)
plus72_in_gag(x1, x2, x3)  =  plus72_in_gag(x1, x3)
U7_gag(x1, x2)  =  U7_gag(x1, x2)
nat80_in_g(x1)  =  nat80_in_g(x1)
nat80_out_g(x1)  =  nat80_out_g(x1)
U6_g(x1, x2)  =  U6_g(x1, x2)
plus72_out_gag(x1, x2, x3)  =  plus72_out_gag(x1, x2, x3)
U8_gag(x1, x2, x3, x4)  =  U8_gag(x1, x3, x4)
plus68_out_gag(x1, x2, x3)  =  plus68_out_gag(x1, x2, x3)
U19_gga(x1, x2, x3, x4, x5)  =  U19_gga(x1, x2, x3, x5)
U20_gga(x1, x2, x3, x4, x5)  =  U20_gga(x1, x2, x3, x5)
U14_gga(x1, x2, x3, x4, x5, x6)  =  U14_gga(x1, x2, x3, x5, x6)
U15_gga(x1, x2, x3, x4, x5)  =  U15_gga(x1, x2, x3, x5)
U16_gga(x1, x2, x3, x4, x5, x6)  =  U16_gga(x1, x2, x3, x6)
U17_gga(x1, x2, x3, x4, x5)  =  U17_gga(x1, x2, x3, x5)
plus55_in_aaa(x1, x2, x3)  =  plus55_in_aaa
U4_aaa(x1, x2)  =  U4_aaa(x2)
nat40_in_a(x1)  =  nat40_in_a
nat40_out_a(x1)  =  nat40_out_a(x1)
U1_a(x1, x2)  =  U1_a(x2)
plus55_out_aaa(x1, x2, x3)  =  plus55_out_aaa(x1, x2, x3)
U5_aaa(x1, x2, x3, x4)  =  U5_aaa(x4)
NAT40_IN_A(x1)  =  NAT40_IN_A

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

(81) UsableRulesProof (EQUIVALENT transformation)

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

(82) Obligation:

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

NAT40_IN_A(s(T72)) → NAT40_IN_A(T72)

R is empty.
The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
NAT40_IN_A(x1)  =  NAT40_IN_A

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

(83) PiDPToQDPProof (SOUND transformation)

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

(84) Obligation:

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

NAT40_IN_ANAT40_IN_A

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

(85) NonTerminationProof (EQUIVALENT transformation)

We used the non-termination processor [FROCOS05] to show that the DP problem is infinite.
Found a loop by semiunifying a rule from P directly.

s = NAT40_IN_A evaluates to t =NAT40_IN_A

Thus s starts an infinite chain as s semiunifies with t with the following substitutions:
  • Semiunifier: [ ]
  • Matcher: [ ]




Rewriting sequence

The DP semiunifies directly so there is only one rewrite step from NAT40_IN_A to NAT40_IN_A.



(86) NO

(87) Obligation:

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

PLUS55_IN_AAA(s(T106), T107, s(T109)) → PLUS55_IN_AAA(T106, T107, T109)

The TRS R consists of the following rules:

ways1_in_gga(0, T5, s(0)) → ways1_out_gga(0, T5, s(0))
ways1_in_gga(0, [], 0) → ways1_out_gga(0, [], 0)
ways1_in_gga(T30, [], 0) → ways1_out_gga(T30, [], 0)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U11_gga(T51, T38, T39, T41, plus32_in_gag(T38, X82, T51))
plus32_in_gag(T62, X119, T63) → U9_gag(T62, X119, T63, plus36_in_gag(T62, X119, T63))
plus36_in_gag(0, T69, T69) → U2_gag(T69, nat40_in_g(T69))
nat40_in_g(0) → nat40_out_g(0)
nat40_in_g(s(T72)) → U1_g(T72, nat40_in_g(T72))
U1_g(T72, nat40_out_g(T72)) → nat40_out_g(s(T72))
U2_gag(T69, nat40_out_g(T69)) → plus36_out_gag(0, T69, T69)
plus36_in_gag(s(T77), X148, s(T78)) → U3_gag(T77, X148, T78, plus36_in_gag(T77, X148, T78))
U3_gag(T77, X148, T78, plus36_out_gag(T77, X148, T78)) → plus36_out_gag(s(T77), X148, s(T78))
U9_gag(T62, X119, T63, plus36_out_gag(T62, X119, T63)) → plus32_out_gag(T62, X119, T63)
U11_gga(T51, T38, T39, T41, plus32_out_gag(T38, X82, T51)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U12_gga(T51, T38, T39, T41, plus32_in_gag(T38, T54, T51))
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U13_gga(T51, T38, T39, T41, ways1_in_gga(s(T51), T39, X83))
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U18_gga(T132, T122, T123, T125, plus68_in_gag(T132, X203, T122))
plus68_in_gag(T142, X234, T143) → U10_gag(T142, X234, T143, plus72_in_gag(T142, X234, T143))
plus72_in_gag(0, X255, s(X255)) → U7_gag(X255, nat80_in_g(X255))
nat80_in_g(0) → nat80_out_g(0)
nat80_in_g(s(X261)) → U6_g(X261, nat80_in_g(X261))
U6_g(X261, nat80_out_g(X261)) → nat80_out_g(s(X261))
U7_gag(X255, nat80_out_g(X255)) → plus72_out_gag(0, X255, s(X255))
plus72_in_gag(s(T148), X273, s(T149)) → U8_gag(T148, X273, T149, plus72_in_gag(T148, X273, T149))
U8_gag(T148, X273, T149, plus72_out_gag(T148, X273, T149)) → plus72_out_gag(s(T148), X273, s(T149))
U10_gag(T142, X234, T143, plus72_out_gag(T142, X234, T143)) → plus68_out_gag(T142, X234, T143)
U18_gga(T132, T122, T123, T125, plus68_out_gag(T132, X203, T122)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U19_gga(T132, T122, T123, T125, plus68_in_gag(T132, T135, T122))
U19_gga(T132, T122, T123, T125, plus68_out_gag(T132, T135, T122)) → U20_gga(T132, T122, T123, T125, ways1_in_gga(s(T132), T123, T125))
U20_gga(T132, T122, T123, T125, ways1_out_gga(s(T132), T123, T125)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
U13_gga(T51, T38, T39, T41, ways1_out_gga(s(T51), T39, X83)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U14_gga(T51, T38, T39, T41, T54, ways1_in_gga(s(T51), T39, T82))
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U15_gga(T51, T38, T39, T41, ways1_in_gga(T54, .(s(T38), T39), X84))
U15_gga(T51, T38, T39, T41, ways1_out_gga(T54, .(s(T38), T39), X84)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U16_gga(T51, T38, T39, T41, T82, ways1_in_gga(T54, .(s(T38), T39), T89))
U16_gga(T51, T38, T39, T41, T82, ways1_out_gga(T54, .(s(T38), T39), T89)) → U17_gga(T51, T38, T39, T41, plus55_in_aaa(T82, T89, T41))
plus55_in_aaa(0, T99, T99) → U4_aaa(T99, nat40_in_a(T99))
nat40_in_a(0) → nat40_out_a(0)
nat40_in_a(s(T72)) → U1_a(T72, nat40_in_a(T72))
U1_a(T72, nat40_out_a(T72)) → nat40_out_a(s(T72))
U4_aaa(T99, nat40_out_a(T99)) → plus55_out_aaa(0, T99, T99)
plus55_in_aaa(s(T106), T107, s(T109)) → U5_aaa(T106, T107, T109, plus55_in_aaa(T106, T107, T109))
U5_aaa(T106, T107, T109, plus55_out_aaa(T106, T107, T109)) → plus55_out_aaa(s(T106), T107, s(T109))
U17_gga(T51, T38, T39, T41, plus55_out_aaa(T82, T89, T41)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)

The argument filtering Pi contains the following mapping:
ways1_in_gga(x1, x2, x3)  =  ways1_in_gga(x1, x2)
0  =  0
ways1_out_gga(x1, x2, x3)  =  ways1_out_gga(x1, x2)
[]  =  []
s(x1)  =  s(x1)
.(x1, x2)  =  .(x1, x2)
U11_gga(x1, x2, x3, x4, x5)  =  U11_gga(x1, x2, x3, x5)
plus32_in_gag(x1, x2, x3)  =  plus32_in_gag(x1, x3)
U9_gag(x1, x2, x3, x4)  =  U9_gag(x1, x3, x4)
plus36_in_gag(x1, x2, x3)  =  plus36_in_gag(x1, x3)
U2_gag(x1, x2)  =  U2_gag(x1, x2)
nat40_in_g(x1)  =  nat40_in_g(x1)
nat40_out_g(x1)  =  nat40_out_g(x1)
U1_g(x1, x2)  =  U1_g(x1, x2)
plus36_out_gag(x1, x2, x3)  =  plus36_out_gag(x1, x2, x3)
U3_gag(x1, x2, x3, x4)  =  U3_gag(x1, x3, x4)
plus32_out_gag(x1, x2, x3)  =  plus32_out_gag(x1, x2, x3)
U12_gga(x1, x2, x3, x4, x5)  =  U12_gga(x1, x2, x3, x5)
U13_gga(x1, x2, x3, x4, x5)  =  U13_gga(x1, x2, x3, x5)
U18_gga(x1, x2, x3, x4, x5)  =  U18_gga(x1, x2, x3, x5)
plus68_in_gag(x1, x2, x3)  =  plus68_in_gag(x1, x3)
U10_gag(x1, x2, x3, x4)  =  U10_gag(x1, x3, x4)
plus72_in_gag(x1, x2, x3)  =  plus72_in_gag(x1, x3)
U7_gag(x1, x2)  =  U7_gag(x1, x2)
nat80_in_g(x1)  =  nat80_in_g(x1)
nat80_out_g(x1)  =  nat80_out_g(x1)
U6_g(x1, x2)  =  U6_g(x1, x2)
plus72_out_gag(x1, x2, x3)  =  plus72_out_gag(x1, x2, x3)
U8_gag(x1, x2, x3, x4)  =  U8_gag(x1, x3, x4)
plus68_out_gag(x1, x2, x3)  =  plus68_out_gag(x1, x2, x3)
U19_gga(x1, x2, x3, x4, x5)  =  U19_gga(x1, x2, x3, x5)
U20_gga(x1, x2, x3, x4, x5)  =  U20_gga(x1, x2, x3, x5)
U14_gga(x1, x2, x3, x4, x5, x6)  =  U14_gga(x1, x2, x3, x5, x6)
U15_gga(x1, x2, x3, x4, x5)  =  U15_gga(x1, x2, x3, x5)
U16_gga(x1, x2, x3, x4, x5, x6)  =  U16_gga(x1, x2, x3, x6)
U17_gga(x1, x2, x3, x4, x5)  =  U17_gga(x1, x2, x3, x5)
plus55_in_aaa(x1, x2, x3)  =  plus55_in_aaa
U4_aaa(x1, x2)  =  U4_aaa(x2)
nat40_in_a(x1)  =  nat40_in_a
nat40_out_a(x1)  =  nat40_out_a(x1)
U1_a(x1, x2)  =  U1_a(x2)
plus55_out_aaa(x1, x2, x3)  =  plus55_out_aaa(x1, x2, x3)
U5_aaa(x1, x2, x3, x4)  =  U5_aaa(x4)
PLUS55_IN_AAA(x1, x2, x3)  =  PLUS55_IN_AAA

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

(88) UsableRulesProof (EQUIVALENT transformation)

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

(89) Obligation:

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

PLUS55_IN_AAA(s(T106), T107, s(T109)) → PLUS55_IN_AAA(T106, T107, T109)

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

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

(90) PiDPToQDPProof (SOUND transformation)

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

(91) Obligation:

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

PLUS55_IN_AAAPLUS55_IN_AAA

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

(92) NonTerminationProof (EQUIVALENT transformation)

We used the non-termination processor [FROCOS05] to show that the DP problem is infinite.
Found a loop by semiunifying a rule from P directly.

s = PLUS55_IN_AAA evaluates to t =PLUS55_IN_AAA

Thus s starts an infinite chain as s semiunifies with t with the following substitutions:
  • Semiunifier: [ ]
  • Matcher: [ ]




Rewriting sequence

The DP semiunifies directly so there is only one rewrite step from PLUS55_IN_AAA to PLUS55_IN_AAA.



(93) NO

(94) Obligation:

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

NAT80_IN_G(s(X261)) → NAT80_IN_G(X261)

The TRS R consists of the following rules:

ways1_in_gga(0, T5, s(0)) → ways1_out_gga(0, T5, s(0))
ways1_in_gga(0, [], 0) → ways1_out_gga(0, [], 0)
ways1_in_gga(T30, [], 0) → ways1_out_gga(T30, [], 0)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U11_gga(T51, T38, T39, T41, plus32_in_gag(T38, X82, T51))
plus32_in_gag(T62, X119, T63) → U9_gag(T62, X119, T63, plus36_in_gag(T62, X119, T63))
plus36_in_gag(0, T69, T69) → U2_gag(T69, nat40_in_g(T69))
nat40_in_g(0) → nat40_out_g(0)
nat40_in_g(s(T72)) → U1_g(T72, nat40_in_g(T72))
U1_g(T72, nat40_out_g(T72)) → nat40_out_g(s(T72))
U2_gag(T69, nat40_out_g(T69)) → plus36_out_gag(0, T69, T69)
plus36_in_gag(s(T77), X148, s(T78)) → U3_gag(T77, X148, T78, plus36_in_gag(T77, X148, T78))
U3_gag(T77, X148, T78, plus36_out_gag(T77, X148, T78)) → plus36_out_gag(s(T77), X148, s(T78))
U9_gag(T62, X119, T63, plus36_out_gag(T62, X119, T63)) → plus32_out_gag(T62, X119, T63)
U11_gga(T51, T38, T39, T41, plus32_out_gag(T38, X82, T51)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U12_gga(T51, T38, T39, T41, plus32_in_gag(T38, T54, T51))
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U13_gga(T51, T38, T39, T41, ways1_in_gga(s(T51), T39, X83))
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U18_gga(T132, T122, T123, T125, plus68_in_gag(T132, X203, T122))
plus68_in_gag(T142, X234, T143) → U10_gag(T142, X234, T143, plus72_in_gag(T142, X234, T143))
plus72_in_gag(0, X255, s(X255)) → U7_gag(X255, nat80_in_g(X255))
nat80_in_g(0) → nat80_out_g(0)
nat80_in_g(s(X261)) → U6_g(X261, nat80_in_g(X261))
U6_g(X261, nat80_out_g(X261)) → nat80_out_g(s(X261))
U7_gag(X255, nat80_out_g(X255)) → plus72_out_gag(0, X255, s(X255))
plus72_in_gag(s(T148), X273, s(T149)) → U8_gag(T148, X273, T149, plus72_in_gag(T148, X273, T149))
U8_gag(T148, X273, T149, plus72_out_gag(T148, X273, T149)) → plus72_out_gag(s(T148), X273, s(T149))
U10_gag(T142, X234, T143, plus72_out_gag(T142, X234, T143)) → plus68_out_gag(T142, X234, T143)
U18_gga(T132, T122, T123, T125, plus68_out_gag(T132, X203, T122)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U19_gga(T132, T122, T123, T125, plus68_in_gag(T132, T135, T122))
U19_gga(T132, T122, T123, T125, plus68_out_gag(T132, T135, T122)) → U20_gga(T132, T122, T123, T125, ways1_in_gga(s(T132), T123, T125))
U20_gga(T132, T122, T123, T125, ways1_out_gga(s(T132), T123, T125)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
U13_gga(T51, T38, T39, T41, ways1_out_gga(s(T51), T39, X83)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U14_gga(T51, T38, T39, T41, T54, ways1_in_gga(s(T51), T39, T82))
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U15_gga(T51, T38, T39, T41, ways1_in_gga(T54, .(s(T38), T39), X84))
U15_gga(T51, T38, T39, T41, ways1_out_gga(T54, .(s(T38), T39), X84)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U16_gga(T51, T38, T39, T41, T82, ways1_in_gga(T54, .(s(T38), T39), T89))
U16_gga(T51, T38, T39, T41, T82, ways1_out_gga(T54, .(s(T38), T39), T89)) → U17_gga(T51, T38, T39, T41, plus55_in_aaa(T82, T89, T41))
plus55_in_aaa(0, T99, T99) → U4_aaa(T99, nat40_in_a(T99))
nat40_in_a(0) → nat40_out_a(0)
nat40_in_a(s(T72)) → U1_a(T72, nat40_in_a(T72))
U1_a(T72, nat40_out_a(T72)) → nat40_out_a(s(T72))
U4_aaa(T99, nat40_out_a(T99)) → plus55_out_aaa(0, T99, T99)
plus55_in_aaa(s(T106), T107, s(T109)) → U5_aaa(T106, T107, T109, plus55_in_aaa(T106, T107, T109))
U5_aaa(T106, T107, T109, plus55_out_aaa(T106, T107, T109)) → plus55_out_aaa(s(T106), T107, s(T109))
U17_gga(T51, T38, T39, T41, plus55_out_aaa(T82, T89, T41)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)

The argument filtering Pi contains the following mapping:
ways1_in_gga(x1, x2, x3)  =  ways1_in_gga(x1, x2)
0  =  0
ways1_out_gga(x1, x2, x3)  =  ways1_out_gga(x1, x2)
[]  =  []
s(x1)  =  s(x1)
.(x1, x2)  =  .(x1, x2)
U11_gga(x1, x2, x3, x4, x5)  =  U11_gga(x1, x2, x3, x5)
plus32_in_gag(x1, x2, x3)  =  plus32_in_gag(x1, x3)
U9_gag(x1, x2, x3, x4)  =  U9_gag(x1, x3, x4)
plus36_in_gag(x1, x2, x3)  =  plus36_in_gag(x1, x3)
U2_gag(x1, x2)  =  U2_gag(x1, x2)
nat40_in_g(x1)  =  nat40_in_g(x1)
nat40_out_g(x1)  =  nat40_out_g(x1)
U1_g(x1, x2)  =  U1_g(x1, x2)
plus36_out_gag(x1, x2, x3)  =  plus36_out_gag(x1, x2, x3)
U3_gag(x1, x2, x3, x4)  =  U3_gag(x1, x3, x4)
plus32_out_gag(x1, x2, x3)  =  plus32_out_gag(x1, x2, x3)
U12_gga(x1, x2, x3, x4, x5)  =  U12_gga(x1, x2, x3, x5)
U13_gga(x1, x2, x3, x4, x5)  =  U13_gga(x1, x2, x3, x5)
U18_gga(x1, x2, x3, x4, x5)  =  U18_gga(x1, x2, x3, x5)
plus68_in_gag(x1, x2, x3)  =  plus68_in_gag(x1, x3)
U10_gag(x1, x2, x3, x4)  =  U10_gag(x1, x3, x4)
plus72_in_gag(x1, x2, x3)  =  plus72_in_gag(x1, x3)
U7_gag(x1, x2)  =  U7_gag(x1, x2)
nat80_in_g(x1)  =  nat80_in_g(x1)
nat80_out_g(x1)  =  nat80_out_g(x1)
U6_g(x1, x2)  =  U6_g(x1, x2)
plus72_out_gag(x1, x2, x3)  =  plus72_out_gag(x1, x2, x3)
U8_gag(x1, x2, x3, x4)  =  U8_gag(x1, x3, x4)
plus68_out_gag(x1, x2, x3)  =  plus68_out_gag(x1, x2, x3)
U19_gga(x1, x2, x3, x4, x5)  =  U19_gga(x1, x2, x3, x5)
U20_gga(x1, x2, x3, x4, x5)  =  U20_gga(x1, x2, x3, x5)
U14_gga(x1, x2, x3, x4, x5, x6)  =  U14_gga(x1, x2, x3, x5, x6)
U15_gga(x1, x2, x3, x4, x5)  =  U15_gga(x1, x2, x3, x5)
U16_gga(x1, x2, x3, x4, x5, x6)  =  U16_gga(x1, x2, x3, x6)
U17_gga(x1, x2, x3, x4, x5)  =  U17_gga(x1, x2, x3, x5)
plus55_in_aaa(x1, x2, x3)  =  plus55_in_aaa
U4_aaa(x1, x2)  =  U4_aaa(x2)
nat40_in_a(x1)  =  nat40_in_a
nat40_out_a(x1)  =  nat40_out_a(x1)
U1_a(x1, x2)  =  U1_a(x2)
plus55_out_aaa(x1, x2, x3)  =  plus55_out_aaa(x1, x2, x3)
U5_aaa(x1, x2, x3, x4)  =  U5_aaa(x4)
NAT80_IN_G(x1)  =  NAT80_IN_G(x1)

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

(95) UsableRulesProof (EQUIVALENT transformation)

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

(96) Obligation:

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

NAT80_IN_G(s(X261)) → NAT80_IN_G(X261)

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

(97) PiDPToQDPProof (EQUIVALENT transformation)

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

(98) Obligation:

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

NAT80_IN_G(s(X261)) → NAT80_IN_G(X261)

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

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

  • NAT80_IN_G(s(X261)) → NAT80_IN_G(X261)
    The graph contains the following edges 1 > 1

(100) YES

(101) Obligation:

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

PLUS72_IN_GAG(s(T148), X273, s(T149)) → PLUS72_IN_GAG(T148, X273, T149)

The TRS R consists of the following rules:

ways1_in_gga(0, T5, s(0)) → ways1_out_gga(0, T5, s(0))
ways1_in_gga(0, [], 0) → ways1_out_gga(0, [], 0)
ways1_in_gga(T30, [], 0) → ways1_out_gga(T30, [], 0)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U11_gga(T51, T38, T39, T41, plus32_in_gag(T38, X82, T51))
plus32_in_gag(T62, X119, T63) → U9_gag(T62, X119, T63, plus36_in_gag(T62, X119, T63))
plus36_in_gag(0, T69, T69) → U2_gag(T69, nat40_in_g(T69))
nat40_in_g(0) → nat40_out_g(0)
nat40_in_g(s(T72)) → U1_g(T72, nat40_in_g(T72))
U1_g(T72, nat40_out_g(T72)) → nat40_out_g(s(T72))
U2_gag(T69, nat40_out_g(T69)) → plus36_out_gag(0, T69, T69)
plus36_in_gag(s(T77), X148, s(T78)) → U3_gag(T77, X148, T78, plus36_in_gag(T77, X148, T78))
U3_gag(T77, X148, T78, plus36_out_gag(T77, X148, T78)) → plus36_out_gag(s(T77), X148, s(T78))
U9_gag(T62, X119, T63, plus36_out_gag(T62, X119, T63)) → plus32_out_gag(T62, X119, T63)
U11_gga(T51, T38, T39, T41, plus32_out_gag(T38, X82, T51)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U12_gga(T51, T38, T39, T41, plus32_in_gag(T38, T54, T51))
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U13_gga(T51, T38, T39, T41, ways1_in_gga(s(T51), T39, X83))
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U18_gga(T132, T122, T123, T125, plus68_in_gag(T132, X203, T122))
plus68_in_gag(T142, X234, T143) → U10_gag(T142, X234, T143, plus72_in_gag(T142, X234, T143))
plus72_in_gag(0, X255, s(X255)) → U7_gag(X255, nat80_in_g(X255))
nat80_in_g(0) → nat80_out_g(0)
nat80_in_g(s(X261)) → U6_g(X261, nat80_in_g(X261))
U6_g(X261, nat80_out_g(X261)) → nat80_out_g(s(X261))
U7_gag(X255, nat80_out_g(X255)) → plus72_out_gag(0, X255, s(X255))
plus72_in_gag(s(T148), X273, s(T149)) → U8_gag(T148, X273, T149, plus72_in_gag(T148, X273, T149))
U8_gag(T148, X273, T149, plus72_out_gag(T148, X273, T149)) → plus72_out_gag(s(T148), X273, s(T149))
U10_gag(T142, X234, T143, plus72_out_gag(T142, X234, T143)) → plus68_out_gag(T142, X234, T143)
U18_gga(T132, T122, T123, T125, plus68_out_gag(T132, X203, T122)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U19_gga(T132, T122, T123, T125, plus68_in_gag(T132, T135, T122))
U19_gga(T132, T122, T123, T125, plus68_out_gag(T132, T135, T122)) → U20_gga(T132, T122, T123, T125, ways1_in_gga(s(T132), T123, T125))
U20_gga(T132, T122, T123, T125, ways1_out_gga(s(T132), T123, T125)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
U13_gga(T51, T38, T39, T41, ways1_out_gga(s(T51), T39, X83)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U14_gga(T51, T38, T39, T41, T54, ways1_in_gga(s(T51), T39, T82))
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U15_gga(T51, T38, T39, T41, ways1_in_gga(T54, .(s(T38), T39), X84))
U15_gga(T51, T38, T39, T41, ways1_out_gga(T54, .(s(T38), T39), X84)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U16_gga(T51, T38, T39, T41, T82, ways1_in_gga(T54, .(s(T38), T39), T89))
U16_gga(T51, T38, T39, T41, T82, ways1_out_gga(T54, .(s(T38), T39), T89)) → U17_gga(T51, T38, T39, T41, plus55_in_aaa(T82, T89, T41))
plus55_in_aaa(0, T99, T99) → U4_aaa(T99, nat40_in_a(T99))
nat40_in_a(0) → nat40_out_a(0)
nat40_in_a(s(T72)) → U1_a(T72, nat40_in_a(T72))
U1_a(T72, nat40_out_a(T72)) → nat40_out_a(s(T72))
U4_aaa(T99, nat40_out_a(T99)) → plus55_out_aaa(0, T99, T99)
plus55_in_aaa(s(T106), T107, s(T109)) → U5_aaa(T106, T107, T109, plus55_in_aaa(T106, T107, T109))
U5_aaa(T106, T107, T109, plus55_out_aaa(T106, T107, T109)) → plus55_out_aaa(s(T106), T107, s(T109))
U17_gga(T51, T38, T39, T41, plus55_out_aaa(T82, T89, T41)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)

The argument filtering Pi contains the following mapping:
ways1_in_gga(x1, x2, x3)  =  ways1_in_gga(x1, x2)
0  =  0
ways1_out_gga(x1, x2, x3)  =  ways1_out_gga(x1, x2)
[]  =  []
s(x1)  =  s(x1)
.(x1, x2)  =  .(x1, x2)
U11_gga(x1, x2, x3, x4, x5)  =  U11_gga(x1, x2, x3, x5)
plus32_in_gag(x1, x2, x3)  =  plus32_in_gag(x1, x3)
U9_gag(x1, x2, x3, x4)  =  U9_gag(x1, x3, x4)
plus36_in_gag(x1, x2, x3)  =  plus36_in_gag(x1, x3)
U2_gag(x1, x2)  =  U2_gag(x1, x2)
nat40_in_g(x1)  =  nat40_in_g(x1)
nat40_out_g(x1)  =  nat40_out_g(x1)
U1_g(x1, x2)  =  U1_g(x1, x2)
plus36_out_gag(x1, x2, x3)  =  plus36_out_gag(x1, x2, x3)
U3_gag(x1, x2, x3, x4)  =  U3_gag(x1, x3, x4)
plus32_out_gag(x1, x2, x3)  =  plus32_out_gag(x1, x2, x3)
U12_gga(x1, x2, x3, x4, x5)  =  U12_gga(x1, x2, x3, x5)
U13_gga(x1, x2, x3, x4, x5)  =  U13_gga(x1, x2, x3, x5)
U18_gga(x1, x2, x3, x4, x5)  =  U18_gga(x1, x2, x3, x5)
plus68_in_gag(x1, x2, x3)  =  plus68_in_gag(x1, x3)
U10_gag(x1, x2, x3, x4)  =  U10_gag(x1, x3, x4)
plus72_in_gag(x1, x2, x3)  =  plus72_in_gag(x1, x3)
U7_gag(x1, x2)  =  U7_gag(x1, x2)
nat80_in_g(x1)  =  nat80_in_g(x1)
nat80_out_g(x1)  =  nat80_out_g(x1)
U6_g(x1, x2)  =  U6_g(x1, x2)
plus72_out_gag(x1, x2, x3)  =  plus72_out_gag(x1, x2, x3)
U8_gag(x1, x2, x3, x4)  =  U8_gag(x1, x3, x4)
plus68_out_gag(x1, x2, x3)  =  plus68_out_gag(x1, x2, x3)
U19_gga(x1, x2, x3, x4, x5)  =  U19_gga(x1, x2, x3, x5)
U20_gga(x1, x2, x3, x4, x5)  =  U20_gga(x1, x2, x3, x5)
U14_gga(x1, x2, x3, x4, x5, x6)  =  U14_gga(x1, x2, x3, x5, x6)
U15_gga(x1, x2, x3, x4, x5)  =  U15_gga(x1, x2, x3, x5)
U16_gga(x1, x2, x3, x4, x5, x6)  =  U16_gga(x1, x2, x3, x6)
U17_gga(x1, x2, x3, x4, x5)  =  U17_gga(x1, x2, x3, x5)
plus55_in_aaa(x1, x2, x3)  =  plus55_in_aaa
U4_aaa(x1, x2)  =  U4_aaa(x2)
nat40_in_a(x1)  =  nat40_in_a
nat40_out_a(x1)  =  nat40_out_a(x1)
U1_a(x1, x2)  =  U1_a(x2)
plus55_out_aaa(x1, x2, x3)  =  plus55_out_aaa(x1, x2, x3)
U5_aaa(x1, x2, x3, x4)  =  U5_aaa(x4)
PLUS72_IN_GAG(x1, x2, x3)  =  PLUS72_IN_GAG(x1, x3)

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

(102) UsableRulesProof (EQUIVALENT transformation)

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

(103) Obligation:

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

PLUS72_IN_GAG(s(T148), X273, s(T149)) → PLUS72_IN_GAG(T148, X273, T149)

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

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

(104) PiDPToQDPProof (SOUND transformation)

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

(105) Obligation:

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

PLUS72_IN_GAG(s(T148), s(T149)) → PLUS72_IN_GAG(T148, T149)

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

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

  • PLUS72_IN_GAG(s(T148), s(T149)) → PLUS72_IN_GAG(T148, T149)
    The graph contains the following edges 1 > 1, 2 > 2

(107) YES

(108) Obligation:

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

NAT40_IN_G(s(T72)) → NAT40_IN_G(T72)

The TRS R consists of the following rules:

ways1_in_gga(0, T5, s(0)) → ways1_out_gga(0, T5, s(0))
ways1_in_gga(0, [], 0) → ways1_out_gga(0, [], 0)
ways1_in_gga(T30, [], 0) → ways1_out_gga(T30, [], 0)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U11_gga(T51, T38, T39, T41, plus32_in_gag(T38, X82, T51))
plus32_in_gag(T62, X119, T63) → U9_gag(T62, X119, T63, plus36_in_gag(T62, X119, T63))
plus36_in_gag(0, T69, T69) → U2_gag(T69, nat40_in_g(T69))
nat40_in_g(0) → nat40_out_g(0)
nat40_in_g(s(T72)) → U1_g(T72, nat40_in_g(T72))
U1_g(T72, nat40_out_g(T72)) → nat40_out_g(s(T72))
U2_gag(T69, nat40_out_g(T69)) → plus36_out_gag(0, T69, T69)
plus36_in_gag(s(T77), X148, s(T78)) → U3_gag(T77, X148, T78, plus36_in_gag(T77, X148, T78))
U3_gag(T77, X148, T78, plus36_out_gag(T77, X148, T78)) → plus36_out_gag(s(T77), X148, s(T78))
U9_gag(T62, X119, T63, plus36_out_gag(T62, X119, T63)) → plus32_out_gag(T62, X119, T63)
U11_gga(T51, T38, T39, T41, plus32_out_gag(T38, X82, T51)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U12_gga(T51, T38, T39, T41, plus32_in_gag(T38, T54, T51))
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U13_gga(T51, T38, T39, T41, ways1_in_gga(s(T51), T39, X83))
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U18_gga(T132, T122, T123, T125, plus68_in_gag(T132, X203, T122))
plus68_in_gag(T142, X234, T143) → U10_gag(T142, X234, T143, plus72_in_gag(T142, X234, T143))
plus72_in_gag(0, X255, s(X255)) → U7_gag(X255, nat80_in_g(X255))
nat80_in_g(0) → nat80_out_g(0)
nat80_in_g(s(X261)) → U6_g(X261, nat80_in_g(X261))
U6_g(X261, nat80_out_g(X261)) → nat80_out_g(s(X261))
U7_gag(X255, nat80_out_g(X255)) → plus72_out_gag(0, X255, s(X255))
plus72_in_gag(s(T148), X273, s(T149)) → U8_gag(T148, X273, T149, plus72_in_gag(T148, X273, T149))
U8_gag(T148, X273, T149, plus72_out_gag(T148, X273, T149)) → plus72_out_gag(s(T148), X273, s(T149))
U10_gag(T142, X234, T143, plus72_out_gag(T142, X234, T143)) → plus68_out_gag(T142, X234, T143)
U18_gga(T132, T122, T123, T125, plus68_out_gag(T132, X203, T122)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U19_gga(T132, T122, T123, T125, plus68_in_gag(T132, T135, T122))
U19_gga(T132, T122, T123, T125, plus68_out_gag(T132, T135, T122)) → U20_gga(T132, T122, T123, T125, ways1_in_gga(s(T132), T123, T125))
U20_gga(T132, T122, T123, T125, ways1_out_gga(s(T132), T123, T125)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
U13_gga(T51, T38, T39, T41, ways1_out_gga(s(T51), T39, X83)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U14_gga(T51, T38, T39, T41, T54, ways1_in_gga(s(T51), T39, T82))
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U15_gga(T51, T38, T39, T41, ways1_in_gga(T54, .(s(T38), T39), X84))
U15_gga(T51, T38, T39, T41, ways1_out_gga(T54, .(s(T38), T39), X84)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U16_gga(T51, T38, T39, T41, T82, ways1_in_gga(T54, .(s(T38), T39), T89))
U16_gga(T51, T38, T39, T41, T82, ways1_out_gga(T54, .(s(T38), T39), T89)) → U17_gga(T51, T38, T39, T41, plus55_in_aaa(T82, T89, T41))
plus55_in_aaa(0, T99, T99) → U4_aaa(T99, nat40_in_a(T99))
nat40_in_a(0) → nat40_out_a(0)
nat40_in_a(s(T72)) → U1_a(T72, nat40_in_a(T72))
U1_a(T72, nat40_out_a(T72)) → nat40_out_a(s(T72))
U4_aaa(T99, nat40_out_a(T99)) → plus55_out_aaa(0, T99, T99)
plus55_in_aaa(s(T106), T107, s(T109)) → U5_aaa(T106, T107, T109, plus55_in_aaa(T106, T107, T109))
U5_aaa(T106, T107, T109, plus55_out_aaa(T106, T107, T109)) → plus55_out_aaa(s(T106), T107, s(T109))
U17_gga(T51, T38, T39, T41, plus55_out_aaa(T82, T89, T41)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)

The argument filtering Pi contains the following mapping:
ways1_in_gga(x1, x2, x3)  =  ways1_in_gga(x1, x2)
0  =  0
ways1_out_gga(x1, x2, x3)  =  ways1_out_gga(x1, x2)
[]  =  []
s(x1)  =  s(x1)
.(x1, x2)  =  .(x1, x2)
U11_gga(x1, x2, x3, x4, x5)  =  U11_gga(x1, x2, x3, x5)
plus32_in_gag(x1, x2, x3)  =  plus32_in_gag(x1, x3)
U9_gag(x1, x2, x3, x4)  =  U9_gag(x1, x3, x4)
plus36_in_gag(x1, x2, x3)  =  plus36_in_gag(x1, x3)
U2_gag(x1, x2)  =  U2_gag(x1, x2)
nat40_in_g(x1)  =  nat40_in_g(x1)
nat40_out_g(x1)  =  nat40_out_g(x1)
U1_g(x1, x2)  =  U1_g(x1, x2)
plus36_out_gag(x1, x2, x3)  =  plus36_out_gag(x1, x2, x3)
U3_gag(x1, x2, x3, x4)  =  U3_gag(x1, x3, x4)
plus32_out_gag(x1, x2, x3)  =  plus32_out_gag(x1, x2, x3)
U12_gga(x1, x2, x3, x4, x5)  =  U12_gga(x1, x2, x3, x5)
U13_gga(x1, x2, x3, x4, x5)  =  U13_gga(x1, x2, x3, x5)
U18_gga(x1, x2, x3, x4, x5)  =  U18_gga(x1, x2, x3, x5)
plus68_in_gag(x1, x2, x3)  =  plus68_in_gag(x1, x3)
U10_gag(x1, x2, x3, x4)  =  U10_gag(x1, x3, x4)
plus72_in_gag(x1, x2, x3)  =  plus72_in_gag(x1, x3)
U7_gag(x1, x2)  =  U7_gag(x1, x2)
nat80_in_g(x1)  =  nat80_in_g(x1)
nat80_out_g(x1)  =  nat80_out_g(x1)
U6_g(x1, x2)  =  U6_g(x1, x2)
plus72_out_gag(x1, x2, x3)  =  plus72_out_gag(x1, x2, x3)
U8_gag(x1, x2, x3, x4)  =  U8_gag(x1, x3, x4)
plus68_out_gag(x1, x2, x3)  =  plus68_out_gag(x1, x2, x3)
U19_gga(x1, x2, x3, x4, x5)  =  U19_gga(x1, x2, x3, x5)
U20_gga(x1, x2, x3, x4, x5)  =  U20_gga(x1, x2, x3, x5)
U14_gga(x1, x2, x3, x4, x5, x6)  =  U14_gga(x1, x2, x3, x5, x6)
U15_gga(x1, x2, x3, x4, x5)  =  U15_gga(x1, x2, x3, x5)
U16_gga(x1, x2, x3, x4, x5, x6)  =  U16_gga(x1, x2, x3, x6)
U17_gga(x1, x2, x3, x4, x5)  =  U17_gga(x1, x2, x3, x5)
plus55_in_aaa(x1, x2, x3)  =  plus55_in_aaa
U4_aaa(x1, x2)  =  U4_aaa(x2)
nat40_in_a(x1)  =  nat40_in_a
nat40_out_a(x1)  =  nat40_out_a(x1)
U1_a(x1, x2)  =  U1_a(x2)
plus55_out_aaa(x1, x2, x3)  =  plus55_out_aaa(x1, x2, x3)
U5_aaa(x1, x2, x3, x4)  =  U5_aaa(x4)
NAT40_IN_G(x1)  =  NAT40_IN_G(x1)

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

(109) UsableRulesProof (EQUIVALENT transformation)

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

(110) Obligation:

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

NAT40_IN_G(s(T72)) → NAT40_IN_G(T72)

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

(111) PiDPToQDPProof (EQUIVALENT transformation)

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

(112) Obligation:

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

NAT40_IN_G(s(T72)) → NAT40_IN_G(T72)

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

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

  • NAT40_IN_G(s(T72)) → NAT40_IN_G(T72)
    The graph contains the following edges 1 > 1

(114) YES

(115) Obligation:

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

PLUS36_IN_GAG(s(T77), X148, s(T78)) → PLUS36_IN_GAG(T77, X148, T78)

The TRS R consists of the following rules:

ways1_in_gga(0, T5, s(0)) → ways1_out_gga(0, T5, s(0))
ways1_in_gga(0, [], 0) → ways1_out_gga(0, [], 0)
ways1_in_gga(T30, [], 0) → ways1_out_gga(T30, [], 0)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U11_gga(T51, T38, T39, T41, plus32_in_gag(T38, X82, T51))
plus32_in_gag(T62, X119, T63) → U9_gag(T62, X119, T63, plus36_in_gag(T62, X119, T63))
plus36_in_gag(0, T69, T69) → U2_gag(T69, nat40_in_g(T69))
nat40_in_g(0) → nat40_out_g(0)
nat40_in_g(s(T72)) → U1_g(T72, nat40_in_g(T72))
U1_g(T72, nat40_out_g(T72)) → nat40_out_g(s(T72))
U2_gag(T69, nat40_out_g(T69)) → plus36_out_gag(0, T69, T69)
plus36_in_gag(s(T77), X148, s(T78)) → U3_gag(T77, X148, T78, plus36_in_gag(T77, X148, T78))
U3_gag(T77, X148, T78, plus36_out_gag(T77, X148, T78)) → plus36_out_gag(s(T77), X148, s(T78))
U9_gag(T62, X119, T63, plus36_out_gag(T62, X119, T63)) → plus32_out_gag(T62, X119, T63)
U11_gga(T51, T38, T39, T41, plus32_out_gag(T38, X82, T51)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U12_gga(T51, T38, T39, T41, plus32_in_gag(T38, T54, T51))
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U13_gga(T51, T38, T39, T41, ways1_in_gga(s(T51), T39, X83))
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U18_gga(T132, T122, T123, T125, plus68_in_gag(T132, X203, T122))
plus68_in_gag(T142, X234, T143) → U10_gag(T142, X234, T143, plus72_in_gag(T142, X234, T143))
plus72_in_gag(0, X255, s(X255)) → U7_gag(X255, nat80_in_g(X255))
nat80_in_g(0) → nat80_out_g(0)
nat80_in_g(s(X261)) → U6_g(X261, nat80_in_g(X261))
U6_g(X261, nat80_out_g(X261)) → nat80_out_g(s(X261))
U7_gag(X255, nat80_out_g(X255)) → plus72_out_gag(0, X255, s(X255))
plus72_in_gag(s(T148), X273, s(T149)) → U8_gag(T148, X273, T149, plus72_in_gag(T148, X273, T149))
U8_gag(T148, X273, T149, plus72_out_gag(T148, X273, T149)) → plus72_out_gag(s(T148), X273, s(T149))
U10_gag(T142, X234, T143, plus72_out_gag(T142, X234, T143)) → plus68_out_gag(T142, X234, T143)
U18_gga(T132, T122, T123, T125, plus68_out_gag(T132, X203, T122)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U19_gga(T132, T122, T123, T125, plus68_in_gag(T132, T135, T122))
U19_gga(T132, T122, T123, T125, plus68_out_gag(T132, T135, T122)) → U20_gga(T132, T122, T123, T125, ways1_in_gga(s(T132), T123, T125))
U20_gga(T132, T122, T123, T125, ways1_out_gga(s(T132), T123, T125)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
U13_gga(T51, T38, T39, T41, ways1_out_gga(s(T51), T39, X83)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U14_gga(T51, T38, T39, T41, T54, ways1_in_gga(s(T51), T39, T82))
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U15_gga(T51, T38, T39, T41, ways1_in_gga(T54, .(s(T38), T39), X84))
U15_gga(T51, T38, T39, T41, ways1_out_gga(T54, .(s(T38), T39), X84)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U16_gga(T51, T38, T39, T41, T82, ways1_in_gga(T54, .(s(T38), T39), T89))
U16_gga(T51, T38, T39, T41, T82, ways1_out_gga(T54, .(s(T38), T39), T89)) → U17_gga(T51, T38, T39, T41, plus55_in_aaa(T82, T89, T41))
plus55_in_aaa(0, T99, T99) → U4_aaa(T99, nat40_in_a(T99))
nat40_in_a(0) → nat40_out_a(0)
nat40_in_a(s(T72)) → U1_a(T72, nat40_in_a(T72))
U1_a(T72, nat40_out_a(T72)) → nat40_out_a(s(T72))
U4_aaa(T99, nat40_out_a(T99)) → plus55_out_aaa(0, T99, T99)
plus55_in_aaa(s(T106), T107, s(T109)) → U5_aaa(T106, T107, T109, plus55_in_aaa(T106, T107, T109))
U5_aaa(T106, T107, T109, plus55_out_aaa(T106, T107, T109)) → plus55_out_aaa(s(T106), T107, s(T109))
U17_gga(T51, T38, T39, T41, plus55_out_aaa(T82, T89, T41)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)

The argument filtering Pi contains the following mapping:
ways1_in_gga(x1, x2, x3)  =  ways1_in_gga(x1, x2)
0  =  0
ways1_out_gga(x1, x2, x3)  =  ways1_out_gga(x1, x2)
[]  =  []
s(x1)  =  s(x1)
.(x1, x2)  =  .(x1, x2)
U11_gga(x1, x2, x3, x4, x5)  =  U11_gga(x1, x2, x3, x5)
plus32_in_gag(x1, x2, x3)  =  plus32_in_gag(x1, x3)
U9_gag(x1, x2, x3, x4)  =  U9_gag(x1, x3, x4)
plus36_in_gag(x1, x2, x3)  =  plus36_in_gag(x1, x3)
U2_gag(x1, x2)  =  U2_gag(x1, x2)
nat40_in_g(x1)  =  nat40_in_g(x1)
nat40_out_g(x1)  =  nat40_out_g(x1)
U1_g(x1, x2)  =  U1_g(x1, x2)
plus36_out_gag(x1, x2, x3)  =  plus36_out_gag(x1, x2, x3)
U3_gag(x1, x2, x3, x4)  =  U3_gag(x1, x3, x4)
plus32_out_gag(x1, x2, x3)  =  plus32_out_gag(x1, x2, x3)
U12_gga(x1, x2, x3, x4, x5)  =  U12_gga(x1, x2, x3, x5)
U13_gga(x1, x2, x3, x4, x5)  =  U13_gga(x1, x2, x3, x5)
U18_gga(x1, x2, x3, x4, x5)  =  U18_gga(x1, x2, x3, x5)
plus68_in_gag(x1, x2, x3)  =  plus68_in_gag(x1, x3)
U10_gag(x1, x2, x3, x4)  =  U10_gag(x1, x3, x4)
plus72_in_gag(x1, x2, x3)  =  plus72_in_gag(x1, x3)
U7_gag(x1, x2)  =  U7_gag(x1, x2)
nat80_in_g(x1)  =  nat80_in_g(x1)
nat80_out_g(x1)  =  nat80_out_g(x1)
U6_g(x1, x2)  =  U6_g(x1, x2)
plus72_out_gag(x1, x2, x3)  =  plus72_out_gag(x1, x2, x3)
U8_gag(x1, x2, x3, x4)  =  U8_gag(x1, x3, x4)
plus68_out_gag(x1, x2, x3)  =  plus68_out_gag(x1, x2, x3)
U19_gga(x1, x2, x3, x4, x5)  =  U19_gga(x1, x2, x3, x5)
U20_gga(x1, x2, x3, x4, x5)  =  U20_gga(x1, x2, x3, x5)
U14_gga(x1, x2, x3, x4, x5, x6)  =  U14_gga(x1, x2, x3, x5, x6)
U15_gga(x1, x2, x3, x4, x5)  =  U15_gga(x1, x2, x3, x5)
U16_gga(x1, x2, x3, x4, x5, x6)  =  U16_gga(x1, x2, x3, x6)
U17_gga(x1, x2, x3, x4, x5)  =  U17_gga(x1, x2, x3, x5)
plus55_in_aaa(x1, x2, x3)  =  plus55_in_aaa
U4_aaa(x1, x2)  =  U4_aaa(x2)
nat40_in_a(x1)  =  nat40_in_a
nat40_out_a(x1)  =  nat40_out_a(x1)
U1_a(x1, x2)  =  U1_a(x2)
plus55_out_aaa(x1, x2, x3)  =  plus55_out_aaa(x1, x2, x3)
U5_aaa(x1, x2, x3, x4)  =  U5_aaa(x4)
PLUS36_IN_GAG(x1, x2, x3)  =  PLUS36_IN_GAG(x1, x3)

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

(116) UsableRulesProof (EQUIVALENT transformation)

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

(117) Obligation:

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

PLUS36_IN_GAG(s(T77), X148, s(T78)) → PLUS36_IN_GAG(T77, X148, T78)

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

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

(118) PiDPToQDPProof (SOUND transformation)

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

(119) Obligation:

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

PLUS36_IN_GAG(s(T77), s(T78)) → PLUS36_IN_GAG(T77, T78)

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

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

  • PLUS36_IN_GAG(s(T77), s(T78)) → PLUS36_IN_GAG(T77, T78)
    The graph contains the following edges 1 > 1, 2 > 2

(121) YES

(122) Obligation:

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

WAYS1_IN_GGA(s(T51), .(s(T38), T39), T41) → U12_GGA(T51, T38, T39, T41, plus32_in_gag(T38, T54, T51))
U12_GGA(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → WAYS1_IN_GGA(s(T51), T39, X83)
WAYS1_IN_GGA(s(T132), .(s(T122), T123), T125) → U19_GGA(T132, T122, T123, T125, plus68_in_gag(T132, T135, T122))
U19_GGA(T132, T122, T123, T125, plus68_out_gag(T132, T135, T122)) → WAYS1_IN_GGA(s(T132), T123, T125)
U12_GGA(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U14_GGA(T51, T38, T39, T41, T54, ways1_in_gga(s(T51), T39, T82))
U14_GGA(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → WAYS1_IN_GGA(T54, .(s(T38), T39), X84)

The TRS R consists of the following rules:

ways1_in_gga(0, T5, s(0)) → ways1_out_gga(0, T5, s(0))
ways1_in_gga(0, [], 0) → ways1_out_gga(0, [], 0)
ways1_in_gga(T30, [], 0) → ways1_out_gga(T30, [], 0)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U11_gga(T51, T38, T39, T41, plus32_in_gag(T38, X82, T51))
plus32_in_gag(T62, X119, T63) → U9_gag(T62, X119, T63, plus36_in_gag(T62, X119, T63))
plus36_in_gag(0, T69, T69) → U2_gag(T69, nat40_in_g(T69))
nat40_in_g(0) → nat40_out_g(0)
nat40_in_g(s(T72)) → U1_g(T72, nat40_in_g(T72))
U1_g(T72, nat40_out_g(T72)) → nat40_out_g(s(T72))
U2_gag(T69, nat40_out_g(T69)) → plus36_out_gag(0, T69, T69)
plus36_in_gag(s(T77), X148, s(T78)) → U3_gag(T77, X148, T78, plus36_in_gag(T77, X148, T78))
U3_gag(T77, X148, T78, plus36_out_gag(T77, X148, T78)) → plus36_out_gag(s(T77), X148, s(T78))
U9_gag(T62, X119, T63, plus36_out_gag(T62, X119, T63)) → plus32_out_gag(T62, X119, T63)
U11_gga(T51, T38, T39, T41, plus32_out_gag(T38, X82, T51)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U12_gga(T51, T38, T39, T41, plus32_in_gag(T38, T54, T51))
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U13_gga(T51, T38, T39, T41, ways1_in_gga(s(T51), T39, X83))
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U18_gga(T132, T122, T123, T125, plus68_in_gag(T132, X203, T122))
plus68_in_gag(T142, X234, T143) → U10_gag(T142, X234, T143, plus72_in_gag(T142, X234, T143))
plus72_in_gag(0, X255, s(X255)) → U7_gag(X255, nat80_in_g(X255))
nat80_in_g(0) → nat80_out_g(0)
nat80_in_g(s(X261)) → U6_g(X261, nat80_in_g(X261))
U6_g(X261, nat80_out_g(X261)) → nat80_out_g(s(X261))
U7_gag(X255, nat80_out_g(X255)) → plus72_out_gag(0, X255, s(X255))
plus72_in_gag(s(T148), X273, s(T149)) → U8_gag(T148, X273, T149, plus72_in_gag(T148, X273, T149))
U8_gag(T148, X273, T149, plus72_out_gag(T148, X273, T149)) → plus72_out_gag(s(T148), X273, s(T149))
U10_gag(T142, X234, T143, plus72_out_gag(T142, X234, T143)) → plus68_out_gag(T142, X234, T143)
U18_gga(T132, T122, T123, T125, plus68_out_gag(T132, X203, T122)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U19_gga(T132, T122, T123, T125, plus68_in_gag(T132, T135, T122))
U19_gga(T132, T122, T123, T125, plus68_out_gag(T132, T135, T122)) → U20_gga(T132, T122, T123, T125, ways1_in_gga(s(T132), T123, T125))
U20_gga(T132, T122, T123, T125, ways1_out_gga(s(T132), T123, T125)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
U13_gga(T51, T38, T39, T41, ways1_out_gga(s(T51), T39, X83)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U14_gga(T51, T38, T39, T41, T54, ways1_in_gga(s(T51), T39, T82))
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U15_gga(T51, T38, T39, T41, ways1_in_gga(T54, .(s(T38), T39), X84))
U15_gga(T51, T38, T39, T41, ways1_out_gga(T54, .(s(T38), T39), X84)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U16_gga(T51, T38, T39, T41, T82, ways1_in_gga(T54, .(s(T38), T39), T89))
U16_gga(T51, T38, T39, T41, T82, ways1_out_gga(T54, .(s(T38), T39), T89)) → U17_gga(T51, T38, T39, T41, plus55_in_aaa(T82, T89, T41))
plus55_in_aaa(0, T99, T99) → U4_aaa(T99, nat40_in_a(T99))
nat40_in_a(0) → nat40_out_a(0)
nat40_in_a(s(T72)) → U1_a(T72, nat40_in_a(T72))
U1_a(T72, nat40_out_a(T72)) → nat40_out_a(s(T72))
U4_aaa(T99, nat40_out_a(T99)) → plus55_out_aaa(0, T99, T99)
plus55_in_aaa(s(T106), T107, s(T109)) → U5_aaa(T106, T107, T109, plus55_in_aaa(T106, T107, T109))
U5_aaa(T106, T107, T109, plus55_out_aaa(T106, T107, T109)) → plus55_out_aaa(s(T106), T107, s(T109))
U17_gga(T51, T38, T39, T41, plus55_out_aaa(T82, T89, T41)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)

The argument filtering Pi contains the following mapping:
ways1_in_gga(x1, x2, x3)  =  ways1_in_gga(x1, x2)
0  =  0
ways1_out_gga(x1, x2, x3)  =  ways1_out_gga(x1, x2)
[]  =  []
s(x1)  =  s(x1)
.(x1, x2)  =  .(x1, x2)
U11_gga(x1, x2, x3, x4, x5)  =  U11_gga(x1, x2, x3, x5)
plus32_in_gag(x1, x2, x3)  =  plus32_in_gag(x1, x3)
U9_gag(x1, x2, x3, x4)  =  U9_gag(x1, x3, x4)
plus36_in_gag(x1, x2, x3)  =  plus36_in_gag(x1, x3)
U2_gag(x1, x2)  =  U2_gag(x1, x2)
nat40_in_g(x1)  =  nat40_in_g(x1)
nat40_out_g(x1)  =  nat40_out_g(x1)
U1_g(x1, x2)  =  U1_g(x1, x2)
plus36_out_gag(x1, x2, x3)  =  plus36_out_gag(x1, x2, x3)
U3_gag(x1, x2, x3, x4)  =  U3_gag(x1, x3, x4)
plus32_out_gag(x1, x2, x3)  =  plus32_out_gag(x1, x2, x3)
U12_gga(x1, x2, x3, x4, x5)  =  U12_gga(x1, x2, x3, x5)
U13_gga(x1, x2, x3, x4, x5)  =  U13_gga(x1, x2, x3, x5)
U18_gga(x1, x2, x3, x4, x5)  =  U18_gga(x1, x2, x3, x5)
plus68_in_gag(x1, x2, x3)  =  plus68_in_gag(x1, x3)
U10_gag(x1, x2, x3, x4)  =  U10_gag(x1, x3, x4)
plus72_in_gag(x1, x2, x3)  =  plus72_in_gag(x1, x3)
U7_gag(x1, x2)  =  U7_gag(x1, x2)
nat80_in_g(x1)  =  nat80_in_g(x1)
nat80_out_g(x1)  =  nat80_out_g(x1)
U6_g(x1, x2)  =  U6_g(x1, x2)
plus72_out_gag(x1, x2, x3)  =  plus72_out_gag(x1, x2, x3)
U8_gag(x1, x2, x3, x4)  =  U8_gag(x1, x3, x4)
plus68_out_gag(x1, x2, x3)  =  plus68_out_gag(x1, x2, x3)
U19_gga(x1, x2, x3, x4, x5)  =  U19_gga(x1, x2, x3, x5)
U20_gga(x1, x2, x3, x4, x5)  =  U20_gga(x1, x2, x3, x5)
U14_gga(x1, x2, x3, x4, x5, x6)  =  U14_gga(x1, x2, x3, x5, x6)
U15_gga(x1, x2, x3, x4, x5)  =  U15_gga(x1, x2, x3, x5)
U16_gga(x1, x2, x3, x4, x5, x6)  =  U16_gga(x1, x2, x3, x6)
U17_gga(x1, x2, x3, x4, x5)  =  U17_gga(x1, x2, x3, x5)
plus55_in_aaa(x1, x2, x3)  =  plus55_in_aaa
U4_aaa(x1, x2)  =  U4_aaa(x2)
nat40_in_a(x1)  =  nat40_in_a
nat40_out_a(x1)  =  nat40_out_a(x1)
U1_a(x1, x2)  =  U1_a(x2)
plus55_out_aaa(x1, x2, x3)  =  plus55_out_aaa(x1, x2, x3)
U5_aaa(x1, x2, x3, x4)  =  U5_aaa(x4)
WAYS1_IN_GGA(x1, x2, x3)  =  WAYS1_IN_GGA(x1, x2)
U12_GGA(x1, x2, x3, x4, x5)  =  U12_GGA(x1, x2, x3, x5)
U19_GGA(x1, x2, x3, x4, x5)  =  U19_GGA(x1, x2, x3, x5)
U14_GGA(x1, x2, x3, x4, x5, x6)  =  U14_GGA(x1, x2, x3, x5, x6)

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

(123) UsableRulesProof (EQUIVALENT transformation)

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

(124) Obligation:

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

WAYS1_IN_GGA(s(T51), .(s(T38), T39), T41) → U12_GGA(T51, T38, T39, T41, plus32_in_gag(T38, T54, T51))
U12_GGA(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → WAYS1_IN_GGA(s(T51), T39, X83)
WAYS1_IN_GGA(s(T132), .(s(T122), T123), T125) → U19_GGA(T132, T122, T123, T125, plus68_in_gag(T132, T135, T122))
U19_GGA(T132, T122, T123, T125, plus68_out_gag(T132, T135, T122)) → WAYS1_IN_GGA(s(T132), T123, T125)
U12_GGA(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U14_GGA(T51, T38, T39, T41, T54, ways1_in_gga(s(T51), T39, T82))
U14_GGA(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → WAYS1_IN_GGA(T54, .(s(T38), T39), X84)

The TRS R consists of the following rules:

plus32_in_gag(T62, X119, T63) → U9_gag(T62, X119, T63, plus36_in_gag(T62, X119, T63))
plus68_in_gag(T142, X234, T143) → U10_gag(T142, X234, T143, plus72_in_gag(T142, X234, T143))
ways1_in_gga(T30, [], 0) → ways1_out_gga(T30, [], 0)
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U11_gga(T51, T38, T39, T41, plus32_in_gag(T38, X82, T51))
ways1_in_gga(s(T51), .(s(T38), T39), T41) → U12_gga(T51, T38, T39, T41, plus32_in_gag(T38, T54, T51))
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U18_gga(T132, T122, T123, T125, plus68_in_gag(T132, X203, T122))
ways1_in_gga(s(T132), .(s(T122), T123), T125) → U19_gga(T132, T122, T123, T125, plus68_in_gag(T132, T135, T122))
U9_gag(T62, X119, T63, plus36_out_gag(T62, X119, T63)) → plus32_out_gag(T62, X119, T63)
U10_gag(T142, X234, T143, plus72_out_gag(T142, X234, T143)) → plus68_out_gag(T142, X234, T143)
U11_gga(T51, T38, T39, T41, plus32_out_gag(T38, X82, T51)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U13_gga(T51, T38, T39, T41, ways1_in_gga(s(T51), T39, X83))
U12_gga(T51, T38, T39, T41, plus32_out_gag(T38, T54, T51)) → U14_gga(T51, T38, T39, T41, T54, ways1_in_gga(s(T51), T39, T82))
U18_gga(T132, T122, T123, T125, plus68_out_gag(T132, X203, T122)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
U19_gga(T132, T122, T123, T125, plus68_out_gag(T132, T135, T122)) → U20_gga(T132, T122, T123, T125, ways1_in_gga(s(T132), T123, T125))
plus36_in_gag(0, T69, T69) → U2_gag(T69, nat40_in_g(T69))
plus36_in_gag(s(T77), X148, s(T78)) → U3_gag(T77, X148, T78, plus36_in_gag(T77, X148, T78))
plus72_in_gag(0, X255, s(X255)) → U7_gag(X255, nat80_in_g(X255))
plus72_in_gag(s(T148), X273, s(T149)) → U8_gag(T148, X273, T149, plus72_in_gag(T148, X273, T149))
U13_gga(T51, T38, T39, T41, ways1_out_gga(s(T51), T39, X83)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U15_gga(T51, T38, T39, T41, ways1_in_gga(T54, .(s(T38), T39), X84))
U14_gga(T51, T38, T39, T41, T54, ways1_out_gga(s(T51), T39, T82)) → U16_gga(T51, T38, T39, T41, T82, ways1_in_gga(T54, .(s(T38), T39), T89))
U20_gga(T132, T122, T123, T125, ways1_out_gga(s(T132), T123, T125)) → ways1_out_gga(s(T132), .(s(T122), T123), T125)
U2_gag(T69, nat40_out_g(T69)) → plus36_out_gag(0, T69, T69)
U3_gag(T77, X148, T78, plus36_out_gag(T77, X148, T78)) → plus36_out_gag(s(T77), X148, s(T78))
U7_gag(X255, nat80_out_g(X255)) → plus72_out_gag(0, X255, s(X255))
U8_gag(T148, X273, T149, plus72_out_gag(T148, X273, T149)) → plus72_out_gag(s(T148), X273, s(T149))
U15_gga(T51, T38, T39, T41, ways1_out_gga(T54, .(s(T38), T39), X84)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U16_gga(T51, T38, T39, T41, T82, ways1_out_gga(T54, .(s(T38), T39), T89)) → U17_gga(T51, T38, T39, T41, plus55_in_aaa(T82, T89, T41))
nat40_in_g(0) → nat40_out_g(0)
nat40_in_g(s(T72)) → U1_g(T72, nat40_in_g(T72))
nat80_in_g(0) → nat80_out_g(0)
nat80_in_g(s(X261)) → U6_g(X261, nat80_in_g(X261))
ways1_in_gga(0, T5, s(0)) → ways1_out_gga(0, T5, s(0))
U17_gga(T51, T38, T39, T41, plus55_out_aaa(T82, T89, T41)) → ways1_out_gga(s(T51), .(s(T38), T39), T41)
U1_g(T72, nat40_out_g(T72)) → nat40_out_g(s(T72))
U6_g(X261, nat80_out_g(X261)) → nat80_out_g(s(X261))
plus55_in_aaa(0, T99, T99) → U4_aaa(T99, nat40_in_a(T99))
plus55_in_aaa(s(T106), T107, s(T109)) → U5_aaa(T106, T107, T109, plus55_in_aaa(T106, T107, T109))
U4_aaa(T99, nat40_out_a(T99)) → plus55_out_aaa(0, T99, T99)
U5_aaa(T106, T107, T109, plus55_out_aaa(T106, T107, T109)) → plus55_out_aaa(s(T106), T107, s(T109))
nat40_in_a(0) → nat40_out_a(0)
nat40_in_a(s(T72)) → U1_a(T72, nat40_in_a(T72))
U1_a(T72, nat40_out_a(T72)) → nat40_out_a(s(T72))

The argument filtering Pi contains the following mapping:
ways1_in_gga(x1, x2, x3)  =  ways1_in_gga(x1, x2)
0  =  0
ways1_out_gga(x1, x2, x3)  =  ways1_out_gga(x1, x2)
[]  =  []
s(x1)  =  s(x1)
.(x1, x2)  =  .(x1, x2)
U11_gga(x1, x2, x3, x4, x5)  =  U11_gga(x1, x2, x3, x5)
plus32_in_gag(x1, x2, x3)  =  plus32_in_gag(x1, x3)
U9_gag(x1, x2, x3, x4)  =  U9_gag(x1, x3, x4)
plus36_in_gag(x1, x2, x3)  =  plus36_in_gag(x1, x3)
U2_gag(x1, x2)  =  U2_gag(x1, x2)
nat40_in_g(x1)  =  nat40_in_g(x1)
nat40_out_g(x1)  =  nat40_out_g(x1)
U1_g(x1, x2)  =  U1_g(x1, x2)
plus36_out_gag(x1, x2, x3)  =  plus36_out_gag(x1, x2, x3)
U3_gag(x1, x2, x3, x4)  =  U3_gag(x1, x3, x4)
plus32_out_gag(x1, x2, x3)  =  plus32_out_gag(x1, x2, x3)
U12_gga(x1, x2, x3, x4, x5)  =  U12_gga(x1, x2, x3, x5)
U13_gga(x1, x2, x3, x4, x5)  =  U13_gga(x1, x2, x3, x5)
U18_gga(x1, x2, x3, x4, x5)  =  U18_gga(x1, x2, x3, x5)
plus68_in_gag(x1, x2, x3)  =  plus68_in_gag(x1, x3)
U10_gag(x1, x2, x3, x4)  =  U10_gag(x1, x3, x4)
plus72_in_gag(x1, x2, x3)  =  plus72_in_gag(x1, x3)
U7_gag(x1, x2)  =  U7_gag(x1, x2)
nat80_in_g(x1)  =  nat80_in_g(x1)
nat80_out_g(x1)  =  nat80_out_g(x1)
U6_g(x1, x2)  =  U6_g(x1, x2)
plus72_out_gag(x1, x2, x3)  =  plus72_out_gag(x1, x2, x3)
U8_gag(x1, x2, x3, x4)  =  U8_gag(x1, x3, x4)
plus68_out_gag(x1, x2, x3)  =  plus68_out_gag(x1, x2, x3)
U19_gga(x1, x2, x3, x4, x5)  =  U19_gga(x1, x2, x3, x5)
U20_gga(x1, x2, x3, x4, x5)  =  U20_gga(x1, x2, x3, x5)
U14_gga(x1, x2, x3, x4, x5, x6)  =  U14_gga(x1, x2, x3, x5, x6)
U15_gga(x1, x2, x3, x4, x5)  =  U15_gga(x1, x2, x3, x5)
U16_gga(x1, x2, x3, x4, x5, x6)  =  U16_gga(x1, x2, x3, x6)
U17_gga(x1, x2, x3, x4, x5)  =  U17_gga(x1, x2, x3, x5)
plus55_in_aaa(x1, x2, x3)  =  plus55_in_aaa
U4_aaa(x1, x2)  =  U4_aaa(x2)
nat40_in_a(x1)  =  nat40_in_a
nat40_out_a(x1)  =  nat40_out_a(x1)
U1_a(x1, x2)  =  U1_a(x2)
plus55_out_aaa(x1, x2, x3)  =  plus55_out_aaa(x1, x2, x3)
U5_aaa(x1, x2, x3, x4)  =  U5_aaa(x4)
WAYS1_IN_GGA(x1, x2, x3)  =  WAYS1_IN_GGA(x1, x2)
U12_GGA(x1, x2, x3, x4, x5)  =  U12_GGA(x1, x2, x3, x5)
U19_GGA(x1, x2, x3, x4, x5)  =  U19_GGA(x1, x2, x3, x5)
U14_GGA(x1, x2, x3, x4, x5, x6)  =  U14_GGA(x1, x2, x3, x5, x6)

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

(125) PiDPToQDPProof (SOUND transformation)

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

(126) Obligation:

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

WAYS1_IN_GGA(s(T51), .(s(T38), T39)) → U12_GGA(T51, T38, T39, plus32_in_gag(T38, T51))
U12_GGA(T51, T38, T39, plus32_out_gag(T38, T54, T51)) → WAYS1_IN_GGA(s(T51), T39)
WAYS1_IN_GGA(s(T132), .(s(T122), T123)) → U19_GGA(T132, T122, T123, plus68_in_gag(T132, T122))
U19_GGA(T132, T122, T123, plus68_out_gag(T132, T135, T122)) → WAYS1_IN_GGA(s(T132), T123)
U12_GGA(T51, T38, T39, plus32_out_gag(T38, T54, T51)) → U14_GGA(T51, T38, T39, T54, ways1_in_gga(s(T51), T39))
U14_GGA(T51, T38, T39, T54, ways1_out_gga(s(T51), T39)) → WAYS1_IN_GGA(T54, .(s(T38), T39))

The TRS R consists of the following rules:

plus32_in_gag(T62, T63) → U9_gag(T62, T63, plus36_in_gag(T62, T63))
plus68_in_gag(T142, T143) → U10_gag(T142, T143, plus72_in_gag(T142, T143))
ways1_in_gga(T30, []) → ways1_out_gga(T30, [])
ways1_in_gga(s(T51), .(s(T38), T39)) → U11_gga(T51, T38, T39, plus32_in_gag(T38, T51))
ways1_in_gga(s(T51), .(s(T38), T39)) → U12_gga(T51, T38, T39, plus32_in_gag(T38, T51))
ways1_in_gga(s(T132), .(s(T122), T123)) → U18_gga(T132, T122, T123, plus68_in_gag(T132, T122))
ways1_in_gga(s(T132), .(s(T122), T123)) → U19_gga(T132, T122, T123, plus68_in_gag(T132, T122))
U9_gag(T62, T63, plus36_out_gag(T62, X119, T63)) → plus32_out_gag(T62, X119, T63)
U10_gag(T142, T143, plus72_out_gag(T142, X234, T143)) → plus68_out_gag(T142, X234, T143)
U11_gga(T51, T38, T39, plus32_out_gag(T38, X82, T51)) → ways1_out_gga(s(T51), .(s(T38), T39))
U12_gga(T51, T38, T39, plus32_out_gag(T38, T54, T51)) → U13_gga(T51, T38, T39, ways1_in_gga(s(T51), T39))
U12_gga(T51, T38, T39, plus32_out_gag(T38, T54, T51)) → U14_gga(T51, T38, T39, T54, ways1_in_gga(s(T51), T39))
U18_gga(T132, T122, T123, plus68_out_gag(T132, X203, T122)) → ways1_out_gga(s(T132), .(s(T122), T123))
U19_gga(T132, T122, T123, plus68_out_gag(T132, T135, T122)) → U20_gga(T132, T122, T123, ways1_in_gga(s(T132), T123))
plus36_in_gag(0, T69) → U2_gag(T69, nat40_in_g(T69))
plus36_in_gag(s(T77), s(T78)) → U3_gag(T77, T78, plus36_in_gag(T77, T78))
plus72_in_gag(0, s(X255)) → U7_gag(X255, nat80_in_g(X255))
plus72_in_gag(s(T148), s(T149)) → U8_gag(T148, T149, plus72_in_gag(T148, T149))
U13_gga(T51, T38, T39, ways1_out_gga(s(T51), T39)) → ways1_out_gga(s(T51), .(s(T38), T39))
U14_gga(T51, T38, T39, T54, ways1_out_gga(s(T51), T39)) → U15_gga(T51, T38, T39, ways1_in_gga(T54, .(s(T38), T39)))
U14_gga(T51, T38, T39, T54, ways1_out_gga(s(T51), T39)) → U16_gga(T51, T38, T39, ways1_in_gga(T54, .(s(T38), T39)))
U20_gga(T132, T122, T123, ways1_out_gga(s(T132), T123)) → ways1_out_gga(s(T132), .(s(T122), T123))
U2_gag(T69, nat40_out_g(T69)) → plus36_out_gag(0, T69, T69)
U3_gag(T77, T78, plus36_out_gag(T77, X148, T78)) → plus36_out_gag(s(T77), X148, s(T78))
U7_gag(X255, nat80_out_g(X255)) → plus72_out_gag(0, X255, s(X255))
U8_gag(T148, T149, plus72_out_gag(T148, X273, T149)) → plus72_out_gag(s(T148), X273, s(T149))
U15_gga(T51, T38, T39, ways1_out_gga(T54, .(s(T38), T39))) → ways1_out_gga(s(T51), .(s(T38), T39))
U16_gga(T51, T38, T39, ways1_out_gga(T54, .(s(T38), T39))) → U17_gga(T51, T38, T39, plus55_in_aaa)
nat40_in_g(0) → nat40_out_g(0)
nat40_in_g(s(T72)) → U1_g(T72, nat40_in_g(T72))
nat80_in_g(0) → nat80_out_g(0)
nat80_in_g(s(X261)) → U6_g(X261, nat80_in_g(X261))
ways1_in_gga(0, T5) → ways1_out_gga(0, T5)
U17_gga(T51, T38, T39, plus55_out_aaa(T82, T89, T41)) → ways1_out_gga(s(T51), .(s(T38), T39))
U1_g(T72, nat40_out_g(T72)) → nat40_out_g(s(T72))
U6_g(X261, nat80_out_g(X261)) → nat80_out_g(s(X261))
plus55_in_aaaU4_aaa(nat40_in_a)
plus55_in_aaaU5_aaa(plus55_in_aaa)
U4_aaa(nat40_out_a(T99)) → plus55_out_aaa(0, T99, T99)
U5_aaa(plus55_out_aaa(T106, T107, T109)) → plus55_out_aaa(s(T106), T107, s(T109))
nat40_in_anat40_out_a(0)
nat40_in_aU1_a(nat40_in_a)
U1_a(nat40_out_a(T72)) → nat40_out_a(s(T72))

The set Q consists of the following terms:

plus32_in_gag(x0, x1)
plus68_in_gag(x0, x1)
ways1_in_gga(x0, x1)
U9_gag(x0, x1, x2)
U10_gag(x0, x1, x2)
U11_gga(x0, x1, x2, x3)
U12_gga(x0, x1, x2, x3)
U18_gga(x0, x1, x2, x3)
U19_gga(x0, x1, x2, x3)
plus36_in_gag(x0, x1)
plus72_in_gag(x0, x1)
U13_gga(x0, x1, x2, x3)
U14_gga(x0, x1, x2, x3, x4)
U20_gga(x0, x1, x2, x3)
U2_gag(x0, x1)
U3_gag(x0, x1, x2)
U7_gag(x0, x1)
U8_gag(x0, x1, x2)
U15_gga(x0, x1, x2, x3)
U16_gga(x0, x1, x2, x3)
nat40_in_g(x0)
nat80_in_g(x0)
U17_gga(x0, x1, x2, x3)
U1_g(x0, x1)
U6_g(x0, x1)
plus55_in_aaa
U4_aaa(x0)
U5_aaa(x0)
nat40_in_a
U1_a(x0)

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

(127) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule WAYS1_IN_GGA(s(T51), .(s(T38), T39)) → U12_GGA(T51, T38, T39, plus32_in_gag(T38, T51)) at position [3] we obtained the following new rules [LPAR04]:

WAYS1_IN_GGA(s(T51), .(s(T38), T39)) → U12_GGA(T51, T38, T39, U9_gag(T38, T51, plus36_in_gag(T38, T51)))

(128) Obligation:

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

U12_GGA(T51, T38, T39, plus32_out_gag(T38, T54, T51)) → WAYS1_IN_GGA(s(T51), T39)
WAYS1_IN_GGA(s(T132), .(s(T122), T123)) → U19_GGA(T132, T122, T123, plus68_in_gag(T132, T122))
U19_GGA(T132, T122, T123, plus68_out_gag(T132, T135, T122)) → WAYS1_IN_GGA(s(T132), T123)
U12_GGA(T51, T38, T39, plus32_out_gag(T38, T54, T51)) → U14_GGA(T51, T38, T39, T54, ways1_in_gga(s(T51), T39))
U14_GGA(T51, T38, T39, T54, ways1_out_gga(s(T51), T39)) → WAYS1_IN_GGA(T54, .(s(T38), T39))
WAYS1_IN_GGA(s(T51), .(s(T38), T39)) → U12_GGA(T51, T38, T39, U9_gag(T38, T51, plus36_in_gag(T38, T51)))

The TRS R consists of the following rules:

plus32_in_gag(T62, T63) → U9_gag(T62, T63, plus36_in_gag(T62, T63))
plus68_in_gag(T142, T143) → U10_gag(T142, T143, plus72_in_gag(T142, T143))
ways1_in_gga(T30, []) → ways1_out_gga(T30, [])
ways1_in_gga(s(T51), .(s(T38), T39)) → U11_gga(T51, T38, T39, plus32_in_gag(T38, T51))
ways1_in_gga(s(T51), .(s(T38), T39)) → U12_gga(T51, T38, T39, plus32_in_gag(T38, T51))
ways1_in_gga(s(T132), .(s(T122), T123)) → U18_gga(T132, T122, T123, plus68_in_gag(T132, T122))
ways1_in_gga(s(T132), .(s(T122), T123)) → U19_gga(T132, T122, T123, plus68_in_gag(T132, T122))
U9_gag(T62, T63, plus36_out_gag(T62, X119, T63)) → plus32_out_gag(T62, X119, T63)
U10_gag(T142, T143, plus72_out_gag(T142, X234, T143)) → plus68_out_gag(T142, X234, T143)
U11_gga(T51, T38, T39, plus32_out_gag(T38, X82, T51)) → ways1_out_gga(s(T51), .(s(T38), T39))
U12_gga(T51, T38, T39, plus32_out_gag(T38, T54, T51)) → U13_gga(T51, T38, T39, ways1_in_gga(s(T51), T39))
U12_gga(T51, T38, T39, plus32_out_gag(T38, T54, T51)) → U14_gga(T51, T38, T39, T54, ways1_in_gga(s(T51), T39))
U18_gga(T132, T122, T123, plus68_out_gag(T132, X203, T122)) → ways1_out_gga(s(T132), .(s(T122), T123))
U19_gga(T132, T122, T123, plus68_out_gag(T132, T135, T122)) → U20_gga(T132, T122, T123, ways1_in_gga(s(T132), T123))
plus36_in_gag(0, T69) → U2_gag(T69, nat40_in_g(T69))
plus36_in_gag(s(T77), s(T78)) → U3_gag(T77, T78, plus36_in_gag(T77, T78))
plus72_in_gag(0, s(X255)) → U7_gag(X255, nat80_in_g(X255))
plus72_in_gag(s(T148), s(T149)) → U8_gag(T148, T149, plus72_in_gag(T148, T149))
U13_gga(T51, T38, T39, ways1_out_gga(s(T51), T39)) → ways1_out_gga(s(T51), .(s(T38), T39))
U14_gga(T51, T38, T39, T54, ways1_out_gga(s(T51), T39)) → U15_gga(T51, T38, T39, ways1_in_gga(T54, .(s(T38), T39)))
U14_gga(T51, T38, T39, T54, ways1_out_gga(s(T51), T39)) → U16_gga(T51, T38, T39, ways1_in_gga(T54, .(s(T38), T39)))
U20_gga(T132, T122, T123, ways1_out_gga(s(T132), T123)) → ways1_out_gga(s(T132), .(s(T122), T123))
U2_gag(T69, nat40_out_g(T69)) → plus36_out_gag(0, T69, T69)
U3_gag(T77, T78, plus36_out_gag(T77, X148, T78)) → plus36_out_gag(s(T77), X148, s(T78))
U7_gag(X255, nat80_out_g(X255)) → plus72_out_gag(0, X255, s(X255))
U8_gag(T148, T149, plus72_out_gag(T148, X273, T149)) → plus72_out_gag(s(T148), X273, s(T149))
U15_gga(T51, T38, T39, ways1_out_gga(T54, .(s(T38), T39))) → ways1_out_gga(s(T51), .(s(T38), T39))
U16_gga(T51, T38, T39, ways1_out_gga(T54, .(s(T38), T39))) → U17_gga(T51, T38, T39, plus55_in_aaa)
nat40_in_g(0) → nat40_out_g(0)
nat40_in_g(s(T72)) → U1_g(T72, nat40_in_g(T72))
nat80_in_g(0) → nat80_out_g(0)
nat80_in_g(s(X261)) → U6_g(X261, nat80_in_g(X261))
ways1_in_gga(0, T5) → ways1_out_gga(0, T5)
U17_gga(T51, T38, T39, plus55_out_aaa(T82, T89, T41)) → ways1_out_gga(s(T51), .(s(T38), T39))
U1_g(T72, nat40_out_g(T72)) → nat40_out_g(s(T72))
U6_g(X261, nat80_out_g(X261)) → nat80_out_g(s(X261))
plus55_in_aaaU4_aaa(nat40_in_a)
plus55_in_aaaU5_aaa(plus55_in_aaa)
U4_aaa(nat40_out_a(T99)) → plus55_out_aaa(0, T99, T99)
U5_aaa(plus55_out_aaa(T106, T107, T109)) → plus55_out_aaa(s(T106), T107, s(T109))
nat40_in_anat40_out_a(0)
nat40_in_aU1_a(nat40_in_a)
U1_a(nat40_out_a(T72)) → nat40_out_a(s(T72))

The set Q consists of the following terms:

plus32_in_gag(x0, x1)
plus68_in_gag(x0, x1)
ways1_in_gga(x0, x1)
U9_gag(x0, x1, x2)
U10_gag(x0, x1, x2)
U11_gga(x0, x1, x2, x3)
U12_gga(x0, x1, x2, x3)
U18_gga(x0, x1, x2, x3)
U19_gga(x0, x1, x2, x3)
plus36_in_gag(x0, x1)
plus72_in_gag(x0, x1)
U13_gga(x0, x1, x2, x3)
U14_gga(x0, x1, x2, x3, x4)
U20_gga(x0, x1, x2, x3)
U2_gag(x0, x1)
U3_gag(x0, x1, x2)
U7_gag(x0, x1)
U8_gag(x0, x1, x2)
U15_gga(x0, x1, x2, x3)
U16_gga(x0, x1, x2, x3)
nat40_in_g(x0)
nat80_in_g(x0)
U17_gga(x0, x1, x2, x3)
U1_g(x0, x1)
U6_g(x0, x1)
plus55_in_aaa
U4_aaa(x0)
U5_aaa(x0)
nat40_in_a
U1_a(x0)

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

(129) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule WAYS1_IN_GGA(s(T132), .(s(T122), T123)) → U19_GGA(T132, T122, T123, plus68_in_gag(T132, T122)) at position [3] we obtained the following new rules [LPAR04]:

WAYS1_IN_GGA(s(T132), .(s(T122), T123)) → U19_GGA(T132, T122, T123, U10_gag(T132, T122, plus72_in_gag(T132, T122)))

(130) Obligation:

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

U12_GGA(T51, T38, T39, plus32_out_gag(T38, T54, T51)) → WAYS1_IN_GGA(s(T51), T39)
U19_GGA(T132, T122, T123, plus68_out_gag(T132, T135, T122)) → WAYS1_IN_GGA(s(T132), T123)
U12_GGA(T51, T38, T39, plus32_out_gag(T38, T54, T51)) → U14_GGA(T51, T38, T39, T54, ways1_in_gga(s(T51), T39))
U14_GGA(T51, T38, T39, T54, ways1_out_gga(s(T51), T39)) → WAYS1_IN_GGA(T54, .(s(T38), T39))
WAYS1_IN_GGA(s(T51), .(s(T38), T39)) → U12_GGA(T51, T38, T39, U9_gag(T38, T51, plus36_in_gag(T38, T51)))
WAYS1_IN_GGA(s(T132), .(s(T122), T123)) → U19_GGA(T132, T122, T123, U10_gag(T132, T122, plus72_in_gag(T132, T122)))

The TRS R consists of the following rules:

plus32_in_gag(T62, T63) → U9_gag(T62, T63, plus36_in_gag(T62, T63))
plus68_in_gag(T142, T143) → U10_gag(T142, T143, plus72_in_gag(T142, T143))
ways1_in_gga(T30, []) → ways1_out_gga(T30, [])
ways1_in_gga(s(T51), .(s(T38), T39)) → U11_gga(T51, T38, T39, plus32_in_gag(T38, T51))
ways1_in_gga(s(T51), .(s(T38), T39)) → U12_gga(T51, T38, T39, plus32_in_gag(T38, T51))
ways1_in_gga(s(T132), .(s(T122), T123)) → U18_gga(T132, T122, T123, plus68_in_gag(T132, T122))
ways1_in_gga(s(T132), .(s(T122), T123)) → U19_gga(T132, T122, T123, plus68_in_gag(T132, T122))
U9_gag(T62, T63, plus36_out_gag(T62, X119, T63)) → plus32_out_gag(T62, X119, T63)
U10_gag(T142, T143, plus72_out_gag(T142, X234, T143)) → plus68_out_gag(T142, X234, T143)
U11_gga(T51, T38, T39, plus32_out_gag(T38, X82, T51)) → ways1_out_gga(s(T51), .(s(T38), T39))
U12_gga(T51, T38, T39, plus32_out_gag(T38, T54, T51)) → U13_gga(T51, T38, T39, ways1_in_gga(s(T51), T39))
U12_gga(T51, T38, T39, plus32_out_gag(T38, T54, T51)) → U14_gga(T51, T38, T39, T54, ways1_in_gga(s(T51), T39))
U18_gga(T132, T122, T123, plus68_out_gag(T132, X203, T122)) → ways1_out_gga(s(T132), .(s(T122), T123))
U19_gga(T132, T122, T123, plus68_out_gag(T132, T135, T122)) → U20_gga(T132, T122, T123, ways1_in_gga(s(T132), T123))
plus36_in_gag(0, T69) → U2_gag(T69, nat40_in_g(T69))
plus36_in_gag(s(T77), s(T78)) → U3_gag(T77, T78, plus36_in_gag(T77, T78))
plus72_in_gag(0, s(X255)) → U7_gag(X255, nat80_in_g(X255))
plus72_in_gag(s(T148), s(T149)) → U8_gag(T148, T149, plus72_in_gag(T148, T149))
U13_gga(T51, T38, T39, ways1_out_gga(s(T51), T39)) → ways1_out_gga(s(T51), .(s(T38), T39))
U14_gga(T51, T38, T39, T54, ways1_out_gga(s(T51), T39)) → U15_gga(T51, T38, T39, ways1_in_gga(T54, .(s(T38), T39)))
U14_gga(T51, T38, T39, T54, ways1_out_gga(s(T51), T39)) → U16_gga(T51, T38, T39, ways1_in_gga(T54, .(s(T38), T39)))
U20_gga(T132, T122, T123, ways1_out_gga(s(T132), T123)) → ways1_out_gga(s(T132), .(s(T122), T123))
U2_gag(T69, nat40_out_g(T69)) → plus36_out_gag(0, T69, T69)
U3_gag(T77, T78, plus36_out_gag(T77, X148, T78)) → plus36_out_gag(s(T77), X148, s(T78))
U7_gag(X255, nat80_out_g(X255)) → plus72_out_gag(0, X255, s(X255))
U8_gag(T148, T149, plus72_out_gag(T148, X273, T149)) → plus72_out_gag(s(T148), X273, s(T149))
U15_gga(T51, T38, T39, ways1_out_gga(T54, .(s(T38), T39))) → ways1_out_gga(s(T51), .(s(T38), T39))
U16_gga(T51, T38, T39, ways1_out_gga(T54, .(s(T38), T39))) → U17_gga(T51, T38, T39, plus55_in_aaa)
nat40_in_g(0) → nat40_out_g(0)
nat40_in_g(s(T72)) → U1_g(T72, nat40_in_g(T72))
nat80_in_g(0) → nat80_out_g(0)
nat80_in_g(s(X261)) → U6_g(X261, nat80_in_g(X261))
ways1_in_gga(0, T5) → ways1_out_gga(0, T5)
U17_gga(T51, T38, T39, plus55_out_aaa(T82, T89, T41)) → ways1_out_gga(s(T51), .(s(T38), T39))
U1_g(T72, nat40_out_g(T72)) → nat40_out_g(s(T72))
U6_g(X261, nat80_out_g(X261)) → nat80_out_g(s(X261))
plus55_in_aaaU4_aaa(nat40_in_a)
plus55_in_aaaU5_aaa(plus55_in_aaa)
U4_aaa(nat40_out_a(T99)) → plus55_out_aaa(0, T99, T99)
U5_aaa(plus55_out_aaa(T106, T107, T109)) → plus55_out_aaa(s(T106), T107, s(T109))
nat40_in_anat40_out_a(0)
nat40_in_aU1_a(nat40_in_a)
U1_a(nat40_out_a(T72)) → nat40_out_a(s(T72))

The set Q consists of the following terms:

plus32_in_gag(x0, x1)
plus68_in_gag(x0, x1)
ways1_in_gga(x0, x1)
U9_gag(x0, x1, x2)
U10_gag(x0, x1, x2)
U11_gga(x0, x1, x2, x3)
U12_gga(x0, x1, x2, x3)
U18_gga(x0, x1, x2, x3)
U19_gga(x0, x1, x2, x3)
plus36_in_gag(x0, x1)
plus72_in_gag(x0, x1)
U13_gga(x0, x1, x2, x3)
U14_gga(x0, x1, x2, x3, x4)
U20_gga(x0, x1, x2, x3)
U2_gag(x0, x1)
U3_gag(x0, x1, x2)
U7_gag(x0, x1)
U8_gag(x0, x1, x2)
U15_gga(x0, x1, x2, x3)
U16_gga(x0, x1, x2, x3)
nat40_in_g(x0)
nat80_in_g(x0)
U17_gga(x0, x1, x2, x3)
U1_g(x0, x1)
U6_g(x0, x1)
plus55_in_aaa
U4_aaa(x0)
U5_aaa(x0)
nat40_in_a
U1_a(x0)

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

(131) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


U12_GGA(T51, T38, T39, plus32_out_gag(T38, T54, T51)) → WAYS1_IN_GGA(s(T51), T39)
WAYS1_IN_GGA(s(T132), .(s(T122), T123)) → U19_GGA(T132, T122, T123, U10_gag(T132, T122, plus72_in_gag(T132, T122)))
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:

POL(.(x1, x2)) = 1 + x2   
POL(0) = 0   
POL(U10_gag(x1, x2, x3)) = 0   
POL(U11_gga(x1, x2, x3, x4)) = 0   
POL(U12_GGA(x1, x2, x3, x4)) = 1 + x3   
POL(U12_gga(x1, x2, x3, x4)) = 0   
POL(U13_gga(x1, x2, x3, x4)) = 0   
POL(U14_GGA(x1, x2, x3, x4, x5)) = 1 + x3   
POL(U14_gga(x1, x2, x3, x4, x5)) = 0   
POL(U15_gga(x1, x2, x3, x4)) = 0   
POL(U16_gga(x1, x2, x3, x4)) = 0   
POL(U17_gga(x1, x2, x3, x4)) = 0   
POL(U18_gga(x1, x2, x3, x4)) = 0   
POL(U19_GGA(x1, x2, x3, x4)) = x3   
POL(U19_gga(x1, x2, x3, x4)) = 0   
POL(U1_a(x1)) = 1   
POL(U1_g(x1, x2)) = 0   
POL(U20_gga(x1, x2, x3, x4)) = 0   
POL(U2_gag(x1, x2)) = 0   
POL(U3_gag(x1, x2, x3)) = 0   
POL(U4_aaa(x1)) = 1   
POL(U5_aaa(x1)) = 0   
POL(U6_g(x1, x2)) = 0   
POL(U7_gag(x1, x2)) = 0   
POL(U8_gag(x1, x2, x3)) = 0   
POL(U9_gag(x1, x2, x3)) = 0   
POL(WAYS1_IN_GGA(x1, x2)) = x2   
POL([]) = 0   
POL(nat40_in_a) = 1   
POL(nat40_in_g(x1)) = 0   
POL(nat40_out_a(x1)) = 0   
POL(nat40_out_g(x1)) = 0   
POL(nat80_in_g(x1)) = 0   
POL(nat80_out_g(x1)) = 0   
POL(plus32_in_gag(x1, x2)) = 0   
POL(plus32_out_gag(x1, x2, x3)) = 0   
POL(plus36_in_gag(x1, x2)) = 0   
POL(plus36_out_gag(x1, x2, x3)) = 0   
POL(plus55_in_aaa) = 1   
POL(plus55_out_aaa(x1, x2, x3)) = 0   
POL(plus68_in_gag(x1, x2)) = x2   
POL(plus68_out_gag(x1, x2, x3)) = 0   
POL(plus72_in_gag(x1, x2)) = 0   
POL(plus72_out_gag(x1, x2, x3)) = 0   
POL(s(x1)) = 0   
POL(ways1_in_gga(x1, x2)) = 0   
POL(ways1_out_gga(x1, x2)) = 0   

The following usable rules [FROCOS05] were oriented: none

(132) Obligation:

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

U19_GGA(T132, T122, T123, plus68_out_gag(T132, T135, T122)) → WAYS1_IN_GGA(s(T132), T123)
U12_GGA(T51, T38, T39, plus32_out_gag(T38, T54, T51)) → U14_GGA(T51, T38, T39, T54, ways1_in_gga(s(T51), T39))
U14_GGA(T51, T38, T39, T54, ways1_out_gga(s(T51), T39)) → WAYS1_IN_GGA(T54, .(s(T38), T39))
WAYS1_IN_GGA(s(T51), .(s(T38), T39)) → U12_GGA(T51, T38, T39, U9_gag(T38, T51, plus36_in_gag(T38, T51)))

The TRS R consists of the following rules:

plus32_in_gag(T62, T63) → U9_gag(T62, T63, plus36_in_gag(T62, T63))
plus68_in_gag(T142, T143) → U10_gag(T142, T143, plus72_in_gag(T142, T143))
ways1_in_gga(T30, []) → ways1_out_gga(T30, [])
ways1_in_gga(s(T51), .(s(T38), T39)) → U11_gga(T51, T38, T39, plus32_in_gag(T38, T51))
ways1_in_gga(s(T51), .(s(T38), T39)) → U12_gga(T51, T38, T39, plus32_in_gag(T38, T51))
ways1_in_gga(s(T132), .(s(T122), T123)) → U18_gga(T132, T122, T123, plus68_in_gag(T132, T122))
ways1_in_gga(s(T132), .(s(T122), T123)) → U19_gga(T132, T122, T123, plus68_in_gag(T132, T122))
U9_gag(T62, T63, plus36_out_gag(T62, X119, T63)) → plus32_out_gag(T62, X119, T63)
U10_gag(T142, T143, plus72_out_gag(T142, X234, T143)) → plus68_out_gag(T142, X234, T143)
U11_gga(T51, T38, T39, plus32_out_gag(T38, X82, T51)) → ways1_out_gga(s(T51), .(s(T38), T39))
U12_gga(T51, T38, T39, plus32_out_gag(T38, T54, T51)) → U13_gga(T51, T38, T39, ways1_in_gga(s(T51), T39))
U12_gga(T51, T38, T39, plus32_out_gag(T38, T54, T51)) → U14_gga(T51, T38, T39, T54, ways1_in_gga(s(T51), T39))
U18_gga(T132, T122, T123, plus68_out_gag(T132, X203, T122)) → ways1_out_gga(s(T132), .(s(T122), T123))
U19_gga(T132, T122, T123, plus68_out_gag(T132, T135, T122)) → U20_gga(T132, T122, T123, ways1_in_gga(s(T132), T123))
plus36_in_gag(0, T69) → U2_gag(T69, nat40_in_g(T69))
plus36_in_gag(s(T77), s(T78)) → U3_gag(T77, T78, plus36_in_gag(T77, T78))
plus72_in_gag(0, s(X255)) → U7_gag(X255, nat80_in_g(X255))
plus72_in_gag(s(T148), s(T149)) → U8_gag(T148, T149, plus72_in_gag(T148, T149))
U13_gga(T51, T38, T39, ways1_out_gga(s(T51), T39)) → ways1_out_gga(s(T51), .(s(T38), T39))
U14_gga(T51, T38, T39, T54, ways1_out_gga(s(T51), T39)) → U15_gga(T51, T38, T39, ways1_in_gga(T54, .(s(T38), T39)))
U14_gga(T51, T38, T39, T54, ways1_out_gga(s(T51), T39)) → U16_gga(T51, T38, T39, ways1_in_gga(T54, .(s(T38), T39)))
U20_gga(T132, T122, T123, ways1_out_gga(s(T132), T123)) → ways1_out_gga(s(T132), .(s(T122), T123))
U2_gag(T69, nat40_out_g(T69)) → plus36_out_gag(0, T69, T69)
U3_gag(T77, T78, plus36_out_gag(T77, X148, T78)) → plus36_out_gag(s(T77), X148, s(T78))
U7_gag(X255, nat80_out_g(X255)) → plus72_out_gag(0, X255, s(X255))
U8_gag(T148, T149, plus72_out_gag(T148, X273, T149)) → plus72_out_gag(s(T148), X273, s(T149))
U15_gga(T51, T38, T39, ways1_out_gga(T54, .(s(T38), T39))) → ways1_out_gga(s(T51), .(s(T38), T39))
U16_gga(T51, T38, T39, ways1_out_gga(T54, .(s(T38), T39))) → U17_gga(T51, T38, T39, plus55_in_aaa)
nat40_in_g(0) → nat40_out_g(0)
nat40_in_g(s(T72)) → U1_g(T72, nat40_in_g(T72))
nat80_in_g(0) → nat80_out_g(0)
nat80_in_g(s(X261)) → U6_g(X261, nat80_in_g(X261))
ways1_in_gga(0, T5) → ways1_out_gga(0, T5)
U17_gga(T51, T38, T39, plus55_out_aaa(T82, T89, T41)) → ways1_out_gga(s(T51), .(s(T38), T39))
U1_g(T72, nat40_out_g(T72)) → nat40_out_g(s(T72))
U6_g(X261, nat80_out_g(X261)) → nat80_out_g(s(X261))
plus55_in_aaaU4_aaa(nat40_in_a)
plus55_in_aaaU5_aaa(plus55_in_aaa)
U4_aaa(nat40_out_a(T99)) → plus55_out_aaa(0, T99, T99)
U5_aaa(plus55_out_aaa(T106, T107, T109)) → plus55_out_aaa(s(T106), T107, s(T109))
nat40_in_anat40_out_a(0)
nat40_in_aU1_a(nat40_in_a)
U1_a(nat40_out_a(T72)) → nat40_out_a(s(T72))

The set Q consists of the following terms:

plus32_in_gag(x0, x1)
plus68_in_gag(x0, x1)
ways1_in_gga(x0, x1)
U9_gag(x0, x1, x2)
U10_gag(x0, x1, x2)
U11_gga(x0, x1, x2, x3)
U12_gga(x0, x1, x2, x3)
U18_gga(x0, x1, x2, x3)
U19_gga(x0, x1, x2, x3)
plus36_in_gag(x0, x1)
plus72_in_gag(x0, x1)
U13_gga(x0, x1, x2, x3)
U14_gga(x0, x1, x2, x3, x4)
U20_gga(x0, x1, x2, x3)
U2_gag(x0, x1)
U3_gag(x0, x1, x2)
U7_gag(x0, x1)
U8_gag(x0, x1, x2)
U15_gga(x0, x1, x2, x3)
U16_gga(x0, x1, x2, x3)
nat40_in_g(x0)
nat80_in_g(x0)
U17_gga(x0, x1, x2, x3)
U1_g(x0, x1)
U6_g(x0, x1)
plus55_in_aaa
U4_aaa(x0)
U5_aaa(x0)
nat40_in_a
U1_a(x0)

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

(133) DependencyGraphProof (EQUIVALENT transformation)

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

(134) Obligation:

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

U14_GGA(T51, T38, T39, T54, ways1_out_gga(s(T51), T39)) → WAYS1_IN_GGA(T54, .(s(T38), T39))
WAYS1_IN_GGA(s(T51), .(s(T38), T39)) → U12_GGA(T51, T38, T39, U9_gag(T38, T51, plus36_in_gag(T38, T51)))
U12_GGA(T51, T38, T39, plus32_out_gag(T38, T54, T51)) → U14_GGA(T51, T38, T39, T54, ways1_in_gga(s(T51), T39))

The TRS R consists of the following rules:

plus32_in_gag(T62, T63) → U9_gag(T62, T63, plus36_in_gag(T62, T63))
plus68_in_gag(T142, T143) → U10_gag(T142, T143, plus72_in_gag(T142, T143))
ways1_in_gga(T30, []) → ways1_out_gga(T30, [])
ways1_in_gga(s(T51), .(s(T38), T39)) → U11_gga(T51, T38, T39, plus32_in_gag(T38, T51))
ways1_in_gga(s(T51), .(s(T38), T39)) → U12_gga(T51, T38, T39, plus32_in_gag(T38, T51))
ways1_in_gga(s(T132), .(s(T122), T123)) → U18_gga(T132, T122, T123, plus68_in_gag(T132, T122))
ways1_in_gga(s(T132), .(s(T122), T123)) → U19_gga(T132, T122, T123, plus68_in_gag(T132, T122))
U9_gag(T62, T63, plus36_out_gag(T62, X119, T63)) → plus32_out_gag(T62, X119, T63)
U10_gag(T142, T143, plus72_out_gag(T142, X234, T143)) → plus68_out_gag(T142, X234, T143)
U11_gga(T51, T38, T39, plus32_out_gag(T38, X82, T51)) → ways1_out_gga(s(T51), .(s(T38), T39))
U12_gga(T51, T38, T39, plus32_out_gag(T38, T54, T51)) → U13_gga(T51, T38, T39, ways1_in_gga(s(T51), T39))
U12_gga(T51, T38, T39, plus32_out_gag(T38, T54, T51)) → U14_gga(T51, T38, T39, T54, ways1_in_gga(s(T51), T39))
U18_gga(T132, T122, T123, plus68_out_gag(T132, X203, T122)) → ways1_out_gga(s(T132), .(s(T122), T123))
U19_gga(T132, T122, T123, plus68_out_gag(T132, T135, T122)) → U20_gga(T132, T122, T123, ways1_in_gga(s(T132), T123))
plus36_in_gag(0, T69) → U2_gag(T69, nat40_in_g(T69))
plus36_in_gag(s(T77), s(T78)) → U3_gag(T77, T78, plus36_in_gag(T77, T78))
plus72_in_gag(0, s(X255)) → U7_gag(X255, nat80_in_g(X255))
plus72_in_gag(s(T148), s(T149)) → U8_gag(T148, T149, plus72_in_gag(T148, T149))
U13_gga(T51, T38, T39, ways1_out_gga(s(T51), T39)) → ways1_out_gga(s(T51), .(s(T38), T39))
U14_gga(T51, T38, T39, T54, ways1_out_gga(s(T51), T39)) → U15_gga(T51, T38, T39, ways1_in_gga(T54, .(s(T38), T39)))
U14_gga(T51, T38, T39, T54, ways1_out_gga(s(T51), T39)) → U16_gga(T51, T38, T39, ways1_in_gga(T54, .(s(T38), T39)))
U20_gga(T132, T122, T123, ways1_out_gga(s(T132), T123)) → ways1_out_gga(s(T132), .(s(T122), T123))
U2_gag(T69, nat40_out_g(T69)) → plus36_out_gag(0, T69, T69)
U3_gag(T77, T78, plus36_out_gag(T77, X148, T78)) → plus36_out_gag(s(T77), X148, s(T78))
U7_gag(X255, nat80_out_g(X255)) → plus72_out_gag(0, X255, s(X255))
U8_gag(T148, T149, plus72_out_gag(T148, X273, T149)) → plus72_out_gag(s(T148), X273, s(T149))
U15_gga(T51, T38, T39, ways1_out_gga(T54, .(s(T38), T39))) → ways1_out_gga(s(T51), .(s(T38), T39))
U16_gga(T51, T38, T39, ways1_out_gga(T54, .(s(T38), T39))) → U17_gga(T51, T38, T39, plus55_in_aaa)
nat40_in_g(0) → nat40_out_g(0)
nat40_in_g(s(T72)) → U1_g(T72, nat40_in_g(T72))
nat80_in_g(0) → nat80_out_g(0)
nat80_in_g(s(X261)) → U6_g(X261, nat80_in_g(X261))
ways1_in_gga(0, T5) → ways1_out_gga(0, T5)
U17_gga(T51, T38, T39, plus55_out_aaa(T82, T89, T41)) → ways1_out_gga(s(T51), .(s(T38), T39))
U1_g(T72, nat40_out_g(T72)) → nat40_out_g(s(T72))
U6_g(X261, nat80_out_g(X261)) → nat80_out_g(s(X261))
plus55_in_aaaU4_aaa(nat40_in_a)
plus55_in_aaaU5_aaa(plus55_in_aaa)
U4_aaa(nat40_out_a(T99)) → plus55_out_aaa(0, T99, T99)
U5_aaa(plus55_out_aaa(T106, T107, T109)) → plus55_out_aaa(s(T106), T107, s(T109))
nat40_in_anat40_out_a(0)
nat40_in_aU1_a(nat40_in_a)
U1_a(nat40_out_a(T72)) → nat40_out_a(s(T72))

The set Q consists of the following terms:

plus32_in_gag(x0, x1)
plus68_in_gag(x0, x1)
ways1_in_gga(x0, x1)
U9_gag(x0, x1, x2)
U10_gag(x0, x1, x2)
U11_gga(x0, x1, x2, x3)
U12_gga(x0, x1, x2, x3)
U18_gga(x0, x1, x2, x3)
U19_gga(x0, x1, x2, x3)
plus36_in_gag(x0, x1)
plus72_in_gag(x0, x1)
U13_gga(x0, x1, x2, x3)
U14_gga(x0, x1, x2, x3, x4)
U20_gga(x0, x1, x2, x3)
U2_gag(x0, x1)
U3_gag(x0, x1, x2)
U7_gag(x0, x1)
U8_gag(x0, x1, x2)
U15_gga(x0, x1, x2, x3)
U16_gga(x0, x1, x2, x3)
nat40_in_g(x0)
nat80_in_g(x0)
U17_gga(x0, x1, x2, x3)
U1_g(x0, x1)
U6_g(x0, x1)
plus55_in_aaa
U4_aaa(x0)
U5_aaa(x0)
nat40_in_a
U1_a(x0)

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

(135) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


U12_GGA(T51, T38, T39, plus32_out_gag(T38, T54, T51)) → U14_GGA(T51, T38, T39, T54, ways1_in_gga(s(T51), T39))
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:

POL(.(x1, x2)) = x2   
POL(0) = 0   
POL(U10_gag(x1, x2, x3)) = 0   
POL(U11_gga(x1, x2, x3, x4)) = x3   
POL(U12_GGA(x1, x2, x3, x4)) = x4   
POL(U12_gga(x1, x2, x3, x4)) = x3   
POL(U13_gga(x1, x2, x3, x4)) = 0   
POL(U14_GGA(x1, x2, x3, x4, x5)) = x4   
POL(U14_gga(x1, x2, x3, x4, x5)) = x5   
POL(U15_gga(x1, x2, x3, x4)) = 0   
POL(U16_gga(x1, x2, x3, x4)) = 0   
POL(U17_gga(x1, x2, x3, x4)) = 0   
POL(U18_gga(x1, x2, x3, x4)) = x3   
POL(U19_gga(x1, x2, x3, x4)) = x3   
POL(U1_a(x1)) = 0   
POL(U1_g(x1, x2)) = 0   
POL(U20_gga(x1, x2, x3, x4)) = 0   
POL(U2_gag(x1, x2)) = x1   
POL(U3_gag(x1, x2, x3)) = 1 + x3   
POL(U4_aaa(x1)) = 0   
POL(U5_aaa(x1)) = 0   
POL(U6_g(x1, x2)) = 0   
POL(U7_gag(x1, x2)) = 0   
POL(U8_gag(x1, x2, x3)) = 0   
POL(U9_gag(x1, x2, x3)) = 1 + x3   
POL(WAYS1_IN_GGA(x1, x2)) = x1   
POL([]) = 0   
POL(nat40_in_a) = 0   
POL(nat40_in_g(x1)) = 0   
POL(nat40_out_a(x1)) = 0   
POL(nat40_out_g(x1)) = 0   
POL(nat80_in_g(x1)) = 0   
POL(nat80_out_g(x1)) = 0   
POL(plus32_in_gag(x1, x2)) = 0   
POL(plus32_out_gag(x1, x2, x3)) = 1 + x2   
POL(plus36_in_gag(x1, x2)) = x2   
POL(plus36_out_gag(x1, x2, x3)) = x2   
POL(plus55_in_aaa) = 0   
POL(plus55_out_aaa(x1, x2, x3)) = 0   
POL(plus68_in_gag(x1, x2)) = 0   
POL(plus68_out_gag(x1, x2, x3)) = 0   
POL(plus72_in_gag(x1, x2)) = 0   
POL(plus72_out_gag(x1, x2, x3)) = 0   
POL(s(x1)) = 1 + x1   
POL(ways1_in_gga(x1, x2)) = x2   
POL(ways1_out_gga(x1, x2)) = 0   

The following usable rules [FROCOS05] were oriented:

plus36_in_gag(0, T69) → U2_gag(T69, nat40_in_g(T69))
plus36_in_gag(s(T77), s(T78)) → U3_gag(T77, T78, plus36_in_gag(T77, T78))
U9_gag(T62, T63, plus36_out_gag(T62, X119, T63)) → plus32_out_gag(T62, X119, T63)
U3_gag(T77, T78, plus36_out_gag(T77, X148, T78)) → plus36_out_gag(s(T77), X148, s(T78))
U2_gag(T69, nat40_out_g(T69)) → plus36_out_gag(0, T69, T69)

(136) Obligation:

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

U14_GGA(T51, T38, T39, T54, ways1_out_gga(s(T51), T39)) → WAYS1_IN_GGA(T54, .(s(T38), T39))
WAYS1_IN_GGA(s(T51), .(s(T38), T39)) → U12_GGA(T51, T38, T39, U9_gag(T38, T51, plus36_in_gag(T38, T51)))

The TRS R consists of the following rules:

plus32_in_gag(T62, T63) → U9_gag(T62, T63, plus36_in_gag(T62, T63))
plus68_in_gag(T142, T143) → U10_gag(T142, T143, plus72_in_gag(T142, T143))
ways1_in_gga(T30, []) → ways1_out_gga(T30, [])
ways1_in_gga(s(T51), .(s(T38), T39)) → U11_gga(T51, T38, T39, plus32_in_gag(T38, T51))
ways1_in_gga(s(T51), .(s(T38), T39)) → U12_gga(T51, T38, T39, plus32_in_gag(T38, T51))
ways1_in_gga(s(T132), .(s(T122), T123)) → U18_gga(T132, T122, T123, plus68_in_gag(T132, T122))
ways1_in_gga(s(T132), .(s(T122), T123)) → U19_gga(T132, T122, T123, plus68_in_gag(T132, T122))
U9_gag(T62, T63, plus36_out_gag(T62, X119, T63)) → plus32_out_gag(T62, X119, T63)
U10_gag(T142, T143, plus72_out_gag(T142, X234, T143)) → plus68_out_gag(T142, X234, T143)
U11_gga(T51, T38, T39, plus32_out_gag(T38, X82, T51)) → ways1_out_gga(s(T51), .(s(T38), T39))
U12_gga(T51, T38, T39, plus32_out_gag(T38, T54, T51)) → U13_gga(T51, T38, T39, ways1_in_gga(s(T51), T39))
U12_gga(T51, T38, T39, plus32_out_gag(T38, T54, T51)) → U14_gga(T51, T38, T39, T54, ways1_in_gga(s(T51), T39))
U18_gga(T132, T122, T123, plus68_out_gag(T132, X203, T122)) → ways1_out_gga(s(T132), .(s(T122), T123))
U19_gga(T132, T122, T123, plus68_out_gag(T132, T135, T122)) → U20_gga(T132, T122, T123, ways1_in_gga(s(T132), T123))
plus36_in_gag(0, T69) → U2_gag(T69, nat40_in_g(T69))
plus36_in_gag(s(T77), s(T78)) → U3_gag(T77, T78, plus36_in_gag(T77, T78))
plus72_in_gag(0, s(X255)) → U7_gag(X255, nat80_in_g(X255))
plus72_in_gag(s(T148), s(T149)) → U8_gag(T148, T149, plus72_in_gag(T148, T149))
U13_gga(T51, T38, T39, ways1_out_gga(s(T51), T39)) → ways1_out_gga(s(T51), .(s(T38), T39))
U14_gga(T51, T38, T39, T54, ways1_out_gga(s(T51), T39)) → U15_gga(T51, T38, T39, ways1_in_gga(T54, .(s(T38), T39)))
U14_gga(T51, T38, T39, T54, ways1_out_gga(s(T51), T39)) → U16_gga(T51, T38, T39, ways1_in_gga(T54, .(s(T38), T39)))
U20_gga(T132, T122, T123, ways1_out_gga(s(T132), T123)) → ways1_out_gga(s(T132), .(s(T122), T123))
U2_gag(T69, nat40_out_g(T69)) → plus36_out_gag(0, T69, T69)
U3_gag(T77, T78, plus36_out_gag(T77, X148, T78)) → plus36_out_gag(s(T77), X148, s(T78))
U7_gag(X255, nat80_out_g(X255)) → plus72_out_gag(0, X255, s(X255))
U8_gag(T148, T149, plus72_out_gag(T148, X273, T149)) → plus72_out_gag(s(T148), X273, s(T149))
U15_gga(T51, T38, T39, ways1_out_gga(T54, .(s(T38), T39))) → ways1_out_gga(s(T51), .(s(T38), T39))
U16_gga(T51, T38, T39, ways1_out_gga(T54, .(s(T38), T39))) → U17_gga(T51, T38, T39, plus55_in_aaa)
nat40_in_g(0) → nat40_out_g(0)
nat40_in_g(s(T72)) → U1_g(T72, nat40_in_g(T72))
nat80_in_g(0) → nat80_out_g(0)
nat80_in_g(s(X261)) → U6_g(X261, nat80_in_g(X261))
ways1_in_gga(0, T5) → ways1_out_gga(0, T5)
U17_gga(T51, T38, T39, plus55_out_aaa(T82, T89, T41)) → ways1_out_gga(s(T51), .(s(T38), T39))
U1_g(T72, nat40_out_g(T72)) → nat40_out_g(s(T72))
U6_g(X261, nat80_out_g(X261)) → nat80_out_g(s(X261))
plus55_in_aaaU4_aaa(nat40_in_a)
plus55_in_aaaU5_aaa(plus55_in_aaa)
U4_aaa(nat40_out_a(T99)) → plus55_out_aaa(0, T99, T99)
U5_aaa(plus55_out_aaa(T106, T107, T109)) → plus55_out_aaa(s(T106), T107, s(T109))
nat40_in_anat40_out_a(0)
nat40_in_aU1_a(nat40_in_a)
U1_a(nat40_out_a(T72)) → nat40_out_a(s(T72))

The set Q consists of the following terms:

plus32_in_gag(x0, x1)
plus68_in_gag(x0, x1)
ways1_in_gga(x0, x1)
U9_gag(x0, x1, x2)
U10_gag(x0, x1, x2)
U11_gga(x0, x1, x2, x3)
U12_gga(x0, x1, x2, x3)
U18_gga(x0, x1, x2, x3)
U19_gga(x0, x1, x2, x3)
plus36_in_gag(x0, x1)
plus72_in_gag(x0, x1)
U13_gga(x0, x1, x2, x3)
U14_gga(x0, x1, x2, x3, x4)
U20_gga(x0, x1, x2, x3)
U2_gag(x0, x1)
U3_gag(x0, x1, x2)
U7_gag(x0, x1)
U8_gag(x0, x1, x2)
U15_gga(x0, x1, x2, x3)
U16_gga(x0, x1, x2, x3)
nat40_in_g(x0)
nat80_in_g(x0)
U17_gga(x0, x1, x2, x3)
U1_g(x0, x1)
U6_g(x0, x1)
plus55_in_aaa
U4_aaa(x0)
U5_aaa(x0)
nat40_in_a
U1_a(x0)

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

(137) DependencyGraphProof (EQUIVALENT transformation)

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

(138) TRUE