0 Prolog
↳1 PrologToDTProblemTransformerProof (⇐)
↳2 TRIPLES
↳3 TriplesToPiDPProof (⇐)
↳4 PiDP
↳5 DependencyGraphProof (⇔)
↳6 AND
↳7 PiDP
↳8 UsableRulesProof (⇔)
↳9 PiDP
↳10 PiDPToQDPProof (⇐)
↳11 QDP
↳12 QDPSizeChangeProof (⇔)
↳13 YES
↳14 PiDP
↳15 UsableRulesProof (⇔)
↳16 PiDP
↳17 PiDPToQDPProof (⇐)
↳18 QDP
↳19 QDPSizeChangeProof (⇔)
↳20 YES
↳21 PiDP
↳22 PiDPToQDPProof (⇐)
↳23 QDP
↳24 QDPOrderProof (⇔)
↳25 QDP
↳26 DependencyGraphProof (⇔)
↳27 TRUE
QUERY1_IN_G(T6) → U8_G(T6, p6_in_gaa(T6, X19, X21))
QUERY1_IN_G(T6) → P6_IN_GAA(T6, X19, X21)
P6_IN_GAA(T6, X19, X21) → U5_GAA(T6, X19, X21, reverse7_in_ga(T6, X19))
P6_IN_GAA(T6, X19, X21) → REVERSE7_IN_GA(T6, X19)
REVERSE7_IN_GA(cons(T17, T18), X41) → U1_GA(T17, T18, X41, reverse7_in_ga(T18, X40))
REVERSE7_IN_GA(cons(T17, T18), X41) → REVERSE7_IN_GA(T18, X40)
REVERSE7_IN_GA(cons(T17, T18), X41) → U2_GA(T17, T18, X41, reversec7_in_ga(T18, T19))
U2_GA(T17, T18, X41, reversec7_out_ga(T18, T19)) → U3_GA(T17, T18, X41, append23_in_gaa(T19, T17, X41))
U2_GA(T17, T18, X41, reversec7_out_ga(T18, T19)) → APPEND23_IN_GAA(T19, T17, X41)
APPEND23_IN_GAA(cons(T33, T34), T35, cons(T33, X67)) → U4_GAA(T33, T34, T35, X67, append23_in_gaa(T34, T35, X67))
APPEND23_IN_GAA(cons(T33, T34), T35, cons(T33, X67)) → APPEND23_IN_GAA(T34, T35, X67)
P6_IN_GAA(T6, cons(T42, T43), cons(T42, X87)) → U6_GAA(T6, T42, T43, X87, reversec7_in_ga(T6, cons(T42, T43)))
U6_GAA(T6, T42, T43, X87, reversec7_out_ga(T6, cons(T42, T43))) → U7_GAA(T6, T42, T43, X87, p6_in_gaa(T43, X86, X87))
U6_GAA(T6, T42, T43, X87, reversec7_out_ga(T6, cons(T42, T43))) → P6_IN_GAA(T43, X86, X87)
reversec7_in_ga(nil, nil) → reversec7_out_ga(nil, nil)
reversec7_in_ga(cons(T12, nil), cons(T12, nil)) → reversec7_out_ga(cons(T12, nil), cons(T12, nil))
reversec7_in_ga(cons(T17, T18), X41) → U10_ga(T17, T18, X41, reversec7_in_ga(T18, T19))
U10_ga(T17, T18, X41, reversec7_out_ga(T18, T19)) → U11_ga(T17, T18, X41, appendc23_in_gaa(T19, T17, X41))
appendc23_in_gaa(nil, T26, cons(T26, nil)) → appendc23_out_gaa(nil, T26, cons(T26, nil))
appendc23_in_gaa(cons(T33, T34), T35, cons(T33, X67)) → U12_gaa(T33, T34, T35, X67, appendc23_in_gaa(T34, T35, X67))
U12_gaa(T33, T34, T35, X67, appendc23_out_gaa(T34, T35, X67)) → appendc23_out_gaa(cons(T33, T34), T35, cons(T33, X67))
U11_ga(T17, T18, X41, appendc23_out_gaa(T19, T17, X41)) → reversec7_out_ga(cons(T17, T18), X41)
Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES
QUERY1_IN_G(T6) → U8_G(T6, p6_in_gaa(T6, X19, X21))
QUERY1_IN_G(T6) → P6_IN_GAA(T6, X19, X21)
P6_IN_GAA(T6, X19, X21) → U5_GAA(T6, X19, X21, reverse7_in_ga(T6, X19))
P6_IN_GAA(T6, X19, X21) → REVERSE7_IN_GA(T6, X19)
REVERSE7_IN_GA(cons(T17, T18), X41) → U1_GA(T17, T18, X41, reverse7_in_ga(T18, X40))
REVERSE7_IN_GA(cons(T17, T18), X41) → REVERSE7_IN_GA(T18, X40)
REVERSE7_IN_GA(cons(T17, T18), X41) → U2_GA(T17, T18, X41, reversec7_in_ga(T18, T19))
U2_GA(T17, T18, X41, reversec7_out_ga(T18, T19)) → U3_GA(T17, T18, X41, append23_in_gaa(T19, T17, X41))
U2_GA(T17, T18, X41, reversec7_out_ga(T18, T19)) → APPEND23_IN_GAA(T19, T17, X41)
APPEND23_IN_GAA(cons(T33, T34), T35, cons(T33, X67)) → U4_GAA(T33, T34, T35, X67, append23_in_gaa(T34, T35, X67))
APPEND23_IN_GAA(cons(T33, T34), T35, cons(T33, X67)) → APPEND23_IN_GAA(T34, T35, X67)
P6_IN_GAA(T6, cons(T42, T43), cons(T42, X87)) → U6_GAA(T6, T42, T43, X87, reversec7_in_ga(T6, cons(T42, T43)))
U6_GAA(T6, T42, T43, X87, reversec7_out_ga(T6, cons(T42, T43))) → U7_GAA(T6, T42, T43, X87, p6_in_gaa(T43, X86, X87))
U6_GAA(T6, T42, T43, X87, reversec7_out_ga(T6, cons(T42, T43))) → P6_IN_GAA(T43, X86, X87)
reversec7_in_ga(nil, nil) → reversec7_out_ga(nil, nil)
reversec7_in_ga(cons(T12, nil), cons(T12, nil)) → reversec7_out_ga(cons(T12, nil), cons(T12, nil))
reversec7_in_ga(cons(T17, T18), X41) → U10_ga(T17, T18, X41, reversec7_in_ga(T18, T19))
U10_ga(T17, T18, X41, reversec7_out_ga(T18, T19)) → U11_ga(T17, T18, X41, appendc23_in_gaa(T19, T17, X41))
appendc23_in_gaa(nil, T26, cons(T26, nil)) → appendc23_out_gaa(nil, T26, cons(T26, nil))
appendc23_in_gaa(cons(T33, T34), T35, cons(T33, X67)) → U12_gaa(T33, T34, T35, X67, appendc23_in_gaa(T34, T35, X67))
U12_gaa(T33, T34, T35, X67, appendc23_out_gaa(T34, T35, X67)) → appendc23_out_gaa(cons(T33, T34), T35, cons(T33, X67))
U11_ga(T17, T18, X41, appendc23_out_gaa(T19, T17, X41)) → reversec7_out_ga(cons(T17, T18), X41)
APPEND23_IN_GAA(cons(T33, T34), T35, cons(T33, X67)) → APPEND23_IN_GAA(T34, T35, X67)
reversec7_in_ga(nil, nil) → reversec7_out_ga(nil, nil)
reversec7_in_ga(cons(T12, nil), cons(T12, nil)) → reversec7_out_ga(cons(T12, nil), cons(T12, nil))
reversec7_in_ga(cons(T17, T18), X41) → U10_ga(T17, T18, X41, reversec7_in_ga(T18, T19))
U10_ga(T17, T18, X41, reversec7_out_ga(T18, T19)) → U11_ga(T17, T18, X41, appendc23_in_gaa(T19, T17, X41))
appendc23_in_gaa(nil, T26, cons(T26, nil)) → appendc23_out_gaa(nil, T26, cons(T26, nil))
appendc23_in_gaa(cons(T33, T34), T35, cons(T33, X67)) → U12_gaa(T33, T34, T35, X67, appendc23_in_gaa(T34, T35, X67))
U12_gaa(T33, T34, T35, X67, appendc23_out_gaa(T34, T35, X67)) → appendc23_out_gaa(cons(T33, T34), T35, cons(T33, X67))
U11_ga(T17, T18, X41, appendc23_out_gaa(T19, T17, X41)) → reversec7_out_ga(cons(T17, T18), X41)
APPEND23_IN_GAA(cons(T33, T34), T35, cons(T33, X67)) → APPEND23_IN_GAA(T34, T35, X67)
APPEND23_IN_GAA(cons(T34)) → APPEND23_IN_GAA(T34)
From the DPs we obtained the following set of size-change graphs:
REVERSE7_IN_GA(cons(T17, T18), X41) → REVERSE7_IN_GA(T18, X40)
reversec7_in_ga(nil, nil) → reversec7_out_ga(nil, nil)
reversec7_in_ga(cons(T12, nil), cons(T12, nil)) → reversec7_out_ga(cons(T12, nil), cons(T12, nil))
reversec7_in_ga(cons(T17, T18), X41) → U10_ga(T17, T18, X41, reversec7_in_ga(T18, T19))
U10_ga(T17, T18, X41, reversec7_out_ga(T18, T19)) → U11_ga(T17, T18, X41, appendc23_in_gaa(T19, T17, X41))
appendc23_in_gaa(nil, T26, cons(T26, nil)) → appendc23_out_gaa(nil, T26, cons(T26, nil))
appendc23_in_gaa(cons(T33, T34), T35, cons(T33, X67)) → U12_gaa(T33, T34, T35, X67, appendc23_in_gaa(T34, T35, X67))
U12_gaa(T33, T34, T35, X67, appendc23_out_gaa(T34, T35, X67)) → appendc23_out_gaa(cons(T33, T34), T35, cons(T33, X67))
U11_ga(T17, T18, X41, appendc23_out_gaa(T19, T17, X41)) → reversec7_out_ga(cons(T17, T18), X41)
REVERSE7_IN_GA(cons(T17, T18), X41) → REVERSE7_IN_GA(T18, X40)
REVERSE7_IN_GA(cons(T18)) → REVERSE7_IN_GA(T18)
From the DPs we obtained the following set of size-change graphs:
P6_IN_GAA(T6, cons(T42, T43), cons(T42, X87)) → U6_GAA(T6, T42, T43, X87, reversec7_in_ga(T6, cons(T42, T43)))
U6_GAA(T6, T42, T43, X87, reversec7_out_ga(T6, cons(T42, T43))) → P6_IN_GAA(T43, X86, X87)
reversec7_in_ga(nil, nil) → reversec7_out_ga(nil, nil)
reversec7_in_ga(cons(T12, nil), cons(T12, nil)) → reversec7_out_ga(cons(T12, nil), cons(T12, nil))
reversec7_in_ga(cons(T17, T18), X41) → U10_ga(T17, T18, X41, reversec7_in_ga(T18, T19))
U10_ga(T17, T18, X41, reversec7_out_ga(T18, T19)) → U11_ga(T17, T18, X41, appendc23_in_gaa(T19, T17, X41))
appendc23_in_gaa(nil, T26, cons(T26, nil)) → appendc23_out_gaa(nil, T26, cons(T26, nil))
appendc23_in_gaa(cons(T33, T34), T35, cons(T33, X67)) → U12_gaa(T33, T34, T35, X67, appendc23_in_gaa(T34, T35, X67))
U12_gaa(T33, T34, T35, X67, appendc23_out_gaa(T34, T35, X67)) → appendc23_out_gaa(cons(T33, T34), T35, cons(T33, X67))
U11_ga(T17, T18, X41, appendc23_out_gaa(T19, T17, X41)) → reversec7_out_ga(cons(T17, T18), X41)
P6_IN_GAA(T6) → U6_GAA(T6, reversec7_in_ga(T6))
U6_GAA(T6, reversec7_out_ga(T6, cons(T43))) → P6_IN_GAA(T43)
reversec7_in_ga(nil) → reversec7_out_ga(nil, nil)
reversec7_in_ga(cons(nil)) → reversec7_out_ga(cons(nil), cons(nil))
reversec7_in_ga(cons(T18)) → U10_ga(T18, reversec7_in_ga(T18))
U10_ga(T18, reversec7_out_ga(T18, T19)) → U11_ga(T18, appendc23_in_gaa(T19))
appendc23_in_gaa(nil) → appendc23_out_gaa(nil, cons(nil))
appendc23_in_gaa(cons(T34)) → U12_gaa(T34, appendc23_in_gaa(T34))
U12_gaa(T34, appendc23_out_gaa(T34, X67)) → appendc23_out_gaa(cons(T34), cons(X67))
U11_ga(T18, appendc23_out_gaa(T19, X41)) → reversec7_out_ga(cons(T18), X41)
reversec7_in_ga(x0)
U10_ga(x0, x1)
appendc23_in_gaa(x0)
U12_gaa(x0, x1)
U11_ga(x0, x1)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
P6_IN_GAA(T6) → U6_GAA(T6, reversec7_in_ga(T6))
POL(P6_IN_GAA(x1)) = 1 + x1
POL(U10_ga(x1, x2)) = 1 + x2
POL(U11_ga(x1, x2)) = x2
POL(U12_gaa(x1, x2)) = 1 + x2
POL(U6_GAA(x1, x2)) = x2
POL(appendc23_in_gaa(x1)) = 1 + x1
POL(appendc23_out_gaa(x1, x2)) = x2
POL(cons(x1)) = 1 + x1
POL(nil) = 0
POL(reversec7_in_ga(x1)) = x1
POL(reversec7_out_ga(x1, x2)) = x2
reversec7_in_ga(nil) → reversec7_out_ga(nil, nil)
reversec7_in_ga(cons(nil)) → reversec7_out_ga(cons(nil), cons(nil))
reversec7_in_ga(cons(T18)) → U10_ga(T18, reversec7_in_ga(T18))
U10_ga(T18, reversec7_out_ga(T18, T19)) → U11_ga(T18, appendc23_in_gaa(T19))
appendc23_in_gaa(nil) → appendc23_out_gaa(nil, cons(nil))
appendc23_in_gaa(cons(T34)) → U12_gaa(T34, appendc23_in_gaa(T34))
U11_ga(T18, appendc23_out_gaa(T19, X41)) → reversec7_out_ga(cons(T18), X41)
U12_gaa(T34, appendc23_out_gaa(T34, X67)) → appendc23_out_gaa(cons(T34), cons(X67))
U6_GAA(T6, reversec7_out_ga(T6, cons(T43))) → P6_IN_GAA(T43)
reversec7_in_ga(nil) → reversec7_out_ga(nil, nil)
reversec7_in_ga(cons(nil)) → reversec7_out_ga(cons(nil), cons(nil))
reversec7_in_ga(cons(T18)) → U10_ga(T18, reversec7_in_ga(T18))
U10_ga(T18, reversec7_out_ga(T18, T19)) → U11_ga(T18, appendc23_in_gaa(T19))
appendc23_in_gaa(nil) → appendc23_out_gaa(nil, cons(nil))
appendc23_in_gaa(cons(T34)) → U12_gaa(T34, appendc23_in_gaa(T34))
U12_gaa(T34, appendc23_out_gaa(T34, X67)) → appendc23_out_gaa(cons(T34), cons(X67))
U11_ga(T18, appendc23_out_gaa(T19, X41)) → reversec7_out_ga(cons(T18), X41)
reversec7_in_ga(x0)
U10_ga(x0, x1)
appendc23_in_gaa(x0)
U12_gaa(x0, x1)
U11_ga(x0, x1)