(0) Obligation:

Clauses:

add(0, 0, 0).
add(s(X), Y, s(N)) :- add(X, Y, N).
add(X, s(Y), s(N)) :- add(X, Y, N).
fib(0, 0).
fib(s(0), s(0)).
fib(s(s(X)), N) :- ','(fib(s(X), N1), ','(fib(X, N2), add(N1, N2, N))).

Queries:

fib(g,a).

(1) PrologToDTProblemTransformerProof (SOUND transformation)

Built DT problem from termination graph.

(2) Obligation:

Triples:

add33(s(T27), s(T29)) :- add33(T27, T29).
add21(T20, s(T22)) :- add33(T20, T22).
add21(s(T34), s(T36)) :- add21(T34, T36).
fib48(s(T45), X97) :- p57(T45, X95, X96, X97).
p57(T45, X95, X96, X97) :- fib48(T45, X95).
p57(T45, T46, X96, X97) :- ','(fibc48(T45, T46), fib61(T45, X96)).
p57(T45, T46, T47, X97) :- ','(fibc48(T45, T46), ','(fibc61(T45, T47), add62(T46, T47, X97))).
add62(s(T59), T60, s(X134)) :- add62(T59, T60, X134).
add62(T65, s(T66), s(X149)) :- add62(T65, T66, X149).
fib61(s(s(T50)), X112) :- p57(T50, X110, X111, X112).
add93(s(T82), T83, s(T85)) :- add93(T82, T83, T85).
add93(T92, s(T93), s(T95)) :- add93(T92, T93, T95).
fib1(s(s(0)), T7) :- ','(fibc20(T9), add21(T9, T7)).
fib1(s(s(s(T41))), T7) :- fib48(T41, X80).
fib1(s(s(s(T41))), T7) :- ','(fibc48(T41, T42), fib61(T41, X81)).
fib1(s(s(s(T41))), T7) :- ','(fibc48(T41, T42), ','(fibc61(T41, T67), add62(T42, T67, X82))).
fib1(s(s(s(T41))), T7) :- ','(fibc48(T41, T42), ','(fibc61(T41, T67), ','(addc62(T42, T67, T68), fib48(T41, X10)))).
fib1(s(s(s(T41))), T7) :- ','(fibc48(T41, T42), ','(fibc61(T41, T67), ','(addc62(T42, T67, T68), ','(fibc48(T41, T69), add93(T68, T69, T7))))).

Clauses:

addc33(0, 0).
addc33(s(T27), s(T29)) :- addc33(T27, T29).
addc21(T20, s(T22)) :- addc33(T20, T22).
addc21(s(T34), s(T36)) :- addc21(T34, T36).
fibc48(0, s(0)).
fibc48(s(T45), X97) :- qc57(T45, X95, X96, X97).
qc57(T45, T46, T47, X97) :- ','(fibc48(T45, T46), ','(fibc61(T45, T47), addc62(T46, T47, X97))).
addc62(0, 0, 0).
addc62(s(T59), T60, s(X134)) :- addc62(T59, T60, X134).
addc62(T65, s(T66), s(X149)) :- addc62(T65, T66, X149).
fibc61(0, 0).
fibc61(s(0), s(0)).
fibc61(s(s(T50)), X112) :- qc57(T50, X110, X111, X112).
addc93(0, 0, 0).
addc93(s(T82), T83, s(T85)) :- addc93(T82, T83, T85).
addc93(T92, s(T93), s(T95)) :- addc93(T92, T93, T95).
fibc20(0).

Afs:

fib1(x1, x2)  =  fib1(x1)

(3) TriplesToPiDPProof (SOUND transformation)

We use the technique of [LOPSTR]. With regard to the inferred argument filtering the predicates were used in the following modes:
fib1_in: (b,f)
add21_in: (b,f)
add33_in: (b,f)
fib48_in: (b,f)
p57_in: (b,f,f,f)
fibc48_in: (b,f)
qc57_in: (b,f,f,f)
fibc61_in: (b,f)
addc62_in: (b,b,f)
fib61_in: (b,f)
add62_in: (b,b,f)
add93_in: (b,b,f)
Transforming TRIPLES into the following Term Rewriting System:
Pi DP problem:
The TRS P consists of the following rules:

FIB1_IN_GA(s(s(0)), T7) → U16_GA(T7, fibc20_in_a(T9))
U16_GA(T7, fibc20_out_a(T9)) → U17_GA(T7, add21_in_ga(T9, T7))
U16_GA(T7, fibc20_out_a(T9)) → ADD21_IN_GA(T9, T7)
ADD21_IN_GA(T20, s(T22)) → U2_GA(T20, T22, add33_in_ga(T20, T22))
ADD21_IN_GA(T20, s(T22)) → ADD33_IN_GA(T20, T22)
ADD33_IN_GA(s(T27), s(T29)) → U1_GA(T27, T29, add33_in_ga(T27, T29))
ADD33_IN_GA(s(T27), s(T29)) → ADD33_IN_GA(T27, T29)
ADD21_IN_GA(s(T34), s(T36)) → U3_GA(T34, T36, add21_in_ga(T34, T36))
ADD21_IN_GA(s(T34), s(T36)) → ADD21_IN_GA(T34, T36)
FIB1_IN_GA(s(s(s(T41))), T7) → U18_GA(T41, T7, fib48_in_ga(T41, X80))
FIB1_IN_GA(s(s(s(T41))), T7) → FIB48_IN_GA(T41, X80)
FIB48_IN_GA(s(T45), X97) → U4_GA(T45, X97, p57_in_gaaa(T45, X95, X96, X97))
FIB48_IN_GA(s(T45), X97) → P57_IN_GAAA(T45, X95, X96, X97)
P57_IN_GAAA(T45, X95, X96, X97) → U5_GAAA(T45, X95, X96, X97, fib48_in_ga(T45, X95))
P57_IN_GAAA(T45, X95, X96, X97) → FIB48_IN_GA(T45, X95)
P57_IN_GAAA(T45, T46, X96, X97) → U6_GAAA(T45, T46, X96, X97, fibc48_in_ga(T45, T46))
U6_GAAA(T45, T46, X96, X97, fibc48_out_ga(T45, T46)) → U7_GAAA(T45, T46, X96, X97, fib61_in_ga(T45, X96))
U6_GAAA(T45, T46, X96, X97, fibc48_out_ga(T45, T46)) → FIB61_IN_GA(T45, X96)
FIB61_IN_GA(s(s(T50)), X112) → U13_GA(T50, X112, p57_in_gaaa(T50, X110, X111, X112))
FIB61_IN_GA(s(s(T50)), X112) → P57_IN_GAAA(T50, X110, X111, X112)
P57_IN_GAAA(T45, T46, T47, X97) → U8_GAAA(T45, T46, T47, X97, fibc48_in_ga(T45, T46))
U8_GAAA(T45, T46, T47, X97, fibc48_out_ga(T45, T46)) → U9_GAAA(T45, T46, T47, X97, fibc61_in_ga(T45, T47))
U9_GAAA(T45, T46, T47, X97, fibc61_out_ga(T45, T47)) → U10_GAAA(T45, T46, T47, X97, add62_in_gga(T46, T47, X97))
U9_GAAA(T45, T46, T47, X97, fibc61_out_ga(T45, T47)) → ADD62_IN_GGA(T46, T47, X97)
ADD62_IN_GGA(s(T59), T60, s(X134)) → U11_GGA(T59, T60, X134, add62_in_gga(T59, T60, X134))
ADD62_IN_GGA(s(T59), T60, s(X134)) → ADD62_IN_GGA(T59, T60, X134)
ADD62_IN_GGA(T65, s(T66), s(X149)) → U12_GGA(T65, T66, X149, add62_in_gga(T65, T66, X149))
ADD62_IN_GGA(T65, s(T66), s(X149)) → ADD62_IN_GGA(T65, T66, X149)
FIB1_IN_GA(s(s(s(T41))), T7) → U19_GA(T41, T7, fibc48_in_ga(T41, T42))
U19_GA(T41, T7, fibc48_out_ga(T41, T42)) → U20_GA(T41, T7, fib61_in_ga(T41, X81))
U19_GA(T41, T7, fibc48_out_ga(T41, T42)) → FIB61_IN_GA(T41, X81)
U19_GA(T41, T7, fibc48_out_ga(T41, T42)) → U21_GA(T41, T7, T42, fibc61_in_ga(T41, T67))
U21_GA(T41, T7, T42, fibc61_out_ga(T41, T67)) → U22_GA(T41, T7, add62_in_gga(T42, T67, X82))
U21_GA(T41, T7, T42, fibc61_out_ga(T41, T67)) → ADD62_IN_GGA(T42, T67, X82)
U21_GA(T41, T7, T42, fibc61_out_ga(T41, T67)) → U23_GA(T41, T7, addc62_in_gga(T42, T67, T68))
U23_GA(T41, T7, addc62_out_gga(T42, T67, T68)) → U24_GA(T41, T7, fib48_in_ga(T41, X10))
U23_GA(T41, T7, addc62_out_gga(T42, T67, T68)) → FIB48_IN_GA(T41, X10)
U23_GA(T41, T7, addc62_out_gga(T42, T67, T68)) → U25_GA(T41, T7, T68, fibc48_in_ga(T41, T69))
U25_GA(T41, T7, T68, fibc48_out_ga(T41, T69)) → U26_GA(T41, T7, add93_in_gga(T68, T69, T7))
U25_GA(T41, T7, T68, fibc48_out_ga(T41, T69)) → ADD93_IN_GGA(T68, T69, T7)
ADD93_IN_GGA(s(T82), T83, s(T85)) → U14_GGA(T82, T83, T85, add93_in_gga(T82, T83, T85))
ADD93_IN_GGA(s(T82), T83, s(T85)) → ADD93_IN_GGA(T82, T83, T85)
ADD93_IN_GGA(T92, s(T93), s(T95)) → U15_GGA(T92, T93, T95, add93_in_gga(T92, T93, T95))
ADD93_IN_GGA(T92, s(T93), s(T95)) → ADD93_IN_GGA(T92, T93, T95)

