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 PiDPToQDPProof (⇐)
↳16 QDP
↳17 QDPOrderProof (⇔)
↳18 QDP
↳19 QDPOrderProof (⇔)
↳20 QDP
↳21 DependencyGraphProof (⇔)
↳22 TRUE
PERM11_IN_GA(.(T27, T28), .(T27, T29)) → U2_GA(T27, T28, T29, perm11_in_ga(T28, T29))
PERM11_IN_GA(.(T27, T28), .(T27, T29)) → PERM11_IN_GA(T28, T29)
PERM11_IN_GA(.(T37, T38), .(T39, T40)) → U3_GA(T37, T38, T39, T40, select20_in_aga(T39, T38, X53))
PERM11_IN_GA(.(T37, T38), .(T39, T40)) → SELECT20_IN_AGA(T39, T38, X53)
SELECT20_IN_AGA(T70, .(T68, T69), .(T68, X92)) → U1_AGA(T70, T68, T69, X92, select20_in_aga(T70, T69, X92))
SELECT20_IN_AGA(T70, .(T68, T69), .(T68, X92)) → SELECT20_IN_AGA(T70, T69, X92)
PERM11_IN_GA(.(T37, T38), .(T39, T46)) → U4_GA(T37, T38, T39, T46, selectc20_in_aga(T39, T38, T45))
U4_GA(T37, T38, T39, T46, selectc20_out_aga(T39, T38, T45)) → U5_GA(T37, T38, T39, T46, perm11_in_ga(.(T37, T45), T46))
U4_GA(T37, T38, T39, T46, selectc20_out_aga(T39, T38, T45)) → PERM11_IN_GA(.(T37, T45), T46)
selectc20_in_aga(T59, .(T59, T60), T60) → selectc20_out_aga(T59, .(T59, T60), T60)
selectc20_in_aga(T70, .(T68, T69), .(T68, X92)) → U10_aga(T70, T68, T69, X92, selectc20_in_aga(T70, T69, X92))
U10_aga(T70, T68, T69, X92, selectc20_out_aga(T70, T69, X92)) → selectc20_out_aga(T70, .(T68, T69), .(T68, X92))
Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES
PERM11_IN_GA(.(T27, T28), .(T27, T29)) → U2_GA(T27, T28, T29, perm11_in_ga(T28, T29))
PERM11_IN_GA(.(T27, T28), .(T27, T29)) → PERM11_IN_GA(T28, T29)
PERM11_IN_GA(.(T37, T38), .(T39, T40)) → U3_GA(T37, T38, T39, T40, select20_in_aga(T39, T38, X53))
PERM11_IN_GA(.(T37, T38), .(T39, T40)) → SELECT20_IN_AGA(T39, T38, X53)
SELECT20_IN_AGA(T70, .(T68, T69), .(T68, X92)) → U1_AGA(T70, T68, T69, X92, select20_in_aga(T70, T69, X92))
SELECT20_IN_AGA(T70, .(T68, T69), .(T68, X92)) → SELECT20_IN_AGA(T70, T69, X92)
PERM11_IN_GA(.(T37, T38), .(T39, T46)) → U4_GA(T37, T38, T39, T46, selectc20_in_aga(T39, T38, T45))
U4_GA(T37, T38, T39, T46, selectc20_out_aga(T39, T38, T45)) → U5_GA(T37, T38, T39, T46, perm11_in_ga(.(T37, T45), T46))
U4_GA(T37, T38, T39, T46, selectc20_out_aga(T39, T38, T45)) → PERM11_IN_GA(.(T37, T45), T46)
selectc20_in_aga(T59, .(T59, T60), T60) → selectc20_out_aga(T59, .(T59, T60), T60)
selectc20_in_aga(T70, .(T68, T69), .(T68, X92)) → U10_aga(T70, T68, T69, X92, selectc20_in_aga(T70, T69, X92))
U10_aga(T70, T68, T69, X92, selectc20_out_aga(T70, T69, X92)) → selectc20_out_aga(T70, .(T68, T69), .(T68, X92))
SELECT20_IN_AGA(T70, .(T68, T69), .(T68, X92)) → SELECT20_IN_AGA(T70, T69, X92)
selectc20_in_aga(T59, .(T59, T60), T60) → selectc20_out_aga(T59, .(T59, T60), T60)
selectc20_in_aga(T70, .(T68, T69), .(T68, X92)) → U10_aga(T70, T68, T69, X92, selectc20_in_aga(T70, T69, X92))
U10_aga(T70, T68, T69, X92, selectc20_out_aga(T70, T69, X92)) → selectc20_out_aga(T70, .(T68, T69), .(T68, X92))
SELECT20_IN_AGA(T70, .(T68, T69), .(T68, X92)) → SELECT20_IN_AGA(T70, T69, X92)
SELECT20_IN_AGA(.(T68, T69)) → SELECT20_IN_AGA(T69)
From the DPs we obtained the following set of size-change graphs:
PERM11_IN_GA(.(T37, T38), .(T39, T46)) → U4_GA(T37, T38, T39, T46, selectc20_in_aga(T39, T38, T45))
U4_GA(T37, T38, T39, T46, selectc20_out_aga(T39, T38, T45)) → PERM11_IN_GA(.(T37, T45), T46)
PERM11_IN_GA(.(T27, T28), .(T27, T29)) → PERM11_IN_GA(T28, T29)
selectc20_in_aga(T59, .(T59, T60), T60) → selectc20_out_aga(T59, .(T59, T60), T60)
selectc20_in_aga(T70, .(T68, T69), .(T68, X92)) → U10_aga(T70, T68, T69, X92, selectc20_in_aga(T70, T69, X92))
U10_aga(T70, T68, T69, X92, selectc20_out_aga(T70, T69, X92)) → selectc20_out_aga(T70, .(T68, T69), .(T68, X92))
PERM11_IN_GA(.(T37, T38)) → U4_GA(T37, T38, selectc20_in_aga(T38))
U4_GA(T37, T38, selectc20_out_aga(T39, T38, T45)) → PERM11_IN_GA(.(T37, T45))
PERM11_IN_GA(.(T27, T28)) → PERM11_IN_GA(T28)
selectc20_in_aga(.(T59, T60)) → selectc20_out_aga(T59, .(T59, T60), T60)
selectc20_in_aga(.(T68, T69)) → U10_aga(T68, T69, selectc20_in_aga(T69))
U10_aga(T68, T69, selectc20_out_aga(T70, T69, X92)) → selectc20_out_aga(T70, .(T68, T69), .(T68, X92))
selectc20_in_aga(x0)
U10_aga(x0, x1, x2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
PERM11_IN_GA(.(T27, T28)) → PERM11_IN_GA(T28)
POL(.(x1, x2)) = 1 + x2
POL(PERM11_IN_GA(x1)) = 1 + x1
POL(U10_aga(x1, x2, x3)) = 1 + x3
POL(U4_GA(x1, x2, x3)) = 1 + x3
POL(selectc20_in_aga(x1)) = 1 + x1
POL(selectc20_out_aga(x1, x2, x3)) = 1 + x3
selectc20_in_aga(.(T59, T60)) → selectc20_out_aga(T59, .(T59, T60), T60)
selectc20_in_aga(.(T68, T69)) → U10_aga(T68, T69, selectc20_in_aga(T69))
U10_aga(T68, T69, selectc20_out_aga(T70, T69, X92)) → selectc20_out_aga(T70, .(T68, T69), .(T68, X92))
PERM11_IN_GA(.(T37, T38)) → U4_GA(T37, T38, selectc20_in_aga(T38))
U4_GA(T37, T38, selectc20_out_aga(T39, T38, T45)) → PERM11_IN_GA(.(T37, T45))
selectc20_in_aga(.(T59, T60)) → selectc20_out_aga(T59, .(T59, T60), T60)
selectc20_in_aga(.(T68, T69)) → U10_aga(T68, T69, selectc20_in_aga(T69))
U10_aga(T68, T69, selectc20_out_aga(T70, T69, X92)) → selectc20_out_aga(T70, .(T68, T69), .(T68, X92))
selectc20_in_aga(x0)
U10_aga(x0, x1, x2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
PERM11_IN_GA(.(T37, T38)) → U4_GA(T37, T38, selectc20_in_aga(T38))
POL(.(x1, x2)) = 1 + x2
POL(PERM11_IN_GA(x1)) = x1
POL(U10_aga(x1, x2, x3)) = 1 + x3
POL(U4_GA(x1, x2, x3)) = x3
POL(selectc20_in_aga(x1)) = x1
POL(selectc20_out_aga(x1, x2, x3)) = 1 + x3
selectc20_in_aga(.(T59, T60)) → selectc20_out_aga(T59, .(T59, T60), T60)
selectc20_in_aga(.(T68, T69)) → U10_aga(T68, T69, selectc20_in_aga(T69))
U10_aga(T68, T69, selectc20_out_aga(T70, T69, X92)) → selectc20_out_aga(T70, .(T68, T69), .(T68, X92))
U4_GA(T37, T38, selectc20_out_aga(T39, T38, T45)) → PERM11_IN_GA(.(T37, T45))
selectc20_in_aga(.(T59, T60)) → selectc20_out_aga(T59, .(T59, T60), T60)
selectc20_in_aga(.(T68, T69)) → U10_aga(T68, T69, selectc20_in_aga(T69))
U10_aga(T68, T69, selectc20_out_aga(T70, T69, X92)) → selectc20_out_aga(T70, .(T68, T69), .(T68, X92))
selectc20_in_aga(x0)
U10_aga(x0, x1, x2)