0 Prolog
↳1 PrologToPrologProblemTransformerProof (⇐)
↳2 Prolog
↳3 PrologToPiTRSProof (⇐)
↳4 PiTRS
↳5 DependencyPairsProof (⇔)
↳6 PiDP
↳7 DependencyGraphProof (⇔)
↳8 AND
↳9 PiDP
↳10 UsableRulesProof (⇔)
↳11 PiDP
↳12 PiDPToQDPProof (⇐)
↳13 QDP
↳14 QDPSizeChangeProof (⇔)
↳15 YES
↳16 PiDP
↳17 UsableRulesProof (⇔)
↳18 PiDP
↳19 PiDPToQDPProof (⇔)
↳20 QDP
↳21 QDPSizeChangeProof (⇔)
↳22 YES
↳23 PiDP
↳24 UsableRulesProof (⇔)
↳25 PiDP
↳26 PiDPToQDPProof (⇐)
↳27 QDP
↳28 QDPOrderProof (⇔)
↳29 QDP
↳30 PisEmptyProof (⇔)
↳31 YES
div1_in_gga(T7, s(T8), T10) → U7_gga(T7, T8, T10, div_s3_in_gga(T7, T8, T10))
div_s3_in_gga(0, T15, 0) → div_s3_out_gga(0, T15, 0)
div_s3_in_gga(s(T24), T25, 0) → U2_gga(T24, T25, lss13_in_gg(T24, T25))
lss13_in_gg(s(T36), s(T37)) → U1_gg(T36, T37, lss13_in_gg(T36, T37))
lss13_in_gg(0, s(T42)) → lss13_out_gg(0, s(T42))
U1_gg(T36, T37, lss13_out_gg(T36, T37)) → lss13_out_gg(s(T36), s(T37))
U2_gga(T24, T25, lss13_out_gg(T24, T25)) → div_s3_out_gga(s(T24), T25, 0)
div_s3_in_gga(s(T49), T50, s(T52)) → U3_gga(T49, T50, T52, sub25_in_gga(T49, T50, X58))
sub25_in_gga(s(T66), s(T67), X89) → U6_gga(T66, T67, X89, sub25_in_gga(T66, T67, X89))
sub25_in_gga(T72, 0, T72) → sub25_out_gga(T72, 0, T72)
U6_gga(T66, T67, X89, sub25_out_gga(T66, T67, X89)) → sub25_out_gga(s(T66), s(T67), X89)
U3_gga(T49, T50, T52, sub25_out_gga(T49, T50, X58)) → div_s3_out_gga(s(T49), T50, s(T52))
div_s3_in_gga(s(T49), T50, s(T52)) → U4_gga(T49, T50, T52, sub25_in_gga(T49, T50, T55))
U4_gga(T49, T50, T52, sub25_out_gga(T49, T50, T55)) → U5_gga(T49, T50, T52, div_s3_in_gga(T55, T50, T52))
U5_gga(T49, T50, T52, div_s3_out_gga(T55, T50, T52)) → div_s3_out_gga(s(T49), T50, s(T52))
U7_gga(T7, T8, T10, div_s3_out_gga(T7, T8, T10)) → div1_out_gga(T7, s(T8), T10)
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog
div1_in_gga(T7, s(T8), T10) → U7_gga(T7, T8, T10, div_s3_in_gga(T7, T8, T10))
div_s3_in_gga(0, T15, 0) → div_s3_out_gga(0, T15, 0)
div_s3_in_gga(s(T24), T25, 0) → U2_gga(T24, T25, lss13_in_gg(T24, T25))
lss13_in_gg(s(T36), s(T37)) → U1_gg(T36, T37, lss13_in_gg(T36, T37))
lss13_in_gg(0, s(T42)) → lss13_out_gg(0, s(T42))
U1_gg(T36, T37, lss13_out_gg(T36, T37)) → lss13_out_gg(s(T36), s(T37))
U2_gga(T24, T25, lss13_out_gg(T24, T25)) → div_s3_out_gga(s(T24), T25, 0)
div_s3_in_gga(s(T49), T50, s(T52)) → U3_gga(T49, T50, T52, sub25_in_gga(T49, T50, X58))
sub25_in_gga(s(T66), s(T67), X89) → U6_gga(T66, T67, X89, sub25_in_gga(T66, T67, X89))
sub25_in_gga(T72, 0, T72) → sub25_out_gga(T72, 0, T72)
U6_gga(T66, T67, X89, sub25_out_gga(T66, T67, X89)) → sub25_out_gga(s(T66), s(T67), X89)
U3_gga(T49, T50, T52, sub25_out_gga(T49, T50, X58)) → div_s3_out_gga(s(T49), T50, s(T52))
div_s3_in_gga(s(T49), T50, s(T52)) → U4_gga(T49, T50, T52, sub25_in_gga(T49, T50, T55))
U4_gga(T49, T50, T52, sub25_out_gga(T49, T50, T55)) → U5_gga(T49, T50, T52, div_s3_in_gga(T55, T50, T52))
U5_gga(T49, T50, T52, div_s3_out_gga(T55, T50, T52)) → div_s3_out_gga(s(T49), T50, s(T52))
U7_gga(T7, T8, T10, div_s3_out_gga(T7, T8, T10)) → div1_out_gga(T7, s(T8), T10)
DIV1_IN_GGA(T7, s(T8), T10) → U7_GGA(T7, T8, T10, div_s3_in_gga(T7, T8, T10))
DIV1_IN_GGA(T7, s(T8), T10) → DIV_S3_IN_GGA(T7, T8, T10)
DIV_S3_IN_GGA(s(T24), T25, 0) → U2_GGA(T24, T25, lss13_in_gg(T24, T25))
DIV_S3_IN_GGA(s(T24), T25, 0) → LSS13_IN_GG(T24, T25)
LSS13_IN_GG(s(T36), s(T37)) → U1_GG(T36, T37, lss13_in_gg(T36, T37))
LSS13_IN_GG(s(T36), s(T37)) → LSS13_IN_GG(T36, T37)
DIV_S3_IN_GGA(s(T49), T50, s(T52)) → U3_GGA(T49, T50, T52, sub25_in_gga(T49, T50, X58))
DIV_S3_IN_GGA(s(T49), T50, s(T52)) → SUB25_IN_GGA(T49, T50, X58)
SUB25_IN_GGA(s(T66), s(T67), X89) → U6_GGA(T66, T67, X89, sub25_in_gga(T66, T67, X89))
SUB25_IN_GGA(s(T66), s(T67), X89) → SUB25_IN_GGA(T66, T67, X89)
DIV_S3_IN_GGA(s(T49), T50, s(T52)) → U4_GGA(T49, T50, T52, sub25_in_gga(T49, T50, T55))
U4_GGA(T49, T50, T52, sub25_out_gga(T49, T50, T55)) → U5_GGA(T49, T50, T52, div_s3_in_gga(T55, T50, T52))
U4_GGA(T49, T50, T52, sub25_out_gga(T49, T50, T55)) → DIV_S3_IN_GGA(T55, T50, T52)
div1_in_gga(T7, s(T8), T10) → U7_gga(T7, T8, T10, div_s3_in_gga(T7, T8, T10))
div_s3_in_gga(0, T15, 0) → div_s3_out_gga(0, T15, 0)
div_s3_in_gga(s(T24), T25, 0) → U2_gga(T24, T25, lss13_in_gg(T24, T25))
lss13_in_gg(s(T36), s(T37)) → U1_gg(T36, T37, lss13_in_gg(T36, T37))
lss13_in_gg(0, s(T42)) → lss13_out_gg(0, s(T42))
U1_gg(T36, T37, lss13_out_gg(T36, T37)) → lss13_out_gg(s(T36), s(T37))
U2_gga(T24, T25, lss13_out_gg(T24, T25)) → div_s3_out_gga(s(T24), T25, 0)
div_s3_in_gga(s(T49), T50, s(T52)) → U3_gga(T49, T50, T52, sub25_in_gga(T49, T50, X58))
sub25_in_gga(s(T66), s(T67), X89) → U6_gga(T66, T67, X89, sub25_in_gga(T66, T67, X89))
sub25_in_gga(T72, 0, T72) → sub25_out_gga(T72, 0, T72)
U6_gga(T66, T67, X89, sub25_out_gga(T66, T67, X89)) → sub25_out_gga(s(T66), s(T67), X89)
U3_gga(T49, T50, T52, sub25_out_gga(T49, T50, X58)) → div_s3_out_gga(s(T49), T50, s(T52))
div_s3_in_gga(s(T49), T50, s(T52)) → U4_gga(T49, T50, T52, sub25_in_gga(T49, T50, T55))
U4_gga(T49, T50, T52, sub25_out_gga(T49, T50, T55)) → U5_gga(T49, T50, T52, div_s3_in_gga(T55, T50, T52))
U5_gga(T49, T50, T52, div_s3_out_gga(T55, T50, T52)) → div_s3_out_gga(s(T49), T50, s(T52))
U7_gga(T7, T8, T10, div_s3_out_gga(T7, T8, T10)) → div1_out_gga(T7, s(T8), T10)
DIV1_IN_GGA(T7, s(T8), T10) → U7_GGA(T7, T8, T10, div_s3_in_gga(T7, T8, T10))
DIV1_IN_GGA(T7, s(T8), T10) → DIV_S3_IN_GGA(T7, T8, T10)
DIV_S3_IN_GGA(s(T24), T25, 0) → U2_GGA(T24, T25, lss13_in_gg(T24, T25))
DIV_S3_IN_GGA(s(T24), T25, 0) → LSS13_IN_GG(T24, T25)
LSS13_IN_GG(s(T36), s(T37)) → U1_GG(T36, T37, lss13_in_gg(T36, T37))
LSS13_IN_GG(s(T36), s(T37)) → LSS13_IN_GG(T36, T37)
DIV_S3_IN_GGA(s(T49), T50, s(T52)) → U3_GGA(T49, T50, T52, sub25_in_gga(T49, T50, X58))
DIV_S3_IN_GGA(s(T49), T50, s(T52)) → SUB25_IN_GGA(T49, T50, X58)
SUB25_IN_GGA(s(T66), s(T67), X89) → U6_GGA(T66, T67, X89, sub25_in_gga(T66, T67, X89))
SUB25_IN_GGA(s(T66), s(T67), X89) → SUB25_IN_GGA(T66, T67, X89)
DIV_S3_IN_GGA(s(T49), T50, s(T52)) → U4_GGA(T49, T50, T52, sub25_in_gga(T49, T50, T55))
U4_GGA(T49, T50, T52, sub25_out_gga(T49, T50, T55)) → U5_GGA(T49, T50, T52, div_s3_in_gga(T55, T50, T52))
U4_GGA(T49, T50, T52, sub25_out_gga(T49, T50, T55)) → DIV_S3_IN_GGA(T55, T50, T52)
div1_in_gga(T7, s(T8), T10) → U7_gga(T7, T8, T10, div_s3_in_gga(T7, T8, T10))
div_s3_in_gga(0, T15, 0) → div_s3_out_gga(0, T15, 0)
div_s3_in_gga(s(T24), T25, 0) → U2_gga(T24, T25, lss13_in_gg(T24, T25))
lss13_in_gg(s(T36), s(T37)) → U1_gg(T36, T37, lss13_in_gg(T36, T37))
lss13_in_gg(0, s(T42)) → lss13_out_gg(0, s(T42))
U1_gg(T36, T37, lss13_out_gg(T36, T37)) → lss13_out_gg(s(T36), s(T37))
U2_gga(T24, T25, lss13_out_gg(T24, T25)) → div_s3_out_gga(s(T24), T25, 0)
div_s3_in_gga(s(T49), T50, s(T52)) → U3_gga(T49, T50, T52, sub25_in_gga(T49, T50, X58))
sub25_in_gga(s(T66), s(T67), X89) → U6_gga(T66, T67, X89, sub25_in_gga(T66, T67, X89))
sub25_in_gga(T72, 0, T72) → sub25_out_gga(T72, 0, T72)
U6_gga(T66, T67, X89, sub25_out_gga(T66, T67, X89)) → sub25_out_gga(s(T66), s(T67), X89)
U3_gga(T49, T50, T52, sub25_out_gga(T49, T50, X58)) → div_s3_out_gga(s(T49), T50, s(T52))
div_s3_in_gga(s(T49), T50, s(T52)) → U4_gga(T49, T50, T52, sub25_in_gga(T49, T50, T55))
U4_gga(T49, T50, T52, sub25_out_gga(T49, T50, T55)) → U5_gga(T49, T50, T52, div_s3_in_gga(T55, T50, T52))
U5_gga(T49, T50, T52, div_s3_out_gga(T55, T50, T52)) → div_s3_out_gga(s(T49), T50, s(T52))
U7_gga(T7, T8, T10, div_s3_out_gga(T7, T8, T10)) → div1_out_gga(T7, s(T8), T10)
SUB25_IN_GGA(s(T66), s(T67), X89) → SUB25_IN_GGA(T66, T67, X89)
div1_in_gga(T7, s(T8), T10) → U7_gga(T7, T8, T10, div_s3_in_gga(T7, T8, T10))
div_s3_in_gga(0, T15, 0) → div_s3_out_gga(0, T15, 0)
div_s3_in_gga(s(T24), T25, 0) → U2_gga(T24, T25, lss13_in_gg(T24, T25))
lss13_in_gg(s(T36), s(T37)) → U1_gg(T36, T37, lss13_in_gg(T36, T37))
lss13_in_gg(0, s(T42)) → lss13_out_gg(0, s(T42))
U1_gg(T36, T37, lss13_out_gg(T36, T37)) → lss13_out_gg(s(T36), s(T37))
U2_gga(T24, T25, lss13_out_gg(T24, T25)) → div_s3_out_gga(s(T24), T25, 0)
div_s3_in_gga(s(T49), T50, s(T52)) → U3_gga(T49, T50, T52, sub25_in_gga(T49, T50, X58))
sub25_in_gga(s(T66), s(T67), X89) → U6_gga(T66, T67, X89, sub25_in_gga(T66, T67, X89))
sub25_in_gga(T72, 0, T72) → sub25_out_gga(T72, 0, T72)
U6_gga(T66, T67, X89, sub25_out_gga(T66, T67, X89)) → sub25_out_gga(s(T66), s(T67), X89)
U3_gga(T49, T50, T52, sub25_out_gga(T49, T50, X58)) → div_s3_out_gga(s(T49), T50, s(T52))
div_s3_in_gga(s(T49), T50, s(T52)) → U4_gga(T49, T50, T52, sub25_in_gga(T49, T50, T55))
U4_gga(T49, T50, T52, sub25_out_gga(T49, T50, T55)) → U5_gga(T49, T50, T52, div_s3_in_gga(T55, T50, T52))
U5_gga(T49, T50, T52, div_s3_out_gga(T55, T50, T52)) → div_s3_out_gga(s(T49), T50, s(T52))
U7_gga(T7, T8, T10, div_s3_out_gga(T7, T8, T10)) → div1_out_gga(T7, s(T8), T10)
SUB25_IN_GGA(s(T66), s(T67), X89) → SUB25_IN_GGA(T66, T67, X89)
SUB25_IN_GGA(s(T66), s(T67)) → SUB25_IN_GGA(T66, T67)
From the DPs we obtained the following set of size-change graphs:
LSS13_IN_GG(s(T36), s(T37)) → LSS13_IN_GG(T36, T37)
div1_in_gga(T7, s(T8), T10) → U7_gga(T7, T8, T10, div_s3_in_gga(T7, T8, T10))
div_s3_in_gga(0, T15, 0) → div_s3_out_gga(0, T15, 0)
div_s3_in_gga(s(T24), T25, 0) → U2_gga(T24, T25, lss13_in_gg(T24, T25))
lss13_in_gg(s(T36), s(T37)) → U1_gg(T36, T37, lss13_in_gg(T36, T37))
lss13_in_gg(0, s(T42)) → lss13_out_gg(0, s(T42))
U1_gg(T36, T37, lss13_out_gg(T36, T37)) → lss13_out_gg(s(T36), s(T37))
U2_gga(T24, T25, lss13_out_gg(T24, T25)) → div_s3_out_gga(s(T24), T25, 0)
div_s3_in_gga(s(T49), T50, s(T52)) → U3_gga(T49, T50, T52, sub25_in_gga(T49, T50, X58))
sub25_in_gga(s(T66), s(T67), X89) → U6_gga(T66, T67, X89, sub25_in_gga(T66, T67, X89))
sub25_in_gga(T72, 0, T72) → sub25_out_gga(T72, 0, T72)
U6_gga(T66, T67, X89, sub25_out_gga(T66, T67, X89)) → sub25_out_gga(s(T66), s(T67), X89)
U3_gga(T49, T50, T52, sub25_out_gga(T49, T50, X58)) → div_s3_out_gga(s(T49), T50, s(T52))
div_s3_in_gga(s(T49), T50, s(T52)) → U4_gga(T49, T50, T52, sub25_in_gga(T49, T50, T55))
U4_gga(T49, T50, T52, sub25_out_gga(T49, T50, T55)) → U5_gga(T49, T50, T52, div_s3_in_gga(T55, T50, T52))
U5_gga(T49, T50, T52, div_s3_out_gga(T55, T50, T52)) → div_s3_out_gga(s(T49), T50, s(T52))
U7_gga(T7, T8, T10, div_s3_out_gga(T7, T8, T10)) → div1_out_gga(T7, s(T8), T10)
LSS13_IN_GG(s(T36), s(T37)) → LSS13_IN_GG(T36, T37)
LSS13_IN_GG(s(T36), s(T37)) → LSS13_IN_GG(T36, T37)
From the DPs we obtained the following set of size-change graphs:
DIV_S3_IN_GGA(s(T49), T50, s(T52)) → U4_GGA(T49, T50, T52, sub25_in_gga(T49, T50, T55))
U4_GGA(T49, T50, T52, sub25_out_gga(T49, T50, T55)) → DIV_S3_IN_GGA(T55, T50, T52)
div1_in_gga(T7, s(T8), T10) → U7_gga(T7, T8, T10, div_s3_in_gga(T7, T8, T10))
div_s3_in_gga(0, T15, 0) → div_s3_out_gga(0, T15, 0)
div_s3_in_gga(s(T24), T25, 0) → U2_gga(T24, T25, lss13_in_gg(T24, T25))
lss13_in_gg(s(T36), s(T37)) → U1_gg(T36, T37, lss13_in_gg(T36, T37))
lss13_in_gg(0, s(T42)) → lss13_out_gg(0, s(T42))
U1_gg(T36, T37, lss13_out_gg(T36, T37)) → lss13_out_gg(s(T36), s(T37))
U2_gga(T24, T25, lss13_out_gg(T24, T25)) → div_s3_out_gga(s(T24), T25, 0)
div_s3_in_gga(s(T49), T50, s(T52)) → U3_gga(T49, T50, T52, sub25_in_gga(T49, T50, X58))
sub25_in_gga(s(T66), s(T67), X89) → U6_gga(T66, T67, X89, sub25_in_gga(T66, T67, X89))
sub25_in_gga(T72, 0, T72) → sub25_out_gga(T72, 0, T72)
U6_gga(T66, T67, X89, sub25_out_gga(T66, T67, X89)) → sub25_out_gga(s(T66), s(T67), X89)
U3_gga(T49, T50, T52, sub25_out_gga(T49, T50, X58)) → div_s3_out_gga(s(T49), T50, s(T52))
div_s3_in_gga(s(T49), T50, s(T52)) → U4_gga(T49, T50, T52, sub25_in_gga(T49, T50, T55))
U4_gga(T49, T50, T52, sub25_out_gga(T49, T50, T55)) → U5_gga(T49, T50, T52, div_s3_in_gga(T55, T50, T52))
U5_gga(T49, T50, T52, div_s3_out_gga(T55, T50, T52)) → div_s3_out_gga(s(T49), T50, s(T52))
U7_gga(T7, T8, T10, div_s3_out_gga(T7, T8, T10)) → div1_out_gga(T7, s(T8), T10)
DIV_S3_IN_GGA(s(T49), T50, s(T52)) → U4_GGA(T49, T50, T52, sub25_in_gga(T49, T50, T55))
U4_GGA(T49, T50, T52, sub25_out_gga(T49, T50, T55)) → DIV_S3_IN_GGA(T55, T50, T52)
sub25_in_gga(s(T66), s(T67), X89) → U6_gga(T66, T67, X89, sub25_in_gga(T66, T67, X89))
sub25_in_gga(T72, 0, T72) → sub25_out_gga(T72, 0, T72)
U6_gga(T66, T67, X89, sub25_out_gga(T66, T67, X89)) → sub25_out_gga(s(T66), s(T67), X89)
DIV_S3_IN_GGA(s(T49), T50) → U4_GGA(T50, sub25_in_gga(T49, T50))
U4_GGA(T50, sub25_out_gga(T55)) → DIV_S3_IN_GGA(T55, T50)
sub25_in_gga(s(T66), s(T67)) → U6_gga(sub25_in_gga(T66, T67))
sub25_in_gga(T72, 0) → sub25_out_gga(T72)
U6_gga(sub25_out_gga(X89)) → sub25_out_gga(X89)
sub25_in_gga(x0, x1)
U6_gga(x0)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
DIV_S3_IN_GGA(s(T49), T50) → U4_GGA(T50, sub25_in_gga(T49, T50))
U4_GGA(T50, sub25_out_gga(T55)) → DIV_S3_IN_GGA(T55, T50)
POL( U4_GGA(x1, x2) ) = 2x2
POL( sub25_in_gga(x1, x2) ) = 2x1 + 2
POL( s(x1) ) = 2x1 + 2
POL( U6_gga(x1) ) = 2x1 + 2
POL( 0 ) = 0
POL( sub25_out_gga(x1) ) = 2x1 + 2
POL( DIV_S3_IN_GGA(x1, x2) ) = 2x1 + 2
sub25_in_gga(s(T66), s(T67)) → U6_gga(sub25_in_gga(T66, T67))
sub25_in_gga(T72, 0) → sub25_out_gga(T72)
U6_gga(sub25_out_gga(X89)) → sub25_out_gga(X89)
sub25_in_gga(s(T66), s(T67)) → U6_gga(sub25_in_gga(T66, T67))
sub25_in_gga(T72, 0) → sub25_out_gga(T72)
U6_gga(sub25_out_gga(X89)) → sub25_out_gga(X89)
sub25_in_gga(x0, x1)
U6_gga(x0)