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 DependencyGraphProof (⇔)
↳20 TRUE
DIV1_IN_GGAA(s(T142), s(T143), s(T104), T105) → U2_GGAA(T142, T143, T104, T105, minus160_in_gga(T142, T143, X255))
DIV1_IN_GGAA(s(T142), s(T143), s(T104), T105) → MINUS160_IN_GGA(T142, T143, X255)
MINUS160_IN_GGA(s(T155), s(T156), X278) → U1_GGA(T155, T156, X278, minus160_in_gga(T155, T156, X278))
MINUS160_IN_GGA(s(T155), s(T156), X278) → MINUS160_IN_GGA(T155, T156, X278)
DIV1_IN_GGAA(T119, T129, s(T104), T105) → U3_GGAA(T119, T129, T104, T105, minusc156_in_gga(T119, T129, T134))
U3_GGAA(T119, T129, T104, T105, minusc156_out_gga(T119, T129, T134)) → U4_GGAA(T119, T129, T104, T105, div1_in_ggaa(T134, T129, T104, T105))
U3_GGAA(T119, T129, T104, T105, minusc156_out_gga(T119, T129, T134)) → DIV1_IN_GGAA(T134, T129, T104, T105)
minusc156_in_gga(s(T142), s(T143), X255) → U9_gga(T142, T143, X255, minusc160_in_gga(T142, T143, X255))
minusc160_in_gga(T150, 0, T150) → minusc160_out_gga(T150, 0, T150)
minusc160_in_gga(s(T155), s(T156), X278) → U6_gga(T155, T156, X278, minusc160_in_gga(T155, T156, X278))
U6_gga(T155, T156, X278, minusc160_out_gga(T155, T156, X278)) → minusc160_out_gga(s(T155), s(T156), X278)
U9_gga(T142, T143, X255, minusc160_out_gga(T142, T143, X255)) → minusc156_out_gga(s(T142), s(T143), X255)
Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES
DIV1_IN_GGAA(s(T142), s(T143), s(T104), T105) → U2_GGAA(T142, T143, T104, T105, minus160_in_gga(T142, T143, X255))
DIV1_IN_GGAA(s(T142), s(T143), s(T104), T105) → MINUS160_IN_GGA(T142, T143, X255)
MINUS160_IN_GGA(s(T155), s(T156), X278) → U1_GGA(T155, T156, X278, minus160_in_gga(T155, T156, X278))
MINUS160_IN_GGA(s(T155), s(T156), X278) → MINUS160_IN_GGA(T155, T156, X278)
DIV1_IN_GGAA(T119, T129, s(T104), T105) → U3_GGAA(T119, T129, T104, T105, minusc156_in_gga(T119, T129, T134))
U3_GGAA(T119, T129, T104, T105, minusc156_out_gga(T119, T129, T134)) → U4_GGAA(T119, T129, T104, T105, div1_in_ggaa(T134, T129, T104, T105))
U3_GGAA(T119, T129, T104, T105, minusc156_out_gga(T119, T129, T134)) → DIV1_IN_GGAA(T134, T129, T104, T105)
minusc156_in_gga(s(T142), s(T143), X255) → U9_gga(T142, T143, X255, minusc160_in_gga(T142, T143, X255))
minusc160_in_gga(T150, 0, T150) → minusc160_out_gga(T150, 0, T150)
minusc160_in_gga(s(T155), s(T156), X278) → U6_gga(T155, T156, X278, minusc160_in_gga(T155, T156, X278))
U6_gga(T155, T156, X278, minusc160_out_gga(T155, T156, X278)) → minusc160_out_gga(s(T155), s(T156), X278)
U9_gga(T142, T143, X255, minusc160_out_gga(T142, T143, X255)) → minusc156_out_gga(s(T142), s(T143), X255)
MINUS160_IN_GGA(s(T155), s(T156), X278) → MINUS160_IN_GGA(T155, T156, X278)
minusc156_in_gga(s(T142), s(T143), X255) → U9_gga(T142, T143, X255, minusc160_in_gga(T142, T143, X255))
minusc160_in_gga(T150, 0, T150) → minusc160_out_gga(T150, 0, T150)
minusc160_in_gga(s(T155), s(T156), X278) → U6_gga(T155, T156, X278, minusc160_in_gga(T155, T156, X278))
U6_gga(T155, T156, X278, minusc160_out_gga(T155, T156, X278)) → minusc160_out_gga(s(T155), s(T156), X278)
U9_gga(T142, T143, X255, minusc160_out_gga(T142, T143, X255)) → minusc156_out_gga(s(T142), s(T143), X255)
MINUS160_IN_GGA(s(T155), s(T156), X278) → MINUS160_IN_GGA(T155, T156, X278)
MINUS160_IN_GGA(s(T155), s(T156)) → MINUS160_IN_GGA(T155, T156)
From the DPs we obtained the following set of size-change graphs:
DIV1_IN_GGAA(T119, T129, s(T104), T105) → U3_GGAA(T119, T129, T104, T105, minusc156_in_gga(T119, T129, T134))
U3_GGAA(T119, T129, T104, T105, minusc156_out_gga(T119, T129, T134)) → DIV1_IN_GGAA(T134, T129, T104, T105)
minusc156_in_gga(s(T142), s(T143), X255) → U9_gga(T142, T143, X255, minusc160_in_gga(T142, T143, X255))
minusc160_in_gga(T150, 0, T150) → minusc160_out_gga(T150, 0, T150)
minusc160_in_gga(s(T155), s(T156), X278) → U6_gga(T155, T156, X278, minusc160_in_gga(T155, T156, X278))
U6_gga(T155, T156, X278, minusc160_out_gga(T155, T156, X278)) → minusc160_out_gga(s(T155), s(T156), X278)
U9_gga(T142, T143, X255, minusc160_out_gga(T142, T143, X255)) → minusc156_out_gga(s(T142), s(T143), X255)
DIV1_IN_GGAA(T119, T129) → U3_GGAA(T119, T129, minusc156_in_gga(T119, T129))
U3_GGAA(T119, T129, minusc156_out_gga(T119, T129, T134)) → DIV1_IN_GGAA(T134, T129)
minusc156_in_gga(s(T142), s(T143)) → U9_gga(T142, T143, minusc160_in_gga(T142, T143))
minusc160_in_gga(T150, 0) → minusc160_out_gga(T150, 0, T150)
minusc160_in_gga(s(T155), s(T156)) → U6_gga(T155, T156, minusc160_in_gga(T155, T156))
U6_gga(T155, T156, minusc160_out_gga(T155, T156, X278)) → minusc160_out_gga(s(T155), s(T156), X278)
U9_gga(T142, T143, minusc160_out_gga(T142, T143, X255)) → minusc156_out_gga(s(T142), s(T143), X255)
minusc156_in_gga(x0, x1)
minusc160_in_gga(x0, x1)
U6_gga(x0, x1, x2)
U9_gga(x0, x1, x2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U3_GGAA(T119, T129, minusc156_out_gga(T119, T129, T134)) → DIV1_IN_GGAA(T134, T129)
POL( U3_GGAA(x1, ..., x3) ) = x3
POL( minusc156_in_gga(x1, x2) ) = max{0, 2x1 - 1}
POL( s(x1) ) = x1 + 1
POL( U9_gga(x1, ..., x3) ) = x3 + 1
POL( minusc160_in_gga(x1, x2) ) = 2x1
POL( 0 ) = 0
POL( minusc160_out_gga(x1, ..., x3) ) = 2x3
POL( U6_gga(x1, ..., x3) ) = x3
POL( minusc156_out_gga(x1, ..., x3) ) = 2x3 + 1
POL( DIV1_IN_GGAA(x1, x2) ) = 2x1
minusc156_in_gga(s(T142), s(T143)) → U9_gga(T142, T143, minusc160_in_gga(T142, T143))
minusc160_in_gga(T150, 0) → minusc160_out_gga(T150, 0, T150)
minusc160_in_gga(s(T155), s(T156)) → U6_gga(T155, T156, minusc160_in_gga(T155, T156))
U9_gga(T142, T143, minusc160_out_gga(T142, T143, X255)) → minusc156_out_gga(s(T142), s(T143), X255)
U6_gga(T155, T156, minusc160_out_gga(T155, T156, X278)) → minusc160_out_gga(s(T155), s(T156), X278)
DIV1_IN_GGAA(T119, T129) → U3_GGAA(T119, T129, minusc156_in_gga(T119, T129))
minusc156_in_gga(s(T142), s(T143)) → U9_gga(T142, T143, minusc160_in_gga(T142, T143))
minusc160_in_gga(T150, 0) → minusc160_out_gga(T150, 0, T150)
minusc160_in_gga(s(T155), s(T156)) → U6_gga(T155, T156, minusc160_in_gga(T155, T156))
U6_gga(T155, T156, minusc160_out_gga(T155, T156, X278)) → minusc160_out_gga(s(T155), s(T156), X278)
U9_gga(T142, T143, minusc160_out_gga(T142, T143, X255)) → minusc156_out_gga(s(T142), s(T143), X255)
minusc156_in_gga(x0, x1)
minusc160_in_gga(x0, x1)
U6_gga(x0, x1, x2)
U9_gga(x0, x1, x2)