↳ PROLOG
↳ PrologToPiTRSProof
With regard to the inferred argument filtering the predicates were used in the following modes:
avg3: (b,b,f)
Transforming PROLOG into the following Term Rewriting System:
Pi-finite rewrite system:
The TRS R consists of the following rules:
avg_3_in_gga3(s_11(X), Y, Z) -> if_avg_3_in_1_gga4(X, Y, Z, avg_3_in_gga3(X, s_11(Y), Z))
avg_3_in_gga3(X, s_11(s_11(s_11(Y))), s_11(Z)) -> if_avg_3_in_2_gga4(X, Y, Z, avg_3_in_gga3(s_11(X), Y, Z))
avg_3_in_gga3(0_0, 0_0, 0_0) -> avg_3_out_gga3(0_0, 0_0, 0_0)
avg_3_in_gga3(0_0, s_11(0_0), 0_0) -> avg_3_out_gga3(0_0, s_11(0_0), 0_0)
avg_3_in_gga3(0_0, s_11(s_11(0_0)), s_11(0_0)) -> avg_3_out_gga3(0_0, s_11(s_11(0_0)), s_11(0_0))
if_avg_3_in_2_gga4(X, Y, Z, avg_3_out_gga3(s_11(X), Y, Z)) -> avg_3_out_gga3(X, s_11(s_11(s_11(Y))), s_11(Z))
if_avg_3_in_1_gga4(X, Y, Z, avg_3_out_gga3(X, s_11(Y), Z)) -> avg_3_out_gga3(s_11(X), Y, Z)
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of PROLOG
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
avg_3_in_gga3(s_11(X), Y, Z) -> if_avg_3_in_1_gga4(X, Y, Z, avg_3_in_gga3(X, s_11(Y), Z))
avg_3_in_gga3(X, s_11(s_11(s_11(Y))), s_11(Z)) -> if_avg_3_in_2_gga4(X, Y, Z, avg_3_in_gga3(s_11(X), Y, Z))
avg_3_in_gga3(0_0, 0_0, 0_0) -> avg_3_out_gga3(0_0, 0_0, 0_0)
avg_3_in_gga3(0_0, s_11(0_0), 0_0) -> avg_3_out_gga3(0_0, s_11(0_0), 0_0)
avg_3_in_gga3(0_0, s_11(s_11(0_0)), s_11(0_0)) -> avg_3_out_gga3(0_0, s_11(s_11(0_0)), s_11(0_0))
if_avg_3_in_2_gga4(X, Y, Z, avg_3_out_gga3(s_11(X), Y, Z)) -> avg_3_out_gga3(X, s_11(s_11(s_11(Y))), s_11(Z))
if_avg_3_in_1_gga4(X, Y, Z, avg_3_out_gga3(X, s_11(Y), Z)) -> avg_3_out_gga3(s_11(X), Y, Z)
AVG_3_IN_GGA3(s_11(X), Y, Z) -> IF_AVG_3_IN_1_GGA4(X, Y, Z, avg_3_in_gga3(X, s_11(Y), Z))
AVG_3_IN_GGA3(s_11(X), Y, Z) -> AVG_3_IN_GGA3(X, s_11(Y), Z)
AVG_3_IN_GGA3(X, s_11(s_11(s_11(Y))), s_11(Z)) -> IF_AVG_3_IN_2_GGA4(X, Y, Z, avg_3_in_gga3(s_11(X), Y, Z))
AVG_3_IN_GGA3(X, s_11(s_11(s_11(Y))), s_11(Z)) -> AVG_3_IN_GGA3(s_11(X), Y, Z)
avg_3_in_gga3(s_11(X), Y, Z) -> if_avg_3_in_1_gga4(X, Y, Z, avg_3_in_gga3(X, s_11(Y), Z))
avg_3_in_gga3(X, s_11(s_11(s_11(Y))), s_11(Z)) -> if_avg_3_in_2_gga4(X, Y, Z, avg_3_in_gga3(s_11(X), Y, Z))
avg_3_in_gga3(0_0, 0_0, 0_0) -> avg_3_out_gga3(0_0, 0_0, 0_0)
avg_3_in_gga3(0_0, s_11(0_0), 0_0) -> avg_3_out_gga3(0_0, s_11(0_0), 0_0)
avg_3_in_gga3(0_0, s_11(s_11(0_0)), s_11(0_0)) -> avg_3_out_gga3(0_0, s_11(s_11(0_0)), s_11(0_0))
if_avg_3_in_2_gga4(X, Y, Z, avg_3_out_gga3(s_11(X), Y, Z)) -> avg_3_out_gga3(X, s_11(s_11(s_11(Y))), s_11(Z))
if_avg_3_in_1_gga4(X, Y, Z, avg_3_out_gga3(X, s_11(Y), Z)) -> avg_3_out_gga3(s_11(X), Y, Z)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
AVG_3_IN_GGA3(s_11(X), Y, Z) -> IF_AVG_3_IN_1_GGA4(X, Y, Z, avg_3_in_gga3(X, s_11(Y), Z))
AVG_3_IN_GGA3(s_11(X), Y, Z) -> AVG_3_IN_GGA3(X, s_11(Y), Z)
AVG_3_IN_GGA3(X, s_11(s_11(s_11(Y))), s_11(Z)) -> IF_AVG_3_IN_2_GGA4(X, Y, Z, avg_3_in_gga3(s_11(X), Y, Z))
AVG_3_IN_GGA3(X, s_11(s_11(s_11(Y))), s_11(Z)) -> AVG_3_IN_GGA3(s_11(X), Y, Z)
avg_3_in_gga3(s_11(X), Y, Z) -> if_avg_3_in_1_gga4(X, Y, Z, avg_3_in_gga3(X, s_11(Y), Z))
avg_3_in_gga3(X, s_11(s_11(s_11(Y))), s_11(Z)) -> if_avg_3_in_2_gga4(X, Y, Z, avg_3_in_gga3(s_11(X), Y, Z))
avg_3_in_gga3(0_0, 0_0, 0_0) -> avg_3_out_gga3(0_0, 0_0, 0_0)
avg_3_in_gga3(0_0, s_11(0_0), 0_0) -> avg_3_out_gga3(0_0, s_11(0_0), 0_0)
avg_3_in_gga3(0_0, s_11(s_11(0_0)), s_11(0_0)) -> avg_3_out_gga3(0_0, s_11(s_11(0_0)), s_11(0_0))
if_avg_3_in_2_gga4(X, Y, Z, avg_3_out_gga3(s_11(X), Y, Z)) -> avg_3_out_gga3(X, s_11(s_11(s_11(Y))), s_11(Z))
if_avg_3_in_1_gga4(X, Y, Z, avg_3_out_gga3(X, s_11(Y), Z)) -> avg_3_out_gga3(s_11(X), Y, Z)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ PiDP
↳ UsableRulesProof
AVG_3_IN_GGA3(X, s_11(s_11(s_11(Y))), s_11(Z)) -> AVG_3_IN_GGA3(s_11(X), Y, Z)
AVG_3_IN_GGA3(s_11(X), Y, Z) -> AVG_3_IN_GGA3(X, s_11(Y), Z)
avg_3_in_gga3(s_11(X), Y, Z) -> if_avg_3_in_1_gga4(X, Y, Z, avg_3_in_gga3(X, s_11(Y), Z))
avg_3_in_gga3(X, s_11(s_11(s_11(Y))), s_11(Z)) -> if_avg_3_in_2_gga4(X, Y, Z, avg_3_in_gga3(s_11(X), Y, Z))
avg_3_in_gga3(0_0, 0_0, 0_0) -> avg_3_out_gga3(0_0, 0_0, 0_0)
avg_3_in_gga3(0_0, s_11(0_0), 0_0) -> avg_3_out_gga3(0_0, s_11(0_0), 0_0)
avg_3_in_gga3(0_0, s_11(s_11(0_0)), s_11(0_0)) -> avg_3_out_gga3(0_0, s_11(s_11(0_0)), s_11(0_0))
if_avg_3_in_2_gga4(X, Y, Z, avg_3_out_gga3(s_11(X), Y, Z)) -> avg_3_out_gga3(X, s_11(s_11(s_11(Y))), s_11(Z))
if_avg_3_in_1_gga4(X, Y, Z, avg_3_out_gga3(X, s_11(Y), Z)) -> avg_3_out_gga3(s_11(X), Y, Z)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
AVG_3_IN_GGA3(X, s_11(s_11(s_11(Y))), s_11(Z)) -> AVG_3_IN_GGA3(s_11(X), Y, Z)
AVG_3_IN_GGA3(s_11(X), Y, Z) -> AVG_3_IN_GGA3(X, s_11(Y), Z)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ RuleRemovalProof
AVG_3_IN_GGA2(X, s_11(s_11(s_11(Y)))) -> AVG_3_IN_GGA2(s_11(X), Y)
AVG_3_IN_GGA2(s_11(X), Y) -> AVG_3_IN_GGA2(X, s_11(Y))
AVG_3_IN_GGA2(X, s_11(s_11(s_11(Y)))) -> AVG_3_IN_GGA2(s_11(X), Y)
POL(AVG_3_IN_GGA2(x1, x2)) = 1 + x1 + x2
POL(s_11(x1)) = 1 + x1
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ QDPSizeChangeProof
AVG_3_IN_GGA2(s_11(X), Y) -> AVG_3_IN_GGA2(X, s_11(Y))
From the DPs we obtained the following set of size-change graphs: