↳ PROLOG
↳ PrologToPiTRSProof
With regard to the inferred argument filtering the predicates were used in the following modes:
avg3: (b,f,b)
Transforming PROLOG into the following Term Rewriting System:
Pi-finite rewrite system:
The TRS R consists of the following rules:
avg_3_in_gag3(s_11(X), Y, Z) -> if_avg_3_in_1_gag4(X, Y, Z, avg_3_in_gag3(X, s_11(Y), Z))
avg_3_in_gag3(X, s_11(s_11(s_11(Y))), s_11(Z)) -> if_avg_3_in_2_gag4(X, Y, Z, avg_3_in_gag3(s_11(X), Y, Z))
avg_3_in_gag3(0_0, 0_0, 0_0) -> avg_3_out_gag3(0_0, 0_0, 0_0)
avg_3_in_gag3(0_0, s_11(0_0), 0_0) -> avg_3_out_gag3(0_0, s_11(0_0), 0_0)
avg_3_in_gag3(0_0, s_11(s_11(0_0)), s_11(0_0)) -> avg_3_out_gag3(0_0, s_11(s_11(0_0)), s_11(0_0))
if_avg_3_in_2_gag4(X, Y, Z, avg_3_out_gag3(s_11(X), Y, Z)) -> avg_3_out_gag3(X, s_11(s_11(s_11(Y))), s_11(Z))
if_avg_3_in_1_gag4(X, Y, Z, avg_3_out_gag3(X, s_11(Y), Z)) -> avg_3_out_gag3(s_11(X), Y, Z)
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of PROLOG
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
avg_3_in_gag3(s_11(X), Y, Z) -> if_avg_3_in_1_gag4(X, Y, Z, avg_3_in_gag3(X, s_11(Y), Z))
avg_3_in_gag3(X, s_11(s_11(s_11(Y))), s_11(Z)) -> if_avg_3_in_2_gag4(X, Y, Z, avg_3_in_gag3(s_11(X), Y, Z))
avg_3_in_gag3(0_0, 0_0, 0_0) -> avg_3_out_gag3(0_0, 0_0, 0_0)
avg_3_in_gag3(0_0, s_11(0_0), 0_0) -> avg_3_out_gag3(0_0, s_11(0_0), 0_0)
avg_3_in_gag3(0_0, s_11(s_11(0_0)), s_11(0_0)) -> avg_3_out_gag3(0_0, s_11(s_11(0_0)), s_11(0_0))
if_avg_3_in_2_gag4(X, Y, Z, avg_3_out_gag3(s_11(X), Y, Z)) -> avg_3_out_gag3(X, s_11(s_11(s_11(Y))), s_11(Z))
if_avg_3_in_1_gag4(X, Y, Z, avg_3_out_gag3(X, s_11(Y), Z)) -> avg_3_out_gag3(s_11(X), Y, Z)
AVG_3_IN_GAG3(s_11(X), Y, Z) -> IF_AVG_3_IN_1_GAG4(X, Y, Z, avg_3_in_gag3(X, s_11(Y), Z))
AVG_3_IN_GAG3(s_11(X), Y, Z) -> AVG_3_IN_GAG3(X, s_11(Y), Z)
AVG_3_IN_GAG3(X, s_11(s_11(s_11(Y))), s_11(Z)) -> IF_AVG_3_IN_2_GAG4(X, Y, Z, avg_3_in_gag3(s_11(X), Y, Z))
AVG_3_IN_GAG3(X, s_11(s_11(s_11(Y))), s_11(Z)) -> AVG_3_IN_GAG3(s_11(X), Y, Z)
avg_3_in_gag3(s_11(X), Y, Z) -> if_avg_3_in_1_gag4(X, Y, Z, avg_3_in_gag3(X, s_11(Y), Z))
avg_3_in_gag3(X, s_11(s_11(s_11(Y))), s_11(Z)) -> if_avg_3_in_2_gag4(X, Y, Z, avg_3_in_gag3(s_11(X), Y, Z))
avg_3_in_gag3(0_0, 0_0, 0_0) -> avg_3_out_gag3(0_0, 0_0, 0_0)
avg_3_in_gag3(0_0, s_11(0_0), 0_0) -> avg_3_out_gag3(0_0, s_11(0_0), 0_0)
avg_3_in_gag3(0_0, s_11(s_11(0_0)), s_11(0_0)) -> avg_3_out_gag3(0_0, s_11(s_11(0_0)), s_11(0_0))
if_avg_3_in_2_gag4(X, Y, Z, avg_3_out_gag3(s_11(X), Y, Z)) -> avg_3_out_gag3(X, s_11(s_11(s_11(Y))), s_11(Z))
if_avg_3_in_1_gag4(X, Y, Z, avg_3_out_gag3(X, s_11(Y), Z)) -> avg_3_out_gag3(s_11(X), Y, Z)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
AVG_3_IN_GAG3(s_11(X), Y, Z) -> IF_AVG_3_IN_1_GAG4(X, Y, Z, avg_3_in_gag3(X, s_11(Y), Z))
AVG_3_IN_GAG3(s_11(X), Y, Z) -> AVG_3_IN_GAG3(X, s_11(Y), Z)
AVG_3_IN_GAG3(X, s_11(s_11(s_11(Y))), s_11(Z)) -> IF_AVG_3_IN_2_GAG4(X, Y, Z, avg_3_in_gag3(s_11(X), Y, Z))
AVG_3_IN_GAG3(X, s_11(s_11(s_11(Y))), s_11(Z)) -> AVG_3_IN_GAG3(s_11(X), Y, Z)
avg_3_in_gag3(s_11(X), Y, Z) -> if_avg_3_in_1_gag4(X, Y, Z, avg_3_in_gag3(X, s_11(Y), Z))
avg_3_in_gag3(X, s_11(s_11(s_11(Y))), s_11(Z)) -> if_avg_3_in_2_gag4(X, Y, Z, avg_3_in_gag3(s_11(X), Y, Z))
avg_3_in_gag3(0_0, 0_0, 0_0) -> avg_3_out_gag3(0_0, 0_0, 0_0)
avg_3_in_gag3(0_0, s_11(0_0), 0_0) -> avg_3_out_gag3(0_0, s_11(0_0), 0_0)
avg_3_in_gag3(0_0, s_11(s_11(0_0)), s_11(0_0)) -> avg_3_out_gag3(0_0, s_11(s_11(0_0)), s_11(0_0))
if_avg_3_in_2_gag4(X, Y, Z, avg_3_out_gag3(s_11(X), Y, Z)) -> avg_3_out_gag3(X, s_11(s_11(s_11(Y))), s_11(Z))
if_avg_3_in_1_gag4(X, Y, Z, avg_3_out_gag3(X, s_11(Y), Z)) -> avg_3_out_gag3(s_11(X), Y, Z)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ PiDP
↳ UsableRulesProof
AVG_3_IN_GAG3(s_11(X), Y, Z) -> AVG_3_IN_GAG3(X, s_11(Y), Z)
AVG_3_IN_GAG3(X, s_11(s_11(s_11(Y))), s_11(Z)) -> AVG_3_IN_GAG3(s_11(X), Y, Z)
avg_3_in_gag3(s_11(X), Y, Z) -> if_avg_3_in_1_gag4(X, Y, Z, avg_3_in_gag3(X, s_11(Y), Z))
avg_3_in_gag3(X, s_11(s_11(s_11(Y))), s_11(Z)) -> if_avg_3_in_2_gag4(X, Y, Z, avg_3_in_gag3(s_11(X), Y, Z))
avg_3_in_gag3(0_0, 0_0, 0_0) -> avg_3_out_gag3(0_0, 0_0, 0_0)
avg_3_in_gag3(0_0, s_11(0_0), 0_0) -> avg_3_out_gag3(0_0, s_11(0_0), 0_0)
avg_3_in_gag3(0_0, s_11(s_11(0_0)), s_11(0_0)) -> avg_3_out_gag3(0_0, s_11(s_11(0_0)), s_11(0_0))
if_avg_3_in_2_gag4(X, Y, Z, avg_3_out_gag3(s_11(X), Y, Z)) -> avg_3_out_gag3(X, s_11(s_11(s_11(Y))), s_11(Z))
if_avg_3_in_1_gag4(X, Y, Z, avg_3_out_gag3(X, s_11(Y), Z)) -> avg_3_out_gag3(s_11(X), Y, Z)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
AVG_3_IN_GAG3(s_11(X), Y, Z) -> AVG_3_IN_GAG3(X, s_11(Y), Z)
AVG_3_IN_GAG3(X, s_11(s_11(s_11(Y))), s_11(Z)) -> AVG_3_IN_GAG3(s_11(X), Y, Z)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ QDPSizeChangeProof
AVG_3_IN_GAG2(s_11(X), Z) -> AVG_3_IN_GAG2(X, Z)
AVG_3_IN_GAG2(X, s_11(Z)) -> AVG_3_IN_GAG2(s_11(X), Z)
From the DPs we obtained the following set of size-change graphs: