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
PERMUTE1_IN_GA(.(T21, T22), .(T21, T23)) → U2_GA(T21, T22, T23, permute1_in_ga(T22, T23))
PERMUTE1_IN_GA(.(T21, T22), .(T21, T23)) → PERMUTE1_IN_GA(T22, T23)
PERMUTE1_IN_GA(.(T37, T38), .(T39, T40)) → U3_GA(T37, T38, T39, T40, delete15_in_aga(T39, T38, X48))
PERMUTE1_IN_GA(.(T37, T38), .(T39, T40)) → DELETE15_IN_AGA(T39, T38, X48)
DELETE15_IN_AGA(T70, .(T68, T69), .(T68, X83)) → U1_AGA(T70, T68, T69, X83, delete15_in_aga(T70, T69, X83))
DELETE15_IN_AGA(T70, .(T68, T69), .(T68, X83)) → DELETE15_IN_AGA(T70, T69, X83)
PERMUTE1_IN_GA(.(T37, T38), .(T39, T46)) → U4_GA(T37, T38, T39, T46, deletec15_in_aga(T39, T38, T45))
U4_GA(T37, T38, T39, T46, deletec15_out_aga(T39, T38, T45)) → U5_GA(T37, T38, T39, T46, permute1_in_ga(.(T37, T45), T46))
U4_GA(T37, T38, T39, T46, deletec15_out_aga(T39, T38, T45)) → PERMUTE1_IN_GA(.(T37, T45), T46)
deletec15_in_aga(T59, .(T59, T60), T60) → deletec15_out_aga(T59, .(T59, T60), T60)
deletec15_in_aga(T70, .(T68, T69), .(T68, X83)) → U10_aga(T70, T68, T69, X83, deletec15_in_aga(T70, T69, X83))
U10_aga(T70, T68, T69, X83, deletec15_out_aga(T70, T69, X83)) → deletec15_out_aga(T70, .(T68, T69), .(T68, X83))
Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES
PERMUTE1_IN_GA(.(T21, T22), .(T21, T23)) → U2_GA(T21, T22, T23, permute1_in_ga(T22, T23))
PERMUTE1_IN_GA(.(T21, T22), .(T21, T23)) → PERMUTE1_IN_GA(T22, T23)
PERMUTE1_IN_GA(.(T37, T38), .(T39, T40)) → U3_GA(T37, T38, T39, T40, delete15_in_aga(T39, T38, X48))
PERMUTE1_IN_GA(.(T37, T38), .(T39, T40)) → DELETE15_IN_AGA(T39, T38, X48)
DELETE15_IN_AGA(T70, .(T68, T69), .(T68, X83)) → U1_AGA(T70, T68, T69, X83, delete15_in_aga(T70, T69, X83))
DELETE15_IN_AGA(T70, .(T68, T69), .(T68, X83)) → DELETE15_IN_AGA(T70, T69, X83)
PERMUTE1_IN_GA(.(T37, T38), .(T39, T46)) → U4_GA(T37, T38, T39, T46, deletec15_in_aga(T39, T38, T45))
U4_GA(T37, T38, T39, T46, deletec15_out_aga(T39, T38, T45)) → U5_GA(T37, T38, T39, T46, permute1_in_ga(.(T37, T45), T46))
U4_GA(T37, T38, T39, T46, deletec15_out_aga(T39, T38, T45)) → PERMUTE1_IN_GA(.(T37, T45), T46)
deletec15_in_aga(T59, .(T59, T60), T60) → deletec15_out_aga(T59, .(T59, T60), T60)
deletec15_in_aga(T70, .(T68, T69), .(T68, X83)) → U10_aga(T70, T68, T69, X83, deletec15_in_aga(T70, T69, X83))
U10_aga(T70, T68, T69, X83, deletec15_out_aga(T70, T69, X83)) → deletec15_out_aga(T70, .(T68, T69), .(T68, X83))
DELETE15_IN_AGA(T70, .(T68, T69), .(T68, X83)) → DELETE15_IN_AGA(T70, T69, X83)
deletec15_in_aga(T59, .(T59, T60), T60) → deletec15_out_aga(T59, .(T59, T60), T60)
deletec15_in_aga(T70, .(T68, T69), .(T68, X83)) → U10_aga(T70, T68, T69, X83, deletec15_in_aga(T70, T69, X83))
U10_aga(T70, T68, T69, X83, deletec15_out_aga(T70, T69, X83)) → deletec15_out_aga(T70, .(T68, T69), .(T68, X83))
DELETE15_IN_AGA(T70, .(T68, T69), .(T68, X83)) → DELETE15_IN_AGA(T70, T69, X83)
DELETE15_IN_AGA(.(T68, T69)) → DELETE15_IN_AGA(T69)
From the DPs we obtained the following set of size-change graphs:
PERMUTE1_IN_GA(.(T37, T38), .(T39, T46)) → U4_GA(T37, T38, T39, T46, deletec15_in_aga(T39, T38, T45))
U4_GA(T37, T38, T39, T46, deletec15_out_aga(T39, T38, T45)) → PERMUTE1_IN_GA(.(T37, T45), T46)
PERMUTE1_IN_GA(.(T21, T22), .(T21, T23)) → PERMUTE1_IN_GA(T22, T23)
deletec15_in_aga(T59, .(T59, T60), T60) → deletec15_out_aga(T59, .(T59, T60), T60)
deletec15_in_aga(T70, .(T68, T69), .(T68, X83)) → U10_aga(T70, T68, T69, X83, deletec15_in_aga(T70, T69, X83))
U10_aga(T70, T68, T69, X83, deletec15_out_aga(T70, T69, X83)) → deletec15_out_aga(T70, .(T68, T69), .(T68, X83))
PERMUTE1_IN_GA(.(T37, T38)) → U4_GA(T37, T38, deletec15_in_aga(T38))
U4_GA(T37, T38, deletec15_out_aga(T39, T38, T45)) → PERMUTE1_IN_GA(.(T37, T45))
PERMUTE1_IN_GA(.(T21, T22)) → PERMUTE1_IN_GA(T22)
deletec15_in_aga(.(T59, T60)) → deletec15_out_aga(T59, .(T59, T60), T60)
deletec15_in_aga(.(T68, T69)) → U10_aga(T68, T69, deletec15_in_aga(T69))
U10_aga(T68, T69, deletec15_out_aga(T70, T69, X83)) → deletec15_out_aga(T70, .(T68, T69), .(T68, X83))
deletec15_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.
PERMUTE1_IN_GA(.(T21, T22)) → PERMUTE1_IN_GA(T22)
POL(.(x1, x2)) = 1 + x2
POL(PERMUTE1_IN_GA(x1)) = 1 + x1
POL(U10_aga(x1, x2, x3)) = 1 + x3
POL(U4_GA(x1, x2, x3)) = 1 + x3
POL(deletec15_in_aga(x1)) = 1 + x1
POL(deletec15_out_aga(x1, x2, x3)) = 1 + x3
deletec15_in_aga(.(T59, T60)) → deletec15_out_aga(T59, .(T59, T60), T60)
deletec15_in_aga(.(T68, T69)) → U10_aga(T68, T69, deletec15_in_aga(T69))
U10_aga(T68, T69, deletec15_out_aga(T70, T69, X83)) → deletec15_out_aga(T70, .(T68, T69), .(T68, X83))
PERMUTE1_IN_GA(.(T37, T38)) → U4_GA(T37, T38, deletec15_in_aga(T38))
U4_GA(T37, T38, deletec15_out_aga(T39, T38, T45)) → PERMUTE1_IN_GA(.(T37, T45))
deletec15_in_aga(.(T59, T60)) → deletec15_out_aga(T59, .(T59, T60), T60)
deletec15_in_aga(.(T68, T69)) → U10_aga(T68, T69, deletec15_in_aga(T69))
U10_aga(T68, T69, deletec15_out_aga(T70, T69, X83)) → deletec15_out_aga(T70, .(T68, T69), .(T68, X83))
deletec15_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.
U4_GA(T37, T38, deletec15_out_aga(T39, T38, T45)) → PERMUTE1_IN_GA(.(T37, T45))
POL( U4_GA(x1, ..., x3) ) = max{0, x1 + x3 - 1}
POL( deletec15_in_aga(x1) ) = x1
POL( .(x1, x2) ) = x1 + x2 + 2
POL( deletec15_out_aga(x1, ..., x3) ) = x1 + x3 + 2
POL( U10_aga(x1, ..., x3) ) = x1 + x3 + 2
POL( PERMUTE1_IN_GA(x1) ) = max{0, x1 - 2}
deletec15_in_aga(.(T59, T60)) → deletec15_out_aga(T59, .(T59, T60), T60)
deletec15_in_aga(.(T68, T69)) → U10_aga(T68, T69, deletec15_in_aga(T69))
U10_aga(T68, T69, deletec15_out_aga(T70, T69, X83)) → deletec15_out_aga(T70, .(T68, T69), .(T68, X83))
PERMUTE1_IN_GA(.(T37, T38)) → U4_GA(T37, T38, deletec15_in_aga(T38))
deletec15_in_aga(.(T59, T60)) → deletec15_out_aga(T59, .(T59, T60), T60)
deletec15_in_aga(.(T68, T69)) → U10_aga(T68, T69, deletec15_in_aga(T69))
U10_aga(T68, T69, deletec15_out_aga(T70, T69, X83)) → deletec15_out_aga(T70, .(T68, T69), .(T68, X83))
deletec15_in_aga(x0)
U10_aga(x0, x1, x2)