The TRS R consists of the following rules:

fibc20_in_a(0) → fibc20_out_a(0)
fibc48_in_ga(0, s(0)) → fibc48_out_ga(0, s(0))
fibc48_in_ga(s(T45), X97) → U31_ga(T45, X97, qc57_in_gaaa(T45, X95, X96, X97))
qc57_in_gaaa(T45, T46, T47, X97) → U32_gaaa(T45, T46, T47, X97, fibc48_in_ga(T45, T46))
U32_gaaa(T45, T46, T47, X97, fibc48_out_ga(T45, T46)) → U33_gaaa(T45, T46, T47, X97, fibc61_in_ga(T45, T47))
fibc61_in_ga(0, 0) → fibc61_out_ga(0, 0)
fibc61_in_ga(s(0), s(0)) → fibc61_out_ga(s(0), s(0))
fibc61_in_ga(s(s(T50)), X112) → U37_ga(T50, X112, qc57_in_gaaa(T50, X110, X111, X112))
U37_ga(T50, X112, qc57_out_gaaa(T50, X110, X111, X112)) → fibc61_out_ga(s(s(T50)), X112)
U33_gaaa(T45, T46, T47, X97, fibc61_out_ga(T45, T47)) → U34_gaaa(T45, T46, T47, X97, addc62_in_gga(T46, T47, X97))
addc62_in_gga(0, 0, 0) → addc62_out_gga(0, 0, 0)
addc62_in_gga(s(T59), T60, s(X134)) → U35_gga(T59, T60, X134, addc62_in_gga(T59, T60, X134))
addc62_in_gga(T65, s(T66), s(X149)) → U36_gga(T65, T66, X149, addc62_in_gga(T65, T66, X149))
U36_gga(T65, T66, X149, addc62_out_gga(T65, T66, X149)) → addc62_out_gga(T65, s(T66), s(X149))
U35_gga(T59, T60, X134, addc62_out_gga(T59, T60, X134)) → addc62_out_gga(s(T59), T60, s(X134))
U34_gaaa(T45, T46, T47, X97, addc62_out_gga(T46, T47, X97)) → qc57_out_gaaa(T45, T46, T47, X97)
U31_ga(T45, X97, qc57_out_gaaa(T45, X95, X96, X97)) → fibc48_out_ga(s(T45), X97)

The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
0  =  0
fibc20_in_a(x1)  =  fibc20_in_a
fibc20_out_a(x1)  =  fibc20_out_a(x1)
add21_in_ga(x1, x2)  =  add21_in_ga(x1)
add33_in_ga(x1, x2)  =  add33_in_ga(x1)
fib48_in_ga(x1, x2)  =  fib48_in_ga(x1)
p57_in_gaaa(x1, x2, x3, x4)  =  p57_in_gaaa(x1)
fibc48_in_ga(x1, x2)  =  fibc48_in_ga(x1)
fibc48_out_ga(x1, x2)  =  fibc48_out_ga(x1, x2)
U31_ga(x1, x2, x3)  =  U31_ga(x1, x3)
qc57_in_gaaa(x1, x2, x3, x4)  =  qc57_in_gaaa(x1)
U32_gaaa(x1, x2, x3, x4, x5)  =  U32_gaaa(x1, x5)
U33_gaaa(x1, x2, x3, x4, x5)  =  U33_gaaa(x1, x2, x5)
fibc61_in_ga(x1, x2)  =  fibc61_in_ga(x1)
fibc61_out_ga(x1, x2)  =  fibc61_out_ga(x1, x2)
U37_ga(x1, x2, x3)  =  U37_ga(x1, x3)
qc57_out_gaaa(x1, x2, x3, x4)  =  qc57_out_gaaa(x1, x2, x3, x4)
U34_gaaa(x1, x2, x3, x4, x5)  =  U34_gaaa(x1, x2, x3, x5)
addc62_in_gga(x1, x2, x3)  =  addc62_in_gga(x1, x2)
addc62_out_gga(x1, x2, x3)  =  addc62_out_gga(x1, x2, x3)
U35_gga(x1, x2, x3, x4)  =  U35_gga(x1, x2, x4)
U36_gga(x1, x2, x3, x4)  =  U36_gga(x1, x2, x4)
fib61_in_ga(x1, x2)  =  fib61_in_ga(x1)
add62_in_gga(x1, x2, x3)  =  add62_in_gga(x1, x2)
add93_in_gga(x1, x2, x3)  =  add93_in_gga(x1, x2)
FIB1_IN_GA(x1, x2)  =  FIB1_IN_GA(x1)
U16_GA(x1, x2)  =  U16_GA(x2)
U17_GA(x1, x2)  =  U17_GA(x2)
ADD21_IN_GA(x1, x2)  =  ADD21_IN_GA(x1)
U2_GA(x1, x2, x3)  =  U2_GA(x1, x3)
ADD33_IN_GA(x1, x2)  =  ADD33_IN_GA(x1)
U1_GA(x1, x2, x3)  =  U1_GA(x1, x3)
U3_GA(x1, x2, x3)  =  U3_GA(x1, x3)
U18_GA(x1, x2, x3)  =  U18_GA(x1, x3)
FIB48_IN_GA(x1, x2)  =  FIB48_IN_GA(x1)
U4_GA(x1, x2, x3)  =  U4_GA(x1, x3)
P57_IN_GAAA(x1, x2, x3, x4)  =  P57_IN_GAAA(x1)
U5_GAAA(x1, x2, x3, x4, x5)  =  U5_GAAA(x1, x5)
U6_GAAA(x1, x2, x3, x4, x5)  =  U6_GAAA(x1, x5)
U7_GAAA(x1, x2, x3, x4, x5)  =  U7_GAAA(x1, x5)
FIB61_IN_GA(x1, x2)  =  FIB61_IN_GA(x1)
U13_GA(x1, x2, x3)  =  U13_GA(x1, x3)
U8_GAAA(x1, x2, x3, x4, x5)  =  U8_GAAA(x1, x5)
U9_GAAA(x1, x2, x3, x4, x5)  =  U9_GAAA(x1, x2, x5)
U10_GAAA(x1, x2, x3, x4, x5)  =  U10_GAAA(x1, x5)
ADD62_IN_GGA(x1, x2, x3)  =  ADD62_IN_GGA(x1, x2)
U11_GGA(x1, x2, x3, x4)  =  U11_GGA(x1, x2, x4)
U12_GGA(x1, x2, x3, x4)  =  U12_GGA(x1, x2, x4)
U19_GA(x1, x2, x3)  =  U19_GA(x1, x3)
U20_GA(x1, x2, x3)  =  U20_GA(x1, x3)
U21_GA(x1, x2, x3, x4)  =  U21_GA(x1, x3, x4)
U22_GA(x1, x2, x3)  =  U22_GA(x1, x3)
U23_GA(x1, x2, x3)  =  U23_GA(x1, x3)
U24_GA(x1, x2, x3)  =  U24_GA(x1, x3)
U25_GA(x1, x2, x3, x4)  =  U25_GA(x1, x3, x4)
U26_GA(x1, x2, x3)  =  U26_GA(x1, x3)
ADD93_IN_GGA(x1, x2, x3)  =  ADD93_IN_GGA(x1, x2)
U14_GGA(x1, x2, x3, x4)  =  U14_GGA(x1, x2, x4)
U15_GGA(x1, x2, x3, x4)  =  U15_GGA(x1, x2, x4)

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

Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES

