↳ PROLOG
↳ PrologToPiTRSProof
With regard to the inferred argument filtering the predicates were used in the following modes:
div3: (b,b,f)
quot4: (b,b,b,f)
Transforming PROLOG into the following Term Rewriting System:
Pi-finite rewrite system:
The TRS R consists of the following rules:
div_3_in_gga3(X, Y, Z) -> if_div_3_in_1_gga4(X, Y, Z, quot_4_in_ggga4(X, Y, Y, Z))
quot_4_in_ggga4(0_0, s_11(Y), s_11(Z), 0_0) -> quot_4_out_ggga4(0_0, s_11(Y), s_11(Z), 0_0)
quot_4_in_ggga4(s_11(X), s_11(Y), Z, U) -> if_quot_4_in_1_ggga5(X, Y, Z, U, quot_4_in_ggga4(X, Y, Z, U))
quot_4_in_ggga4(X, 0_0, s_11(Z), s_11(U)) -> if_quot_4_in_2_ggga4(X, Z, U, quot_4_in_ggga4(X, s_11(Z), s_11(Z), U))
if_quot_4_in_2_ggga4(X, Z, U, quot_4_out_ggga4(X, s_11(Z), s_11(Z), U)) -> quot_4_out_ggga4(X, 0_0, s_11(Z), s_11(U))
if_quot_4_in_1_ggga5(X, Y, Z, U, quot_4_out_ggga4(X, Y, Z, U)) -> quot_4_out_ggga4(s_11(X), s_11(Y), Z, U)
if_div_3_in_1_gga4(X, Y, Z, quot_4_out_ggga4(X, Y, Y, Z)) -> div_3_out_gga3(X, Y, Z)
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of PROLOG
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
div_3_in_gga3(X, Y, Z) -> if_div_3_in_1_gga4(X, Y, Z, quot_4_in_ggga4(X, Y, Y, Z))
quot_4_in_ggga4(0_0, s_11(Y), s_11(Z), 0_0) -> quot_4_out_ggga4(0_0, s_11(Y), s_11(Z), 0_0)
quot_4_in_ggga4(s_11(X), s_11(Y), Z, U) -> if_quot_4_in_1_ggga5(X, Y, Z, U, quot_4_in_ggga4(X, Y, Z, U))
quot_4_in_ggga4(X, 0_0, s_11(Z), s_11(U)) -> if_quot_4_in_2_ggga4(X, Z, U, quot_4_in_ggga4(X, s_11(Z), s_11(Z), U))
if_quot_4_in_2_ggga4(X, Z, U, quot_4_out_ggga4(X, s_11(Z), s_11(Z), U)) -> quot_4_out_ggga4(X, 0_0, s_11(Z), s_11(U))
if_quot_4_in_1_ggga5(X, Y, Z, U, quot_4_out_ggga4(X, Y, Z, U)) -> quot_4_out_ggga4(s_11(X), s_11(Y), Z, U)
if_div_3_in_1_gga4(X, Y, Z, quot_4_out_ggga4(X, Y, Y, Z)) -> div_3_out_gga3(X, Y, Z)
DIV_3_IN_GGA3(X, Y, Z) -> IF_DIV_3_IN_1_GGA4(X, Y, Z, quot_4_in_ggga4(X, Y, Y, Z))
DIV_3_IN_GGA3(X, Y, Z) -> QUOT_4_IN_GGGA4(X, Y, Y, Z)
QUOT_4_IN_GGGA4(s_11(X), s_11(Y), Z, U) -> IF_QUOT_4_IN_1_GGGA5(X, Y, Z, U, quot_4_in_ggga4(X, Y, Z, U))
QUOT_4_IN_GGGA4(s_11(X), s_11(Y), Z, U) -> QUOT_4_IN_GGGA4(X, Y, Z, U)
QUOT_4_IN_GGGA4(X, 0_0, s_11(Z), s_11(U)) -> IF_QUOT_4_IN_2_GGGA4(X, Z, U, quot_4_in_ggga4(X, s_11(Z), s_11(Z), U))
QUOT_4_IN_GGGA4(X, 0_0, s_11(Z), s_11(U)) -> QUOT_4_IN_GGGA4(X, s_11(Z), s_11(Z), U)
div_3_in_gga3(X, Y, Z) -> if_div_3_in_1_gga4(X, Y, Z, quot_4_in_ggga4(X, Y, Y, Z))
quot_4_in_ggga4(0_0, s_11(Y), s_11(Z), 0_0) -> quot_4_out_ggga4(0_0, s_11(Y), s_11(Z), 0_0)
quot_4_in_ggga4(s_11(X), s_11(Y), Z, U) -> if_quot_4_in_1_ggga5(X, Y, Z, U, quot_4_in_ggga4(X, Y, Z, U))
quot_4_in_ggga4(X, 0_0, s_11(Z), s_11(U)) -> if_quot_4_in_2_ggga4(X, Z, U, quot_4_in_ggga4(X, s_11(Z), s_11(Z), U))
if_quot_4_in_2_ggga4(X, Z, U, quot_4_out_ggga4(X, s_11(Z), s_11(Z), U)) -> quot_4_out_ggga4(X, 0_0, s_11(Z), s_11(U))
if_quot_4_in_1_ggga5(X, Y, Z, U, quot_4_out_ggga4(X, Y, Z, U)) -> quot_4_out_ggga4(s_11(X), s_11(Y), Z, U)
if_div_3_in_1_gga4(X, Y, Z, quot_4_out_ggga4(X, Y, Y, Z)) -> div_3_out_gga3(X, Y, Z)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
DIV_3_IN_GGA3(X, Y, Z) -> IF_DIV_3_IN_1_GGA4(X, Y, Z, quot_4_in_ggga4(X, Y, Y, Z))
DIV_3_IN_GGA3(X, Y, Z) -> QUOT_4_IN_GGGA4(X, Y, Y, Z)
QUOT_4_IN_GGGA4(s_11(X), s_11(Y), Z, U) -> IF_QUOT_4_IN_1_GGGA5(X, Y, Z, U, quot_4_in_ggga4(X, Y, Z, U))
QUOT_4_IN_GGGA4(s_11(X), s_11(Y), Z, U) -> QUOT_4_IN_GGGA4(X, Y, Z, U)
QUOT_4_IN_GGGA4(X, 0_0, s_11(Z), s_11(U)) -> IF_QUOT_4_IN_2_GGGA4(X, Z, U, quot_4_in_ggga4(X, s_11(Z), s_11(Z), U))
QUOT_4_IN_GGGA4(X, 0_0, s_11(Z), s_11(U)) -> QUOT_4_IN_GGGA4(X, s_11(Z), s_11(Z), U)
div_3_in_gga3(X, Y, Z) -> if_div_3_in_1_gga4(X, Y, Z, quot_4_in_ggga4(X, Y, Y, Z))
quot_4_in_ggga4(0_0, s_11(Y), s_11(Z), 0_0) -> quot_4_out_ggga4(0_0, s_11(Y), s_11(Z), 0_0)
quot_4_in_ggga4(s_11(X), s_11(Y), Z, U) -> if_quot_4_in_1_ggga5(X, Y, Z, U, quot_4_in_ggga4(X, Y, Z, U))
quot_4_in_ggga4(X, 0_0, s_11(Z), s_11(U)) -> if_quot_4_in_2_ggga4(X, Z, U, quot_4_in_ggga4(X, s_11(Z), s_11(Z), U))
if_quot_4_in_2_ggga4(X, Z, U, quot_4_out_ggga4(X, s_11(Z), s_11(Z), U)) -> quot_4_out_ggga4(X, 0_0, s_11(Z), s_11(U))
if_quot_4_in_1_ggga5(X, Y, Z, U, quot_4_out_ggga4(X, Y, Z, U)) -> quot_4_out_ggga4(s_11(X), s_11(Y), Z, U)
if_div_3_in_1_gga4(X, Y, Z, quot_4_out_ggga4(X, Y, Y, Z)) -> div_3_out_gga3(X, Y, Z)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ PiDP
↳ UsableRulesProof
QUOT_4_IN_GGGA4(X, 0_0, s_11(Z), s_11(U)) -> QUOT_4_IN_GGGA4(X, s_11(Z), s_11(Z), U)
QUOT_4_IN_GGGA4(s_11(X), s_11(Y), Z, U) -> QUOT_4_IN_GGGA4(X, Y, Z, U)
div_3_in_gga3(X, Y, Z) -> if_div_3_in_1_gga4(X, Y, Z, quot_4_in_ggga4(X, Y, Y, Z))
quot_4_in_ggga4(0_0, s_11(Y), s_11(Z), 0_0) -> quot_4_out_ggga4(0_0, s_11(Y), s_11(Z), 0_0)
quot_4_in_ggga4(s_11(X), s_11(Y), Z, U) -> if_quot_4_in_1_ggga5(X, Y, Z, U, quot_4_in_ggga4(X, Y, Z, U))
quot_4_in_ggga4(X, 0_0, s_11(Z), s_11(U)) -> if_quot_4_in_2_ggga4(X, Z, U, quot_4_in_ggga4(X, s_11(Z), s_11(Z), U))
if_quot_4_in_2_ggga4(X, Z, U, quot_4_out_ggga4(X, s_11(Z), s_11(Z), U)) -> quot_4_out_ggga4(X, 0_0, s_11(Z), s_11(U))
if_quot_4_in_1_ggga5(X, Y, Z, U, quot_4_out_ggga4(X, Y, Z, U)) -> quot_4_out_ggga4(s_11(X), s_11(Y), Z, U)
if_div_3_in_1_gga4(X, Y, Z, quot_4_out_ggga4(X, Y, Y, Z)) -> div_3_out_gga3(X, Y, Z)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
QUOT_4_IN_GGGA4(X, 0_0, s_11(Z), s_11(U)) -> QUOT_4_IN_GGGA4(X, s_11(Z), s_11(Z), U)
QUOT_4_IN_GGGA4(s_11(X), s_11(Y), Z, U) -> QUOT_4_IN_GGGA4(X, Y, Z, U)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ QDPSizeChangeProof
QUOT_4_IN_GGGA3(X, 0_0, s_11(Z)) -> QUOT_4_IN_GGGA3(X, s_11(Z), s_11(Z))
QUOT_4_IN_GGGA3(s_11(X), s_11(Y), Z) -> QUOT_4_IN_GGGA3(X, Y, Z)
From the DPs we obtained the following set of size-change graphs: