0 Prolog
↳1 PrologToPrologProblemTransformerProof (⇒, 83 ms)
↳2 Prolog
↳3 PrologToPiTRSProof (⇒, 40 ms)
↳4 PiTRS
↳5 DependencyPairsProof (⇔, 0 ms)
↳6 PiDP
↳7 DependencyGraphProof (⇔, 0 ms)
↳8 AND
↳9 PiDP
↳10 UsableRulesProof (⇔, 0 ms)
↳11 PiDP
↳12 PiDPToQDPProof (⇒, 15 ms)
↳13 QDP
↳14 QDPSizeChangeProof (⇔, 0 ms)
↳15 YES
↳16 PiDP
↳17 UsableRulesProof (⇔, 0 ms)
↳18 PiDP
↳19 PiDPToQDPProof (⇒, 0 ms)
↳20 QDP
↳21 QDPOrderProof (⇔, 0 ms)
↳22 QDP
↳23 DependencyGraphProof (⇔, 0 ms)
↳24 TRUE
divB_in_ggaa(0, T14, 0, 0) → divB_out_ggaa(0, T14, 0, 0)
divB_in_ggaa(s(T45), s(T46), s(T34), T35) → U2_ggaa(T45, T46, T34, T35, minusA_in_gga(T45, T46, X54))
minusA_in_gga(T56, 0, T56) → minusA_out_gga(T56, 0, T56)
minusA_in_gga(s(T61), s(T62), X75) → U1_gga(T61, T62, X75, minusA_in_gga(T61, T62, X75))
U1_gga(T61, T62, X75, minusA_out_gga(T61, T62, X75)) → minusA_out_gga(s(T61), s(T62), X75)
U2_ggaa(T45, T46, T34, T35, minusA_out_gga(T45, T46, X54)) → divB_out_ggaa(s(T45), s(T46), s(T34), T35)
divB_in_ggaa(s(T45), s(T46), s(T34), T35) → U3_ggaa(T45, T46, T34, T35, minusA_in_gga(T45, T46, T49))
U3_ggaa(T45, T46, T34, T35, minusA_out_gga(T45, T46, T49)) → U4_ggaa(T45, T46, T34, T35, divB_in_ggaa(T49, s(T46), T34, T35))
divB_in_ggaa(T72, T73, T74, T72) → divB_out_ggaa(T72, T73, T74, T72)
U4_ggaa(T45, T46, T34, T35, divB_out_ggaa(T49, s(T46), T34, T35)) → divB_out_ggaa(s(T45), s(T46), s(T34), T35)
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog
divB_in_ggaa(0, T14, 0, 0) → divB_out_ggaa(0, T14, 0, 0)
divB_in_ggaa(s(T45), s(T46), s(T34), T35) → U2_ggaa(T45, T46, T34, T35, minusA_in_gga(T45, T46, X54))
minusA_in_gga(T56, 0, T56) → minusA_out_gga(T56, 0, T56)
minusA_in_gga(s(T61), s(T62), X75) → U1_gga(T61, T62, X75, minusA_in_gga(T61, T62, X75))
U1_gga(T61, T62, X75, minusA_out_gga(T61, T62, X75)) → minusA_out_gga(s(T61), s(T62), X75)
U2_ggaa(T45, T46, T34, T35, minusA_out_gga(T45, T46, X54)) → divB_out_ggaa(s(T45), s(T46), s(T34), T35)
divB_in_ggaa(s(T45), s(T46), s(T34), T35) → U3_ggaa(T45, T46, T34, T35, minusA_in_gga(T45, T46, T49))
U3_ggaa(T45, T46, T34, T35, minusA_out_gga(T45, T46, T49)) → U4_ggaa(T45, T46, T34, T35, divB_in_ggaa(T49, s(T46), T34, T35))
divB_in_ggaa(T72, T73, T74, T72) → divB_out_ggaa(T72, T73, T74, T72)
U4_ggaa(T45, T46, T34, T35, divB_out_ggaa(T49, s(T46), T34, T35)) → divB_out_ggaa(s(T45), s(T46), s(T34), T35)
DIVB_IN_GGAA(s(T45), s(T46), s(T34), T35) → U2_GGAA(T45, T46, T34, T35, minusA_in_gga(T45, T46, X54))
DIVB_IN_GGAA(s(T45), s(T46), s(T34), T35) → MINUSA_IN_GGA(T45, T46, X54)
MINUSA_IN_GGA(s(T61), s(T62), X75) → U1_GGA(T61, T62, X75, minusA_in_gga(T61, T62, X75))
MINUSA_IN_GGA(s(T61), s(T62), X75) → MINUSA_IN_GGA(T61, T62, X75)
DIVB_IN_GGAA(s(T45), s(T46), s(T34), T35) → U3_GGAA(T45, T46, T34, T35, minusA_in_gga(T45, T46, T49))
U3_GGAA(T45, T46, T34, T35, minusA_out_gga(T45, T46, T49)) → U4_GGAA(T45, T46, T34, T35, divB_in_ggaa(T49, s(T46), T34, T35))
U3_GGAA(T45, T46, T34, T35, minusA_out_gga(T45, T46, T49)) → DIVB_IN_GGAA(T49, s(T46), T34, T35)
divB_in_ggaa(0, T14, 0, 0) → divB_out_ggaa(0, T14, 0, 0)
divB_in_ggaa(s(T45), s(T46), s(T34), T35) → U2_ggaa(T45, T46, T34, T35, minusA_in_gga(T45, T46, X54))
minusA_in_gga(T56, 0, T56) → minusA_out_gga(T56, 0, T56)
minusA_in_gga(s(T61), s(T62), X75) → U1_gga(T61, T62, X75, minusA_in_gga(T61, T62, X75))
U1_gga(T61, T62, X75, minusA_out_gga(T61, T62, X75)) → minusA_out_gga(s(T61), s(T62), X75)
U2_ggaa(T45, T46, T34, T35, minusA_out_gga(T45, T46, X54)) → divB_out_ggaa(s(T45), s(T46), s(T34), T35)
divB_in_ggaa(s(T45), s(T46), s(T34), T35) → U3_ggaa(T45, T46, T34, T35, minusA_in_gga(T45, T46, T49))
U3_ggaa(T45, T46, T34, T35, minusA_out_gga(T45, T46, T49)) → U4_ggaa(T45, T46, T34, T35, divB_in_ggaa(T49, s(T46), T34, T35))
divB_in_ggaa(T72, T73, T74, T72) → divB_out_ggaa(T72, T73, T74, T72)
U4_ggaa(T45, T46, T34, T35, divB_out_ggaa(T49, s(T46), T34, T35)) → divB_out_ggaa(s(T45), s(T46), s(T34), T35)
DIVB_IN_GGAA(s(T45), s(T46), s(T34), T35) → U2_GGAA(T45, T46, T34, T35, minusA_in_gga(T45, T46, X54))
DIVB_IN_GGAA(s(T45), s(T46), s(T34), T35) → MINUSA_IN_GGA(T45, T46, X54)
MINUSA_IN_GGA(s(T61), s(T62), X75) → U1_GGA(T61, T62, X75, minusA_in_gga(T61, T62, X75))
MINUSA_IN_GGA(s(T61), s(T62), X75) → MINUSA_IN_GGA(T61, T62, X75)
DIVB_IN_GGAA(s(T45), s(T46), s(T34), T35) → U3_GGAA(T45, T46, T34, T35, minusA_in_gga(T45, T46, T49))
U3_GGAA(T45, T46, T34, T35, minusA_out_gga(T45, T46, T49)) → U4_GGAA(T45, T46, T34, T35, divB_in_ggaa(T49, s(T46), T34, T35))
U3_GGAA(T45, T46, T34, T35, minusA_out_gga(T45, T46, T49)) → DIVB_IN_GGAA(T49, s(T46), T34, T35)
divB_in_ggaa(0, T14, 0, 0) → divB_out_ggaa(0, T14, 0, 0)
divB_in_ggaa(s(T45), s(T46), s(T34), T35) → U2_ggaa(T45, T46, T34, T35, minusA_in_gga(T45, T46, X54))
minusA_in_gga(T56, 0, T56) → minusA_out_gga(T56, 0, T56)
minusA_in_gga(s(T61), s(T62), X75) → U1_gga(T61, T62, X75, minusA_in_gga(T61, T62, X75))
U1_gga(T61, T62, X75, minusA_out_gga(T61, T62, X75)) → minusA_out_gga(s(T61), s(T62), X75)
U2_ggaa(T45, T46, T34, T35, minusA_out_gga(T45, T46, X54)) → divB_out_ggaa(s(T45), s(T46), s(T34), T35)
divB_in_ggaa(s(T45), s(T46), s(T34), T35) → U3_ggaa(T45, T46, T34, T35, minusA_in_gga(T45, T46, T49))
U3_ggaa(T45, T46, T34, T35, minusA_out_gga(T45, T46, T49)) → U4_ggaa(T45, T46, T34, T35, divB_in_ggaa(T49, s(T46), T34, T35))
divB_in_ggaa(T72, T73, T74, T72) → divB_out_ggaa(T72, T73, T74, T72)
U4_ggaa(T45, T46, T34, T35, divB_out_ggaa(T49, s(T46), T34, T35)) → divB_out_ggaa(s(T45), s(T46), s(T34), T35)
MINUSA_IN_GGA(s(T61), s(T62), X75) → MINUSA_IN_GGA(T61, T62, X75)
divB_in_ggaa(0, T14, 0, 0) → divB_out_ggaa(0, T14, 0, 0)
divB_in_ggaa(s(T45), s(T46), s(T34), T35) → U2_ggaa(T45, T46, T34, T35, minusA_in_gga(T45, T46, X54))
minusA_in_gga(T56, 0, T56) → minusA_out_gga(T56, 0, T56)
minusA_in_gga(s(T61), s(T62), X75) → U1_gga(T61, T62, X75, minusA_in_gga(T61, T62, X75))
U1_gga(T61, T62, X75, minusA_out_gga(T61, T62, X75)) → minusA_out_gga(s(T61), s(T62), X75)
U2_ggaa(T45, T46, T34, T35, minusA_out_gga(T45, T46, X54)) → divB_out_ggaa(s(T45), s(T46), s(T34), T35)
divB_in_ggaa(s(T45), s(T46), s(T34), T35) → U3_ggaa(T45, T46, T34, T35, minusA_in_gga(T45, T46, T49))
U3_ggaa(T45, T46, T34, T35, minusA_out_gga(T45, T46, T49)) → U4_ggaa(T45, T46, T34, T35, divB_in_ggaa(T49, s(T46), T34, T35))
divB_in_ggaa(T72, T73, T74, T72) → divB_out_ggaa(T72, T73, T74, T72)
U4_ggaa(T45, T46, T34, T35, divB_out_ggaa(T49, s(T46), T34, T35)) → divB_out_ggaa(s(T45), s(T46), s(T34), T35)
MINUSA_IN_GGA(s(T61), s(T62), X75) → MINUSA_IN_GGA(T61, T62, X75)
MINUSA_IN_GGA(s(T61), s(T62)) → MINUSA_IN_GGA(T61, T62)
From the DPs we obtained the following set of size-change graphs:
DIVB_IN_GGAA(s(T45), s(T46), s(T34), T35) → U3_GGAA(T45, T46, T34, T35, minusA_in_gga(T45, T46, T49))
U3_GGAA(T45, T46, T34, T35, minusA_out_gga(T45, T46, T49)) → DIVB_IN_GGAA(T49, s(T46), T34, T35)
divB_in_ggaa(0, T14, 0, 0) → divB_out_ggaa(0, T14, 0, 0)
divB_in_ggaa(s(T45), s(T46), s(T34), T35) → U2_ggaa(T45, T46, T34, T35, minusA_in_gga(T45, T46, X54))
minusA_in_gga(T56, 0, T56) → minusA_out_gga(T56, 0, T56)
minusA_in_gga(s(T61), s(T62), X75) → U1_gga(T61, T62, X75, minusA_in_gga(T61, T62, X75))
U1_gga(T61, T62, X75, minusA_out_gga(T61, T62, X75)) → minusA_out_gga(s(T61), s(T62), X75)
U2_ggaa(T45, T46, T34, T35, minusA_out_gga(T45, T46, X54)) → divB_out_ggaa(s(T45), s(T46), s(T34), T35)
divB_in_ggaa(s(T45), s(T46), s(T34), T35) → U3_ggaa(T45, T46, T34, T35, minusA_in_gga(T45, T46, T49))
U3_ggaa(T45, T46, T34, T35, minusA_out_gga(T45, T46, T49)) → U4_ggaa(T45, T46, T34, T35, divB_in_ggaa(T49, s(T46), T34, T35))
divB_in_ggaa(T72, T73, T74, T72) → divB_out_ggaa(T72, T73, T74, T72)
U4_ggaa(T45, T46, T34, T35, divB_out_ggaa(T49, s(T46), T34, T35)) → divB_out_ggaa(s(T45), s(T46), s(T34), T35)
DIVB_IN_GGAA(s(T45), s(T46), s(T34), T35) → U3_GGAA(T45, T46, T34, T35, minusA_in_gga(T45, T46, T49))
U3_GGAA(T45, T46, T34, T35, minusA_out_gga(T45, T46, T49)) → DIVB_IN_GGAA(T49, s(T46), T34, T35)
minusA_in_gga(T56, 0, T56) → minusA_out_gga(T56, 0, T56)
minusA_in_gga(s(T61), s(T62), X75) → U1_gga(T61, T62, X75, minusA_in_gga(T61, T62, X75))
U1_gga(T61, T62, X75, minusA_out_gga(T61, T62, X75)) → minusA_out_gga(s(T61), s(T62), X75)
DIVB_IN_GGAA(s(T45), s(T46)) → U3_GGAA(T46, minusA_in_gga(T45, T46))
U3_GGAA(T46, minusA_out_gga(T49)) → DIVB_IN_GGAA(T49, s(T46))
minusA_in_gga(T56, 0) → minusA_out_gga(T56)
minusA_in_gga(s(T61), s(T62)) → U1_gga(minusA_in_gga(T61, T62))
U1_gga(minusA_out_gga(X75)) → minusA_out_gga(X75)
minusA_in_gga(x0, x1)
U1_gga(x0)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
DIVB_IN_GGAA(s(T45), s(T46)) → U3_GGAA(T46, minusA_in_gga(T45, T46))
POL(0) = 0
POL(DIVB_IN_GGAA(x1, x2)) = x1
POL(U1_gga(x1)) = x1
POL(U3_GGAA(x1, x2)) = x2
POL(minusA_in_gga(x1, x2)) = x1
POL(minusA_out_gga(x1)) = x1
POL(s(x1)) = 1 + x1
minusA_in_gga(T56, 0) → minusA_out_gga(T56)
minusA_in_gga(s(T61), s(T62)) → U1_gga(minusA_in_gga(T61, T62))
U1_gga(minusA_out_gga(X75)) → minusA_out_gga(X75)
U3_GGAA(T46, minusA_out_gga(T49)) → DIVB_IN_GGAA(T49, s(T46))
minusA_in_gga(T56, 0) → minusA_out_gga(T56)
minusA_in_gga(s(T61), s(T62)) → U1_gga(minusA_in_gga(T61, T62))
U1_gga(minusA_out_gga(X75)) → minusA_out_gga(X75)
minusA_in_gga(x0, x1)
U1_gga(x0)