(4) Obligation:

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

FIB1_IN_GA(s(s(0)), T7) → U16_GA(T7, fibc20_in_a(T9))
U16_GA(T7, fibc20_out_a(T9)) → U17_GA(T7, add21_in_ga(T9, T7))
U16_GA(T7, fibc20_out_a(T9)) → ADD21_IN_GA(T9, T7)
ADD21_IN_GA(T20, s(T22)) → U2_GA(T20, T22, add33_in_ga(T20, T22))
ADD21_IN_GA(T20, s(T22)) → ADD33_IN_GA(T20, T22)
ADD33_IN_GA(s(T27), s(T29)) → U1_GA(T27, T29, add33_in_ga(T27, T29))
ADD33_IN_GA(s(T27), s(T29)) → ADD33_IN_GA(T27, T29)
ADD21_IN_GA(s(T34), s(T36)) → U3_GA(T34, T36, add21_in_ga(T34, T36))
ADD21_IN_GA(s(T34), s(T36)) → ADD21_IN_GA(T34, T36)
FIB1_IN_GA(s(s(s(T41))), T7) → U18_GA(T41, T7, fib48_in_ga(T41, X80))
FIB1_IN_GA(s(s(s(T41))), T7) → FIB48_IN_GA(T41, X80)
FIB48_IN_GA(s(T45), X97) → U4_GA(T45, X97, p57_in_gaaa(T45, X95, X96, X97))
FIB48_IN_GA(s(T45), X97) → P57_IN_GAAA(T45, X95, X96, X97)
P57_IN_GAAA(T45, X95, X96, X97) → U5_GAAA(T45, X95, X96, X97, fib48_in_ga(T45, X95))
P57_IN_GAAA(T45, X95, X96, X97) → FIB48_IN_GA(T45, X95)
P57_IN_GAAA(T45, T46, X96, X97) → U6_GAAA(T45, T46, X96, X97, fibc48_in_ga(T45, T46))
U6_GAAA(T45, T46, X96, X97, fibc48_out_ga(T45, T46)) → U7_GAAA(T45, T46, X96, X97, fib61_in_ga(T45, X96))
U6_GAAA(T45, T46, X96, X97, fibc48_out_ga(T45, T46)) → FIB61_IN_GA(T45, X96)
FIB61_IN_GA(s(s(T50)), X112) → U13_GA(T50, X112, p57_in_gaaa(T50, X110, X111, X112))
FIB61_IN_GA(s(s(T50)), X112) → P57_IN_GAAA(T50, X110, X111, X112)
P57_IN_GAAA(T45, T46, T47, X97) → U8_GAAA(T45, T46, T47, X97, fibc48_in_ga(T45, T46))
U8_GAAA(T45, T46, T47, X97, fibc48_out_ga(T45, T46)) → U9_GAAA(T45, T46, T47, X97, fibc61_in_ga(T45, T47))
U9_GAAA(T45, T46, T47, X97, fibc61_out_ga(T45, T47)) → U10_GAAA(T45, T46, T47, X97, add62_in_gga(T46, T47, X97))
U9_GAAA(T45, T46, T47, X97, fibc61_out_ga(T45, T47)) → ADD62_IN_GGA(T46, T47, X97)
ADD62_IN_GGA(s(T59), T60, s(X134)) → U11_GGA(T59, T60, X134, add62_in_gga(T59, T60, X134))
ADD62_IN_GGA(s(T59), T60, s(X134)) → ADD62_IN_GGA(T59, T60, X134)
ADD62_IN_GGA(T65, s(T66), s(X149)) → U12_GGA(T65, T66, X149, add62_in_gga(T65, T66, X149))
ADD62_IN_GGA(T65, s(T66), s(X149)) → ADD62_IN_GGA(T65, T66, X149)
FIB1_IN_GA(s(s(s(T41))), T7) → U19_GA(T41, T7, fibc48_in_ga(T41, T42))
U19_GA(T41, T7, fibc48_out_ga(T41, T42)) → U20_GA(T41, T7, fib61_in_ga(T41, X81))
U19_GA(T41, T7, fibc48_out_ga(T41, T42)) → FIB61_IN_GA(T41, X81)
U19_GA(T41, T7, fibc48_out_ga(T41, T42)) → U21_GA(T41, T7, T42, fibc61_in_ga(T41, T67))
U21_GA(T41, T7, T42, fibc61_out_ga(T41, T67)) → U22_GA(T41, T7, add62_in_gga(T42, T67, X82))
U21_GA(T41, T7, T42, fibc61_out_ga(T41, T67)) → ADD62_IN_GGA(T42, T67, X82)
U21_GA(T41, T7, T42, fibc61_out_ga(T41, T67)) → U23_GA(T41, T7, addc62_in_gga(T42, T67, T68))
U23_GA(T41, T7, addc62_out_gga(T42, T67, T68)) → U24_GA(T41, T7, fib48_in_ga(T41, X10))
U23_GA(T41, T7, addc62_out_gga(T42, T67, T68)) → FIB48_IN_GA(T41, X10)
U23_GA(T41, T7, addc62_out_gga(T42, T67, T68)) → U25_GA(T41, T7, T68, fibc48_in_ga(T41, T69))
U25_GA(T41, T7, T68, fibc48_out_ga(T41, T69)) → U26_GA(T41, T7, add93_in_gga(T68, T69, T7))
U25_GA(T41, T7, T68, fibc48_out_ga(T41, T69)) → ADD93_IN_GGA(T68, T69, T7)
ADD93_IN_GGA(s(T82), T83, s(T85)) → U14_GGA(T82, T83, T85, add93_in_gga(T82, T83, T85))
ADD93_IN_GGA(s(T82), T83, s(T85)) → ADD93_IN_GGA(T82, T83, T85)
ADD93_IN_GGA(T92, s(T93), s(T95)) → U15_GGA(T92, T93, T95, add93_in_gga(T92, T93, T95))
ADD93_IN_GGA(T92, s(T93), s(T95)) → ADD93_IN_GGA(T92, T93, T95)

The TRS R consists of the following rules:

fibc20_in_a(0) → fibc20_out_a(0)
fibc48_in_ga(0, s(0)) → fibc48_out_ga(0, s(0))
fibc48_in_ga(s(T45), X97) → U31_ga(T45, X97, qc57_in_gaaa(T45, X95, X96, X97))
qc57_in_gaaa(T45, T46, T47, X97) → U32_gaaa(T45, T46, T47, X97, fibc48_in_ga(T45, T46))
U32_gaaa(T45, T46, T47, X97, fibc48_out_ga(T45, T46)) → U33_gaaa(T45, T46, T47, X97, fibc61_in_ga(T45, T47))
fibc61_in_ga(0, 0) → fibc61_out_ga(0, 0)
fibc61_in_ga(s(0), s(0)) → fibc61_out_ga(s(0), s(0))
fibc61_in_ga(s(s(T50)), X112) → U37_ga(T50, X112, qc57_in_gaaa(T50, X110, X111, X112))
U37_ga(T50, X112, qc57_out_gaaa(T50, X110, X111, X112)) → fibc61_out_ga(s(s(T50)), X112)
U33_gaaa(T45, T46, T47, X97, fibc61_out_ga(T45, T47)) → U34_gaaa(T45, T46, T47, X97, addc62_in_gga(T46, T47, X97))
addc62_in_gga(0, 0, 0) → addc62_out_gga(0, 0, 0)
addc62_in_gga(s(T59), T60, s(X134)) → U35_gga(T59, T60, X134, addc62_in_gga(T59, T60, X134))
addc62_in_gga(T65, s(T66), s(X149)) → U36_gga(T65, T66, X149, addc62_in_gga(T65, T66, X149))
U36_gga(T65, T66, X149, addc62_out_gga(T65, T66, X149)) → addc62_out_gga(T65, s(T66), s(X149))
U35_gga(T59, T60, X134, addc62_out_gga(T59, T60, X134)) → addc62_out_gga(s(T59), T60, s(X134))
U34_gaaa(T45, T46, T47, X97, addc62_out_gga(T46, T47, X97)) → qc57_out_gaaa(T45, T46, T47, X97)
U31_ga(T45, X97, qc57_out_gaaa(T45, X95, X96, X97)) → fibc48_out_ga(s(T45), X97)

The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
0  =  0
fibc20_in_a(x1)  =  fibc20_in_a
fibc20_out_a(x1)  =  fibc20_out_a(x1)
add21_in_ga(x1, x2)  =  add21_in_ga(x1)
add33_in_ga(x1, x2)  =  add33_in_ga(x1)
fib48_in_ga(x1, x2)  =  fib48_in_ga(x1)
p57_in_gaaa(x1, x2, x3, x4)  =  p57_in_gaaa(x1)
fibc48_in_ga(x1, x2)  =  fibc48_in_ga(x1)
fibc48_out_ga(x1, x2)  =  fibc48_out_ga(x1, x2)
U31_ga(x1, x2, x3)  =  U31_ga(x1, x3)
qc57_in_gaaa(x1, x2, x3, x4)  =  qc57_in_gaaa(x1)
U32_gaaa(x1, x2, x3, x4, x5)  =  U32_gaaa(x1, x5)
U33_gaaa(x1, x2, x3, x4, x5)  =  U33_gaaa(x1, x2, x5)
fibc61_in_ga(x1, x2)  =  fibc61_in_ga(x1)
fibc61_out_ga(x1, x2)  =  fibc61_out_ga(x1, x2)
U37_ga(x1, x2, x3)  =  U37_ga(x1, x3)
qc57_out_gaaa(x1, x2, x3, x4)  =  qc57_out_gaaa(x1, x2, x3, x4)
U34_gaaa(x1, x2, x3, x4, x5)  =  U34_gaaa(x1, x2, x3, x5)
addc62_in_gga(x1, x2, x3)  =  addc62_in_gga(x1, x2)
addc62_out_gga(x1, x2, x3)  =  addc62_out_gga(x1, x2, x3)
U35_gga(x1, x2, x3, x4)  =  U35_gga(x1, x2, x4)
U36_gga(x1, x2, x3, x4)  =  U36_gga(x1, x2, x4)
fib61_in_ga(x1, x2)  =  fib61_in_ga(x1)
add62_in_gga(x1, x2, x3)  =  add62_in_gga(x1, x2)
add93_in_gga(x1, x2, x3)  =  add93_in_gga(x1, x2)
FIB1_IN_GA(x1, x2)  =  FIB1_IN_GA(x1)
U16_GA(x1, x2)  =  U16_GA(x2)
U17_GA(x1, x2)  =  U17_GA(x2)
ADD21_IN_GA(x1, x2)  =  ADD21_IN_GA(x1)
U2_GA(x1, x2, x3)  =  U2_GA(x1, x3)
ADD33_IN_GA(x1, x2)  =  ADD33_IN_GA(x1)
U1_GA(x1, x2, x3)  =  U1_GA(x1, x3)
U3_GA(x1, x2, x3)  =  U3_GA(x1, x3)
U18_GA(x1, x2, x3)  =  U18_GA(x1, x3)
FIB48_IN_GA(x1, x2)  =  FIB48_IN_GA(x1)
U4_GA(x1, x2, x3)  =  U4_GA(x1, x3)
P57_IN_GAAA(x1, x2, x3, x4)  =  P57_IN_GAAA(x1)
U5_GAAA(x1, x2, x3, x4, x5)  =  U5_GAAA(x1, x5)
U6_GAAA(x1, x2, x3, x4, x5)  =  U6_GAAA(x1, x5)
U7_GAAA(x1, x2, x3, x4, x5)  =  U7_GAAA(x1, x5)
FIB61_IN_GA(x1, x2)  =  FIB61_IN_GA(x1)
U13_GA(x1, x2, x3)  =  U13_GA(x1, x3)
U8_GAAA(x1, x2, x3, x4, x5)  =  U8_GAAA(x1, x5)
U9_GAAA(x1, x2, x3, x4, x5)  =  U9_GAAA(x1, x2, x5)
U10_GAAA(x1, x2, x3, x4, x5)  =  U10_GAAA(x1, x5)
ADD62_IN_GGA(x1, x2, x3)  =  ADD62_IN_GGA(x1, x2)
U11_GGA(x1, x2, x3, x4)  =  U11_GGA(x1, x2, x4)
U12_GGA(x1, x2, x3, x4)  =  U12_GGA(x1, x2, x4)
U19_GA(x1, x2, x3)  =  U19_GA(x1, x3)
U20_GA(x1, x2, x3)  =  U20_GA(x1, x3)
U21_GA(x1, x2, x3, x4)  =  U21_GA(x1, x3, x4)
U22_GA(x1, x2, x3)  =  U22_GA(x1, x3)
U23_GA(x1, x2, x3)  =  U23_GA(x1, x3)
U24_GA(x1, x2, x3)  =  U24_GA(x1, x3)
U25_GA(x1, x2, x3, x4)  =  U25_GA(x1, x3, x4)
U26_GA(x1, x2, x3)  =  U26_GA(x1, x3)
ADD93_IN_GGA(x1, x2, x3)  =  ADD93_IN_GGA(x1, x2)
U14_GGA(x1, x2, x3, x4)  =  U14_GGA(x1, x2, x4)
U15_GGA(x1, x2, x3, x4)  =  U15_GGA(x1, x2, x4)

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

(5) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LOPSTR] contains 5 SCCs with 33 less nodes.

(6) Complex Obligation (AND)

(7) Obligation:

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

ADD93_IN_GGA(T92, s(T93), s(T95)) → ADD93_IN_GGA(T92, T93, T95)
ADD93_IN_GGA(s(T82), T83, s(T85)) → ADD93_IN_GGA(T82, T83, T85)

The TRS R consists of the following rules:

fibc20_in_a(0) → fibc20_out_a(0)
fibc48_in_ga(0, s(0)) → fibc48_out_ga(0, s(0))
fibc48_in_ga(s(T45), X97) → U31_ga(T45, X97, qc57_in_gaaa(T45, X95, X96, X97))
qc57_in_gaaa(T45, T46, T47, X97) → U32_gaaa(T45, T46, T47, X97, fibc48_in_ga(T45, T46))
U32_gaaa(T45, T46, T47, X97, fibc48_out_ga(T45, T46)) → U33_gaaa(T45, T46, T47, X97, fibc61_in_ga(T45, T47))
fibc61_in_ga(0, 0) → fibc61_out_ga(0, 0)
fibc61_in_ga(s(0), s(0)) → fibc61_out_ga(s(0), s(0))
fibc61_in_ga(s(s(T50)), X112) → U37_ga(T50, X112, qc57_in_gaaa(T50, X110, X111, X112))
U37_ga(T50, X112, qc57_out_gaaa(T50, X110, X111, X112)) → fibc61_out_ga(s(s(T50)), X112)
U33_gaaa(T45, T46, T47, X97, fibc61_out_ga(T45, T47)) → U34_gaaa(T45, T46, T47, X97, addc62_in_gga(T46, T47, X97))
addc62_in_gga(0, 0, 0) → addc62_out_gga(0, 0, 0)
addc62_in_gga(s(T59), T60, s(X134)) → U35_gga(T59, T60, X134, addc62_in_gga(T59, T60, X134))
addc62_in_gga(T65, s(T66), s(X149)) → U36_gga(T65, T66, X149, addc62_in_gga(T65, T66, X149))
U36_gga(T65, T66, X149, addc62_out_gga(T65, T66, X149)) → addc62_out_gga(T65, s(T66), s(X149))
U35_gga(T59, T60, X134, addc62_out_gga(T59, T60, X134)) → addc62_out_gga(s(T59), T60, s(X134))
U34_gaaa(T45, T46, T47, X97, addc62_out_gga(T46, T47, X97)) → qc57_out_gaaa(T45, T46, T47, X97)
U31_ga(T45, X97, qc57_out_gaaa(T45, X95, X96, X97)) → fibc48_out_ga(s(T45), X97)

The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
0  =  0
fibc20_in_a(x1)  =  fibc20_in_a
fibc20_out_a(x1)  =  fibc20_out_a(x1)
fibc48_in_ga(x1, x2)  =  fibc48_in_ga(x1)
fibc48_out_ga(x1, x2)  =  fibc48_out_ga(x1, x2)
U31_ga(x1, x2, x3)  =  U31_ga(x1, x3)
qc57_in_gaaa(x1, x2, x3, x4)  =  qc57_in_gaaa(x1)
U32_gaaa(x1, x2, x3, x4, x5)  =  U32_gaaa(x1, x5)
U33_gaaa(x1, x2, x3, x4, x5)  =  U33_gaaa(x1, x2, x5)
fibc61_in_ga(x1, x2)  =  fibc61_in_ga(x1)
fibc61_out_ga(x1, x2)  =  fibc61_out_ga(x1, x2)
U37_ga(x1, x2, x3)  =  U37_ga(x1, x3)
qc57_out_gaaa(x1, x2, x3, x4)  =  qc57_out_gaaa(x1, x2, x3, x4)
U34_gaaa(x1, x2, x3, x4, x5)  =  U34_gaaa(x1, x2, x3, x5)
addc62_in_gga(x1, x2, x3)  =  addc62_in_gga(x1, x2)
addc62_out_gga(x1, x2, x3)  =  addc62_out_gga(x1, x2, x3)
U35_gga(x1, x2, x3, x4)  =  U35_gga(x1, x2, x4)
U36_gga(x1, x2, x3, x4)  =  U36_gga(x1, x2, x4)
ADD93_IN_GGA(x1, x2, x3)  =  ADD93_IN_GGA(x1, x2)

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

(8) UsableRulesProof (EQUIVALENT transformation)

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

(9) Obligation:

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

ADD93_IN_GGA(T92, s(T93), s(T95)) → ADD93_IN_GGA(T92, T93, T95)
ADD93_IN_GGA(s(T82), T83, s(T85)) → ADD93_IN_GGA(T82, T83, T85)

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

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

(10) PiDPToQDPProof (SOUND transformation)

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

(11) Obligation:

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

ADD93_IN_GGA(T92, s(T93)) → ADD93_IN_GGA(T92, T93)
ADD93_IN_GGA(s(T82), T83) → ADD93_IN_GGA(T82, T83)

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

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

  • ADD93_IN_GGA(T92, s(T93)) → ADD93_IN_GGA(T92, T93)
    The graph contains the following edges 1 >= 1, 2 > 2

  • ADD93_IN_GGA(s(T82), T83) → ADD93_IN_GGA(T82, T83)
    The graph contains the following edges 1 > 1, 2 >= 2

(13) YES

(14) Obligation:

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

ADD62_IN_GGA(T65, s(T66), s(X149)) → ADD62_IN_GGA(T65, T66, X149)
ADD62_IN_GGA(s(T59), T60, s(X134)) → ADD62_IN_GGA(T59, T60, X134)

The TRS R consists of the following rules:

fibc20_in_a(0) → fibc20_out_a(0)
fibc48_in_ga(0, s(0)) → fibc48_out_ga(0, s(0))
fibc48_in_ga(s(T45), X97) → U31_ga(T45, X97, qc57_in_gaaa(T45, X95, X96, X97))
qc57_in_gaaa(T45, T46, T47, X97) → U32_gaaa(T45, T46, T47, X97, fibc48_in_ga(T45, T46))
U32_gaaa(T45, T46, T47, X97, fibc48_out_ga(T45, T46)) → U33_gaaa(T45, T46, T47, X97, fibc61_in_ga(T45, T47))
fibc61_in_ga(0, 0) → fibc61_out_ga(0, 0)
fibc61_in_ga(s(0), s(0)) → fibc61_out_ga(s(0), s(0))
fibc61_in_ga(s(s(T50)), X112) → U37_ga(T50, X112, qc57_in_gaaa(T50, X110, X111, X112))
U37_ga(T50, X112, qc57_out_gaaa(T50, X110, X111, X112)) → fibc61_out_ga(s(s(T50)), X112)
U33_gaaa(T45, T46, T47, X97, fibc61_out_ga(T45, T47)) → U34_gaaa(T45, T46, T47, X97, addc62_in_gga(T46, T47, X97))
addc62_in_gga(0, 0, 0) → addc62_out_gga(0, 0, 0)
addc62_in_gga(s(T59), T60, s(X134)) → U35_gga(T59, T60, X134, addc62_in_gga(T59, T60, X134))
addc62_in_gga(T65, s(T66), s(X149)) → U36_gga(T65, T66, X149, addc62_in_gga(T65, T66, X149))
U36_gga(T65, T66, X149, addc62_out_gga(T65, T66, X149)) → addc62_out_gga(T65, s(T66), s(X149))
U35_gga(T59, T60, X134, addc62_out_gga(T59, T60, X134)) → addc62_out_gga(s(T59), T60, s(X134))
U34_gaaa(T45, T46, T47, X97, addc62_out_gga(T46, T47, X97)) → qc57_out_gaaa(T45, T46, T47, X97)
U31_ga(T45, X97, qc57_out_gaaa(T45, X95, X96, X97)) → fibc48_out_ga(s(T45), X97)

The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
0  =  0
fibc20_in_a(x1)  =  fibc20_in_a
fibc20_out_a(x1)  =  fibc20_out_a(x1)
fibc48_in_ga(x1, x2)  =  fibc48_in_ga(x1)
fibc48_out_ga(x1, x2)  =  fibc48_out_ga(x1, x2)
U31_ga(x1, x2, x3)  =  U31_ga(x1, x3)
qc57_in_gaaa(x1, x2, x3, x4)  =  qc57_in_gaaa(x1)
U32_gaaa(x1, x2, x3, x4, x5)  =  U32_gaaa(x1, x5)
U33_gaaa(x1, x2, x3, x4, x5)  =  U33_gaaa(x1, x2, x5)
fibc61_in_ga(x1, x2)  =  fibc61_in_ga(x1)
fibc61_out_ga(x1, x2)  =  fibc61_out_ga(x1, x2)
U37_ga(x1, x2, x3)  =  U37_ga(x1, x3)
qc57_out_gaaa(x1, x2, x3, x4)  =  qc57_out_gaaa(x1, x2, x3, x4)
U34_gaaa(x1, x2, x3, x4, x5)  =  U34_gaaa(x1, x2, x3, x5)
addc62_in_gga(x1, x2, x3)  =  addc62_in_gga(x1, x2)
addc62_out_gga(x1, x2, x3)  =  addc62_out_gga(x1, x2, x3)
U35_gga(x1, x2, x3, x4)  =  U35_gga(x1, x2, x4)
U36_gga(x1, x2, x3, x4)  =  U36_gga(x1, x2, x4)
ADD62_IN_GGA(x1, x2, x3)  =  ADD62_IN_GGA(x1, x2)

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

