↳ PROLOG
↳ PrologToPiTRSProof
With regard to the inferred argument filtering the predicates were used in the following modes:
h1: (b)
f1: (b)
g1: (b)
Transforming PROLOG into the following Term Rewriting System:
Pi-finite rewrite system:
The TRS R consists of the following rules:
h_1_in_g1(X) -> if_h_1_in_1_g2(X, f_1_in_g1(X))
f_1_in_g1(c_22(s_11(X), Y)) -> if_f_1_in_1_g3(X, Y, f_1_in_g1(c_22(X, s_11(Y))))
if_f_1_in_1_g3(X, Y, f_1_out_g1(c_22(X, s_11(Y)))) -> f_1_out_g1(c_22(s_11(X), Y))
if_h_1_in_1_g2(X, f_1_out_g1(X)) -> if_h_1_in_2_g2(X, g_1_in_g1(X))
g_1_in_g1(c_22(X, s_11(Y))) -> if_g_1_in_1_g3(X, Y, g_1_in_g1(c_22(s_11(X), Y)))
if_g_1_in_1_g3(X, Y, g_1_out_g1(c_22(s_11(X), Y))) -> g_1_out_g1(c_22(X, s_11(Y)))
if_h_1_in_2_g2(X, g_1_out_g1(X)) -> h_1_out_g1(X)
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of PROLOG
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
h_1_in_g1(X) -> if_h_1_in_1_g2(X, f_1_in_g1(X))
f_1_in_g1(c_22(s_11(X), Y)) -> if_f_1_in_1_g3(X, Y, f_1_in_g1(c_22(X, s_11(Y))))
if_f_1_in_1_g3(X, Y, f_1_out_g1(c_22(X, s_11(Y)))) -> f_1_out_g1(c_22(s_11(X), Y))
if_h_1_in_1_g2(X, f_1_out_g1(X)) -> if_h_1_in_2_g2(X, g_1_in_g1(X))
g_1_in_g1(c_22(X, s_11(Y))) -> if_g_1_in_1_g3(X, Y, g_1_in_g1(c_22(s_11(X), Y)))
if_g_1_in_1_g3(X, Y, g_1_out_g1(c_22(s_11(X), Y))) -> g_1_out_g1(c_22(X, s_11(Y)))
if_h_1_in_2_g2(X, g_1_out_g1(X)) -> h_1_out_g1(X)
H_1_IN_G1(X) -> IF_H_1_IN_1_G2(X, f_1_in_g1(X))
H_1_IN_G1(X) -> F_1_IN_G1(X)
F_1_IN_G1(c_22(s_11(X), Y)) -> IF_F_1_IN_1_G3(X, Y, f_1_in_g1(c_22(X, s_11(Y))))
F_1_IN_G1(c_22(s_11(X), Y)) -> F_1_IN_G1(c_22(X, s_11(Y)))
IF_H_1_IN_1_G2(X, f_1_out_g1(X)) -> IF_H_1_IN_2_G2(X, g_1_in_g1(X))
IF_H_1_IN_1_G2(X, f_1_out_g1(X)) -> G_1_IN_G1(X)
G_1_IN_G1(c_22(X, s_11(Y))) -> IF_G_1_IN_1_G3(X, Y, g_1_in_g1(c_22(s_11(X), Y)))
G_1_IN_G1(c_22(X, s_11(Y))) -> G_1_IN_G1(c_22(s_11(X), Y))
h_1_in_g1(X) -> if_h_1_in_1_g2(X, f_1_in_g1(X))
f_1_in_g1(c_22(s_11(X), Y)) -> if_f_1_in_1_g3(X, Y, f_1_in_g1(c_22(X, s_11(Y))))
if_f_1_in_1_g3(X, Y, f_1_out_g1(c_22(X, s_11(Y)))) -> f_1_out_g1(c_22(s_11(X), Y))
if_h_1_in_1_g2(X, f_1_out_g1(X)) -> if_h_1_in_2_g2(X, g_1_in_g1(X))
g_1_in_g1(c_22(X, s_11(Y))) -> if_g_1_in_1_g3(X, Y, g_1_in_g1(c_22(s_11(X), Y)))
if_g_1_in_1_g3(X, Y, g_1_out_g1(c_22(s_11(X), Y))) -> g_1_out_g1(c_22(X, s_11(Y)))
if_h_1_in_2_g2(X, g_1_out_g1(X)) -> h_1_out_g1(X)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
H_1_IN_G1(X) -> IF_H_1_IN_1_G2(X, f_1_in_g1(X))
H_1_IN_G1(X) -> F_1_IN_G1(X)
F_1_IN_G1(c_22(s_11(X), Y)) -> IF_F_1_IN_1_G3(X, Y, f_1_in_g1(c_22(X, s_11(Y))))
F_1_IN_G1(c_22(s_11(X), Y)) -> F_1_IN_G1(c_22(X, s_11(Y)))
IF_H_1_IN_1_G2(X, f_1_out_g1(X)) -> IF_H_1_IN_2_G2(X, g_1_in_g1(X))
IF_H_1_IN_1_G2(X, f_1_out_g1(X)) -> G_1_IN_G1(X)
G_1_IN_G1(c_22(X, s_11(Y))) -> IF_G_1_IN_1_G3(X, Y, g_1_in_g1(c_22(s_11(X), Y)))
G_1_IN_G1(c_22(X, s_11(Y))) -> G_1_IN_G1(c_22(s_11(X), Y))
h_1_in_g1(X) -> if_h_1_in_1_g2(X, f_1_in_g1(X))
f_1_in_g1(c_22(s_11(X), Y)) -> if_f_1_in_1_g3(X, Y, f_1_in_g1(c_22(X, s_11(Y))))
if_f_1_in_1_g3(X, Y, f_1_out_g1(c_22(X, s_11(Y)))) -> f_1_out_g1(c_22(s_11(X), Y))
if_h_1_in_1_g2(X, f_1_out_g1(X)) -> if_h_1_in_2_g2(X, g_1_in_g1(X))
g_1_in_g1(c_22(X, s_11(Y))) -> if_g_1_in_1_g3(X, Y, g_1_in_g1(c_22(s_11(X), Y)))
if_g_1_in_1_g3(X, Y, g_1_out_g1(c_22(s_11(X), Y))) -> g_1_out_g1(c_22(X, s_11(Y)))
if_h_1_in_2_g2(X, g_1_out_g1(X)) -> h_1_out_g1(X)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
G_1_IN_G1(c_22(X, s_11(Y))) -> G_1_IN_G1(c_22(s_11(X), Y))
h_1_in_g1(X) -> if_h_1_in_1_g2(X, f_1_in_g1(X))
f_1_in_g1(c_22(s_11(X), Y)) -> if_f_1_in_1_g3(X, Y, f_1_in_g1(c_22(X, s_11(Y))))
if_f_1_in_1_g3(X, Y, f_1_out_g1(c_22(X, s_11(Y)))) -> f_1_out_g1(c_22(s_11(X), Y))
if_h_1_in_1_g2(X, f_1_out_g1(X)) -> if_h_1_in_2_g2(X, g_1_in_g1(X))
g_1_in_g1(c_22(X, s_11(Y))) -> if_g_1_in_1_g3(X, Y, g_1_in_g1(c_22(s_11(X), Y)))
if_g_1_in_1_g3(X, Y, g_1_out_g1(c_22(s_11(X), Y))) -> g_1_out_g1(c_22(X, s_11(Y)))
if_h_1_in_2_g2(X, g_1_out_g1(X)) -> h_1_out_g1(X)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ PiDP
G_1_IN_G1(c_22(X, s_11(Y))) -> G_1_IN_G1(c_22(s_11(X), Y))
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ QDPSizeChangeProof
↳ PiDP
G_1_IN_G1(c_22(X, s_11(Y))) -> G_1_IN_G1(c_22(s_11(X), Y))
Order:Homeomorphic Embedding Order
AFS:
s_11(x1) = s_11(x1)
c_22(x1, x2) = x2
From the DPs we obtained the following set of size-change graphs:
We oriented the following set of usable rules.
none
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
F_1_IN_G1(c_22(s_11(X), Y)) -> F_1_IN_G1(c_22(X, s_11(Y)))
h_1_in_g1(X) -> if_h_1_in_1_g2(X, f_1_in_g1(X))
f_1_in_g1(c_22(s_11(X), Y)) -> if_f_1_in_1_g3(X, Y, f_1_in_g1(c_22(X, s_11(Y))))
if_f_1_in_1_g3(X, Y, f_1_out_g1(c_22(X, s_11(Y)))) -> f_1_out_g1(c_22(s_11(X), Y))
if_h_1_in_1_g2(X, f_1_out_g1(X)) -> if_h_1_in_2_g2(X, g_1_in_g1(X))
g_1_in_g1(c_22(X, s_11(Y))) -> if_g_1_in_1_g3(X, Y, g_1_in_g1(c_22(s_11(X), Y)))
if_g_1_in_1_g3(X, Y, g_1_out_g1(c_22(s_11(X), Y))) -> g_1_out_g1(c_22(X, s_11(Y)))
if_h_1_in_2_g2(X, g_1_out_g1(X)) -> h_1_out_g1(X)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
F_1_IN_G1(c_22(s_11(X), Y)) -> F_1_IN_G1(c_22(X, s_11(Y)))
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ QDPSizeChangeProof
F_1_IN_G1(c_22(s_11(X), Y)) -> F_1_IN_G1(c_22(X, s_11(Y)))
Order:Homeomorphic Embedding Order
AFS:
s_11(x1) = s_11(x1)
c_22(x1, x2) = x1
From the DPs we obtained the following set of size-change graphs:
We oriented the following set of usable rules.
none