↳ PROLOG
↳ PrologToPiTRSProof
With regard to the inferred argument filtering the predicates were used in the following modes:
even1: (b)
odd1: (b)
Transforming PROLOG into the following Term Rewriting System:
Pi-finite rewrite system:
The TRS R consists of the following rules:
even_1_in_g1(0_0) -> even_1_out_g1(0_0)
even_1_in_g1(s_11(s_11(0_0))) -> even_1_out_g1(s_11(s_11(0_0)))
even_1_in_g1(s_11(s_11(s_11(X)))) -> if_even_1_in_1_g2(X, odd_1_in_g1(X))
odd_1_in_g1(s_11(0_0)) -> odd_1_out_g1(s_11(0_0))
odd_1_in_g1(s_11(X)) -> if_odd_1_in_1_g2(X, even_1_in_g1(s_11(s_11(X))))
if_odd_1_in_1_g2(X, even_1_out_g1(s_11(s_11(X)))) -> odd_1_out_g1(s_11(X))
if_even_1_in_1_g2(X, odd_1_out_g1(X)) -> even_1_out_g1(s_11(s_11(s_11(X))))
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of PROLOG
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
even_1_in_g1(0_0) -> even_1_out_g1(0_0)
even_1_in_g1(s_11(s_11(0_0))) -> even_1_out_g1(s_11(s_11(0_0)))
even_1_in_g1(s_11(s_11(s_11(X)))) -> if_even_1_in_1_g2(X, odd_1_in_g1(X))
odd_1_in_g1(s_11(0_0)) -> odd_1_out_g1(s_11(0_0))
odd_1_in_g1(s_11(X)) -> if_odd_1_in_1_g2(X, even_1_in_g1(s_11(s_11(X))))
if_odd_1_in_1_g2(X, even_1_out_g1(s_11(s_11(X)))) -> odd_1_out_g1(s_11(X))
if_even_1_in_1_g2(X, odd_1_out_g1(X)) -> even_1_out_g1(s_11(s_11(s_11(X))))
EVEN_1_IN_G1(s_11(s_11(s_11(X)))) -> IF_EVEN_1_IN_1_G2(X, odd_1_in_g1(X))
EVEN_1_IN_G1(s_11(s_11(s_11(X)))) -> ODD_1_IN_G1(X)
ODD_1_IN_G1(s_11(X)) -> IF_ODD_1_IN_1_G2(X, even_1_in_g1(s_11(s_11(X))))
ODD_1_IN_G1(s_11(X)) -> EVEN_1_IN_G1(s_11(s_11(X)))
even_1_in_g1(0_0) -> even_1_out_g1(0_0)
even_1_in_g1(s_11(s_11(0_0))) -> even_1_out_g1(s_11(s_11(0_0)))
even_1_in_g1(s_11(s_11(s_11(X)))) -> if_even_1_in_1_g2(X, odd_1_in_g1(X))
odd_1_in_g1(s_11(0_0)) -> odd_1_out_g1(s_11(0_0))
odd_1_in_g1(s_11(X)) -> if_odd_1_in_1_g2(X, even_1_in_g1(s_11(s_11(X))))
if_odd_1_in_1_g2(X, even_1_out_g1(s_11(s_11(X)))) -> odd_1_out_g1(s_11(X))
if_even_1_in_1_g2(X, odd_1_out_g1(X)) -> even_1_out_g1(s_11(s_11(s_11(X))))
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
EVEN_1_IN_G1(s_11(s_11(s_11(X)))) -> IF_EVEN_1_IN_1_G2(X, odd_1_in_g1(X))
EVEN_1_IN_G1(s_11(s_11(s_11(X)))) -> ODD_1_IN_G1(X)
ODD_1_IN_G1(s_11(X)) -> IF_ODD_1_IN_1_G2(X, even_1_in_g1(s_11(s_11(X))))
ODD_1_IN_G1(s_11(X)) -> EVEN_1_IN_G1(s_11(s_11(X)))
even_1_in_g1(0_0) -> even_1_out_g1(0_0)
even_1_in_g1(s_11(s_11(0_0))) -> even_1_out_g1(s_11(s_11(0_0)))
even_1_in_g1(s_11(s_11(s_11(X)))) -> if_even_1_in_1_g2(X, odd_1_in_g1(X))
odd_1_in_g1(s_11(0_0)) -> odd_1_out_g1(s_11(0_0))
odd_1_in_g1(s_11(X)) -> if_odd_1_in_1_g2(X, even_1_in_g1(s_11(s_11(X))))
if_odd_1_in_1_g2(X, even_1_out_g1(s_11(s_11(X)))) -> odd_1_out_g1(s_11(X))
if_even_1_in_1_g2(X, odd_1_out_g1(X)) -> even_1_out_g1(s_11(s_11(s_11(X))))
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ PiDP
↳ UsableRulesProof
EVEN_1_IN_G1(s_11(s_11(s_11(X)))) -> ODD_1_IN_G1(X)
ODD_1_IN_G1(s_11(X)) -> EVEN_1_IN_G1(s_11(s_11(X)))
even_1_in_g1(0_0) -> even_1_out_g1(0_0)
even_1_in_g1(s_11(s_11(0_0))) -> even_1_out_g1(s_11(s_11(0_0)))
even_1_in_g1(s_11(s_11(s_11(X)))) -> if_even_1_in_1_g2(X, odd_1_in_g1(X))
odd_1_in_g1(s_11(0_0)) -> odd_1_out_g1(s_11(0_0))
odd_1_in_g1(s_11(X)) -> if_odd_1_in_1_g2(X, even_1_in_g1(s_11(s_11(X))))
if_odd_1_in_1_g2(X, even_1_out_g1(s_11(s_11(X)))) -> odd_1_out_g1(s_11(X))
if_even_1_in_1_g2(X, odd_1_out_g1(X)) -> even_1_out_g1(s_11(s_11(s_11(X))))
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
EVEN_1_IN_G1(s_11(s_11(s_11(X)))) -> ODD_1_IN_G1(X)
ODD_1_IN_G1(s_11(X)) -> EVEN_1_IN_G1(s_11(s_11(X)))
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ RuleRemovalProof
EVEN_1_IN_G1(s_11(s_11(s_11(X)))) -> ODD_1_IN_G1(X)
ODD_1_IN_G1(s_11(X)) -> EVEN_1_IN_G1(s_11(s_11(X)))
EVEN_1_IN_G1(s_11(s_11(s_11(X)))) -> ODD_1_IN_G1(X)
POL(ODD_1_IN_G1(x1)) = 1 + x1
POL(EVEN_1_IN_G1(x1)) = x1
POL(s_11(x1)) = 1 + x1
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ DependencyGraphProof
ODD_1_IN_G1(s_11(X)) -> EVEN_1_IN_G1(s_11(s_11(X)))