(15) UsableRulesProof (EQUIVALENT transformation)

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

(16) Obligation:

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

ADD62_IN_GGA(T65, s(T66), s(X149)) → ADD62_IN_GGA(T65, T66, X149)
ADD62_IN_GGA(s(T59), T60, s(X134)) → ADD62_IN_GGA(T59, T60, X134)

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

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

(17) PiDPToQDPProof (SOUND transformation)

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

(18) Obligation:

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

ADD62_IN_GGA(T65, s(T66)) → ADD62_IN_GGA(T65, T66)
ADD62_IN_GGA(s(T59), T60) → ADD62_IN_GGA(T59, T60)

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

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

  • ADD62_IN_GGA(T65, s(T66)) → ADD62_IN_GGA(T65, T66)
    The graph contains the following edges 1 >= 1, 2 > 2

  • ADD62_IN_GGA(s(T59), T60) → ADD62_IN_GGA(T59, T60)
    The graph contains the following edges 1 > 1, 2 >= 2

(20) YES

(21) Obligation:

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

FIB48_IN_GA(s(T45), X97) → P57_IN_GAAA(T45, X95, X96, X97)
P57_IN_GAAA(T45, X95, X96, X97) → FIB48_IN_GA(T45, X95)
P57_IN_GAAA(T45, T46, X96, X97) → U6_GAAA(T45, T46, X96, X97, fibc48_in_ga(T45, T46))
U6_GAAA(T45, T46, X96, X97, fibc48_out_ga(T45, T46)) → FIB61_IN_GA(T45, X96)
FIB61_IN_GA(s(s(T50)), X112) → P57_IN_GAAA(T50, X110, X111, X112)

The TRS R consists of the following rules:

fibc20_in_a(0) → fibc20_out_a(0)
fibc48_in_ga(0, s(0)) → fibc48_out_ga(0, s(0))
fibc48_in_ga(s(T45), X97) → U31_ga(T45, X97, qc57_in_gaaa(T45, X95, X96, X97))
qc57_in_gaaa(T45, T46, T47, X97) → U32_gaaa(T45, T46, T47, X97, fibc48_in_ga(T45, T46))
U32_gaaa(T45, T46, T47, X97, fibc48_out_ga(T45, T46)) → U33_gaaa(T45, T46, T47, X97, fibc61_in_ga(T45, T47))
fibc61_in_ga(0, 0) → fibc61_out_ga(0, 0)
fibc61_in_ga(s(0), s(0)) → fibc61_out_ga(s(0), s(0))
fibc61_in_ga(s(s(T50)), X112) → U37_ga(T50, X112, qc57_in_gaaa(T50, X110, X111, X112))
U37_ga(T50, X112, qc57_out_gaaa(T50, X110, X111, X112)) → fibc61_out_ga(s(s(T50)), X112)
U33_gaaa(T45, T46, T47, X97, fibc61_out_ga(T45, T47)) → U34_gaaa(T45, T46, T47, X97, addc62_in_gga(T46, T47, X97))
addc62_in_gga(0, 0, 0) → addc62_out_gga(0, 0, 0)
addc62_in_gga(s(T59), T60, s(X134)) → U35_gga(T59, T60, X134, addc62_in_gga(T59, T60, X134))
addc62_in_gga(T65, s(T66), s(X149)) → U36_gga(T65, T66, X149, addc62_in_gga(T65, T66, X149))
U36_gga(T65, T66, X149, addc62_out_gga(T65, T66, X149)) → addc62_out_gga(T65, s(T66), s(X149))
U35_gga(T59, T60, X134, addc62_out_gga(T59, T60, X134)) → addc62_out_gga(s(T59), T60, s(X134))
U34_gaaa(T45, T46, T47, X97, addc62_out_gga(T46, T47, X97)) → qc57_out_gaaa(T45, T46, T47, X97)
U31_ga(T45, X97, qc57_out_gaaa(T45, X95, X96, X97)) → fibc48_out_ga(s(T45), X97)

The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
0  =  0
fibc20_in_a(x1)  =  fibc20_in_a
fibc20_out_a(x1)  =  fibc20_out_a(x1)
fibc48_in_ga(x1, x2)  =  fibc48_in_ga(x1)
fibc48_out_ga(x1, x2)  =  fibc48_out_ga(x1, x2)
U31_ga(x1, x2, x3)  =  U31_ga(x1, x3)
qc57_in_gaaa(x1, x2, x3, x4)  =  qc57_in_gaaa(x1)
U32_gaaa(x1, x2, x3, x4, x5)  =  U32_gaaa(x1, x5)
U33_gaaa(x1, x2, x3, x4, x5)  =  U33_gaaa(x1, x2, x5)
fibc61_in_ga(x1, x2)  =  fibc61_in_ga(x1)
fibc61_out_ga(x1, x2)  =  fibc61_out_ga(x1, x2)
U37_ga(x1, x2, x3)  =  U37_ga(x1, x3)
qc57_out_gaaa(x1, x2, x3, x4)  =  qc57_out_gaaa(x1, x2, x3, x4)
U34_gaaa(x1, x2, x3, x4, x5)  =  U34_gaaa(x1, x2, x3, x5)
addc62_in_gga(x1, x2, x3)  =  addc62_in_gga(x1, x2)
addc62_out_gga(x1, x2, x3)  =  addc62_out_gga(x1, x2, x3)
U35_gga(x1, x2, x3, x4)  =  U35_gga(x1, x2, x4)
U36_gga(x1, x2, x3, x4)  =  U36_gga(x1, x2, x4)
FIB48_IN_GA(x1, x2)  =  FIB48_IN_GA(x1)
P57_IN_GAAA(x1, x2, x3, x4)  =  P57_IN_GAAA(x1)
U6_GAAA(x1, x2, x3, x4, x5)  =  U6_GAAA(x1, x5)
FIB61_IN_GA(x1, x2)  =  FIB61_IN_GA(x1)

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

(22) UsableRulesProof (EQUIVALENT transformation)

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

(23) Obligation:

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

FIB48_IN_GA(s(T45), X97) → P57_IN_GAAA(T45, X95, X96, X97)
P57_IN_GAAA(T45, X95, X96, X97) → FIB48_IN_GA(T45, X95)
P57_IN_GAAA(T45, T46, X96, X97) → U6_GAAA(T45, T46, X96, X97, fibc48_in_ga(T45, T46))
U6_GAAA(T45, T46, X96, X97, fibc48_out_ga(T45, T46)) → FIB61_IN_GA(T45, X96)
FIB61_IN_GA(s(s(T50)), X112) → P57_IN_GAAA(T50, X110, X111, X112)

The TRS R consists of the following rules:

fibc48_in_ga(0, s(0)) → fibc48_out_ga(0, s(0))
fibc48_in_ga(s(T45), X97) → U31_ga(T45, X97, qc57_in_gaaa(T45, X95, X96, X97))
U31_ga(T45, X97, qc57_out_gaaa(T45, X95, X96, X97)) → fibc48_out_ga(s(T45), X97)
qc57_in_gaaa(T45, T46, T47, X97) → U32_gaaa(T45, T46, T47, X97, fibc48_in_ga(T45, T46))
U32_gaaa(T45, T46, T47, X97, fibc48_out_ga(T45, T46)) → U33_gaaa(T45, T46, T47, X97, fibc61_in_ga(T45, T47))
U33_gaaa(T45, T46, T47, X97, fibc61_out_ga(T45, T47)) → U34_gaaa(T45, T46, T47, X97, addc62_in_gga(T46, T47, X97))
fibc61_in_ga(0, 0) → fibc61_out_ga(0, 0)
fibc61_in_ga(s(0), s(0)) → fibc61_out_ga(s(0), s(0))
fibc61_in_ga(s(s(T50)), X112) → U37_ga(T50, X112, qc57_in_gaaa(T50, X110, X111, X112))
U34_gaaa(T45, T46, T47, X97, addc62_out_gga(T46, T47, X97)) → qc57_out_gaaa(T45, T46, T47, X97)
U37_ga(T50, X112, qc57_out_gaaa(T50, X110, X111, X112)) → fibc61_out_ga(s(s(T50)), X112)
addc62_in_gga(0, 0, 0) → addc62_out_gga(0, 0, 0)
addc62_in_gga(s(T59), T60, s(X134)) → U35_gga(T59, T60, X134, addc62_in_gga(T59, T60, X134))
addc62_in_gga(T65, s(T66), s(X149)) → U36_gga(T65, T66, X149, addc62_in_gga(T65, T66, X149))
U35_gga(T59, T60, X134, addc62_out_gga(T59, T60, X134)) → addc62_out_gga(s(T59), T60, s(X134))
U36_gga(T65, T66, X149, addc62_out_gga(T65, T66, X149)) → addc62_out_gga(T65, s(T66), s(X149))

The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
0  =  0
fibc48_in_ga(x1, x2)  =  fibc48_in_ga(x1)
fibc48_out_ga(x1, x2)  =  fibc48_out_ga(x1, x2)
U31_ga(x1, x2, x3)  =  U31_ga(x1, x3)
qc57_in_gaaa(x1, x2, x3, x4)  =  qc57_in_gaaa(x1)
U32_gaaa(x1, x2, x3, x4, x5)  =  U32_gaaa(x1, x5)
U33_gaaa(x1, x2, x3, x4, x5)  =  U33_gaaa(x1, x2, x5)
fibc61_in_ga(x1, x2)  =  fibc61_in_ga(x1)
fibc61_out_ga(x1, x2)  =  fibc61_out_ga(x1, x2)
U37_ga(x1, x2, x3)  =  U37_ga(x1, x3)
qc57_out_gaaa(x1, x2, x3, x4)  =  qc57_out_gaaa(x1, x2, x3, x4)
U34_gaaa(x1, x2, x3, x4, x5)  =  U34_gaaa(x1, x2, x3, x5)
addc62_in_gga(x1, x2, x3)  =  addc62_in_gga(x1, x2)
addc62_out_gga(x1, x2, x3)  =  addc62_out_gga(x1, x2, x3)
U35_gga(x1, x2, x3, x4)  =  U35_gga(x1, x2, x4)
U36_gga(x1, x2, x3, x4)  =  U36_gga(x1, x2, x4)
FIB48_IN_GA(x1, x2)  =  FIB48_IN_GA(x1)
P57_IN_GAAA(x1, x2, x3, x4)  =  P57_IN_GAAA(x1)
U6_GAAA(x1, x2, x3, x4, x5)  =  U6_GAAA(x1, x5)
FIB61_IN_GA(x1, x2)  =  FIB61_IN_GA(x1)

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

(24) PiDPToQDPProof (SOUND transformation)

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

(25) Obligation:

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

FIB48_IN_GA(s(T45)) → P57_IN_GAAA(T45)
P57_IN_GAAA(T45) → FIB48_IN_GA(T45)
P57_IN_GAAA(T45) → U6_GAAA(T45, fibc48_in_ga(T45))
U6_GAAA(T45, fibc48_out_ga(T45, T46)) → FIB61_IN_GA(T45)
FIB61_IN_GA(s(s(T50))) → P57_IN_GAAA(T50)

The TRS R consists of the following rules:

fibc48_in_ga(0) → fibc48_out_ga(0, s(0))
fibc48_in_ga(s(T45)) → U31_ga(T45, qc57_in_gaaa(T45))
U31_ga(T45, qc57_out_gaaa(T45, X95, X96, X97)) → fibc48_out_ga(s(T45), X97)
qc57_in_gaaa(T45) → U32_gaaa(T45, fibc48_in_ga(T45))
U32_gaaa(T45, fibc48_out_ga(T45, T46)) → U33_gaaa(T45, T46, fibc61_in_ga(T45))
U33_gaaa(T45, T46, fibc61_out_ga(T45, T47)) → U34_gaaa(T45, T46, T47, addc62_in_gga(T46, T47))
fibc61_in_ga(0) → fibc61_out_ga(0, 0)
fibc61_in_ga(s(0)) → fibc61_out_ga(s(0), s(0))
fibc61_in_ga(s(s(T50))) → U37_ga(T50, qc57_in_gaaa(T50))
U34_gaaa(T45, T46, T47, addc62_out_gga(T46, T47, X97)) → qc57_out_gaaa(T45, T46, T47, X97)
U37_ga(T50, qc57_out_gaaa(T50, X110, X111, X112)) → fibc61_out_ga(s(s(T50)), X112)
addc62_in_gga(0, 0) → addc62_out_gga(0, 0, 0)
addc62_in_gga(s(T59), T60) → U35_gga(T59, T60, addc62_in_gga(T59, T60))
addc62_in_gga(T65, s(T66)) → U36_gga(T65, T66, addc62_in_gga(T65, T66))
U35_gga(T59, T60, addc62_out_gga(T59, T60, X134)) → addc62_out_gga(s(T59), T60, s(X134))
U36_gga(T65, T66, addc62_out_gga(T65, T66, X149)) → addc62_out_gga(T65, s(T66), s(X149))

The set Q consists of the following terms:

fibc48_in_ga(x0)
U31_ga(x0, x1)
qc57_in_gaaa(x0)
U32_gaaa(x0, x1)
U33_gaaa(x0, x1, x2)
fibc61_in_ga(x0)
U34_gaaa(x0, x1, x2, x3)
U37_ga(x0, x1)
addc62_in_gga(x0, x1)
U35_gga(x0, x1, x2)
U36_gga(x0, x1, x2)

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

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

  • P57_IN_GAAA(T45) → FIB48_IN_GA(T45)
    The graph contains the following edges 1 >= 1

  • P57_IN_GAAA(T45) → U6_GAAA(T45, fibc48_in_ga(T45))
    The graph contains the following edges 1 >= 1

  • FIB48_IN_GA(s(T45)) → P57_IN_GAAA(T45)
    The graph contains the following edges 1 > 1

  • FIB61_IN_GA(s(s(T50))) → P57_IN_GAAA(T50)
    The graph contains the following edges 1 > 1

  • U6_GAAA(T45, fibc48_out_ga(T45, T46)) → FIB61_IN_GA(T45)
    The graph contains the following edges 1 >= 1, 2 > 1

(27) YES

(28) Obligation:

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

ADD33_IN_GA(s(T27), s(T29)) → ADD33_IN_GA(T27, T29)

The TRS R consists of the following rules:

fibc20_in_a(0) → fibc20_out_a(0)
fibc48_in_ga(0, s(0)) → fibc48_out_ga(0, s(0))
fibc48_in_ga(s(T45), X97) → U31_ga(T45, X97, qc57_in_gaaa(T45, X95, X96, X97))
qc57_in_gaaa(T45, T46, T47, X97) → U32_gaaa(T45, T46, T47, X97, fibc48_in_ga(T45, T46))
U32_gaaa(T45, T46, T47, X97, fibc48_out_ga(T45, T46)) → U33_gaaa(T45, T46, T47, X97, fibc61_in_ga(T45, T47))
fibc61_in_ga(0, 0) → fibc61_out_ga(0, 0)
fibc61_in_ga(s(0), s(0)) → fibc61_out_ga(s(0), s(0))
fibc61_in_ga(s(s(T50)), X112) → U37_ga(T50, X112, qc57_in_gaaa(T50, X110, X111, X112))
U37_ga(T50, X112, qc57_out_gaaa(T50, X110, X111, X112)) → fibc61_out_ga(s(s(T50)), X112)
U33_gaaa(T45, T46, T47, X97, fibc61_out_ga(T45, T47)) → U34_gaaa(T45, T46, T47, X97, addc62_in_gga(T46, T47, X97))
addc62_in_gga(0, 0, 0) → addc62_out_gga(0, 0, 0)
addc62_in_gga(s(T59), T60, s(X134)) → U35_gga(T59, T60, X134, addc62_in_gga(T59, T60, X134))
addc62_in_gga(T65, s(T66), s(X149)) → U36_gga(T65, T66, X149, addc62_in_gga(T65, T66, X149))
U36_gga(T65, T66, X149, addc62_out_gga(T65, T66, X149)) → addc62_out_gga(T65, s(T66), s(X149))
U35_gga(T59, T60, X134, addc62_out_gga(T59, T60, X134)) → addc62_out_gga(s(T59), T60, s(X134))
U34_gaaa(T45, T46, T47, X97, addc62_out_gga(T46, T47, X97)) → qc57_out_gaaa(T45, T46, T47, X97)
U31_ga(T45, X97, qc57_out_gaaa(T45, X95, X96, X97)) → fibc48_out_ga(s(T45), X97)

The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
0  =  0
fibc20_in_a(x1)  =  fibc20_in_a
fibc20_out_a(x1)  =  fibc20_out_a(x1)
fibc48_in_ga(x1, x2)  =  fibc48_in_ga(x1)
fibc48_out_ga(x1, x2)  =  fibc48_out_ga(x1, x2)
U31_ga(x1, x2, x3)  =  U31_ga(x1, x3)
qc57_in_gaaa(x1, x2, x3, x4)  =  qc57_in_gaaa(x1)
U32_gaaa(x1, x2, x3, x4, x5)  =  U32_gaaa(x1, x5)
U33_gaaa(x1, x2, x3, x4, x5)  =  U33_gaaa(x1, x2, x5)
fibc61_in_ga(x1, x2)  =  fibc61_in_ga(x1)
fibc61_out_ga(x1, x2)  =  fibc61_out_ga(x1, x2)
U37_ga(x1, x2, x3)  =  U37_ga(x1, x3)
qc57_out_gaaa(x1, x2, x3, x4)  =  qc57_out_gaaa(x1, x2, x3, x4)
U34_gaaa(x1, x2, x3, x4, x5)  =  U34_gaaa(x1, x2, x3, x5)
addc62_in_gga(x1, x2, x3)  =  addc62_in_gga(x1, x2)
addc62_out_gga(x1, x2, x3)  =  addc62_out_gga(x1, x2, x3)
U35_gga(x1, x2, x3, x4)  =  U35_gga(x1, x2, x4)
U36_gga(x1, x2, x3, x4)  =  U36_gga(x1, x2, x4)
ADD33_IN_GA(x1, x2)  =  ADD33_IN_GA(x1)

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

(29) UsableRulesProof (EQUIVALENT transformation)

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

(30) Obligation:

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

ADD33_IN_GA(s(T27), s(T29)) → ADD33_IN_GA(T27, T29)

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

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

(31) PiDPToQDPProof (SOUND transformation)

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

(32) Obligation:

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

ADD33_IN_GA(s(T27)) → ADD33_IN_GA(T27)

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

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

  • ADD33_IN_GA(s(T27)) → ADD33_IN_GA(T27)
    The graph contains the following edges 1 > 1

(34) YES

(35) Obligation:

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

ADD21_IN_GA(s(T34), s(T36)) → ADD21_IN_GA(T34, T36)

The TRS R consists of the following rules:

fibc20_in_a(0) → fibc20_out_a(0)
fibc48_in_ga(0, s(0)) → fibc48_out_ga(0, s(0))
fibc48_in_ga(s(T45), X97) → U31_ga(T45, X97, qc57_in_gaaa(T45, X95, X96, X97))
qc57_in_gaaa(T45, T46, T47, X97) → U32_gaaa(T45, T46, T47, X97, fibc48_in_ga(T45, T46))
U32_gaaa(T45, T46, T47, X97, fibc48_out_ga(T45, T46)) → U33_gaaa(T45, T46, T47, X97, fibc61_in_ga(T45, T47))
fibc61_in_ga(0, 0) → fibc61_out_ga(0, 0)
fibc61_in_ga(s(0), s(0)) → fibc61_out_ga(s(0), s(0))
fibc61_in_ga(s(s(T50)), X112) → U37_ga(T50, X112, qc57_in_gaaa(T50, X110, X111, X112))
U37_ga(T50, X112, qc57_out_gaaa(T50, X110, X111, X112)) → fibc61_out_ga(s(s(T50)), X112)
U33_gaaa(T45, T46, T47, X97, fibc61_out_ga(T45, T47)) → U34_gaaa(T45, T46, T47, X97, addc62_in_gga(T46, T47, X97))
addc62_in_gga(0, 0, 0) → addc62_out_gga(0, 0, 0)
addc62_in_gga(s(T59), T60, s(X134)) → U35_gga(T59, T60, X134, addc62_in_gga(T59, T60, X134))
addc62_in_gga(T65, s(T66), s(X149)) → U36_gga(T65, T66, X149, addc62_in_gga(T65, T66, X149))
U36_gga(T65, T66, X149, addc62_out_gga(T65, T66, X149)) → addc62_out_gga(T65, s(T66), s(X149))
U35_gga(T59, T60, X134, addc62_out_gga(T59, T60, X134)) → addc62_out_gga(s(T59), T60, s(X134))
U34_gaaa(T45, T46, T47, X97, addc62_out_gga(T46, T47, X97)) → qc57_out_gaaa(T45, T46, T47, X97)
U31_ga(T45, X97, qc57_out_gaaa(T45, X95, X96, X97)) → fibc48_out_ga(s(T45), X97)

The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
0  =  0
fibc20_in_a(x1)  =  fibc20_in_a
fibc20_out_a(x1)  =  fibc20_out_a(x1)
fibc48_in_ga(x1, x2)  =  fibc48_in_ga(x1)
fibc48_out_ga(x1, x2)  =  fibc48_out_ga(x1, x2)
U31_ga(x1, x2, x3)  =  U31_ga(x1, x3)
qc57_in_gaaa(x1, x2, x3, x4)  =  qc57_in_gaaa(x1)
U32_gaaa(x1, x2, x3, x4, x5)  =  U32_gaaa(x1, x5)
U33_gaaa(x1, x2, x3, x4, x5)  =  U33_gaaa(x1, x2, x5)
fibc61_in_ga(x1, x2)  =  fibc61_in_ga(x1)
fibc61_out_ga(x1, x2)  =  fibc61_out_ga(x1, x2)
U37_ga(x1, x2, x3)  =  U37_ga(x1, x3)
qc57_out_gaaa(x1, x2, x3, x4)  =  qc57_out_gaaa(x1, x2, x3, x4)
U34_gaaa(x1, x2, x3, x4, x5)  =  U34_gaaa(x1, x2, x3, x5)
addc62_in_gga(x1, x2, x3)  =  addc62_in_gga(x1, x2)
addc62_out_gga(x1, x2, x3)  =  addc62_out_gga(x1, x2, x3)
U35_gga(x1, x2, x3, x4)  =  U35_gga(x1, x2, x4)
U36_gga(x1, x2, x3, x4)  =  U36_gga(x1, x2, x4)
ADD21_IN_GA(x1, x2)  =  ADD21_IN_GA(x1)

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

(36) UsableRulesProof (EQUIVALENT transformation)

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

(37) Obligation:

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

ADD21_IN_GA(s(T34), s(T36)) → ADD21_IN_GA(T34, T36)

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

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

(38) PiDPToQDPProof (SOUND transformation)

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

(39) Obligation:

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

ADD21_IN_GA(s(T34)) → ADD21_IN_GA(T34)

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

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

  • ADD21_IN_GA(s(T34)) → ADD21_IN_GA(T34)
    The graph contains the following edges 1 > 1

(41) YES