↳ PROLOG
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
With regard to the inferred argument filtering the predicates were used in the following modes:
tree_member2: (b,f)
Transforming PROLOG into the following Term Rewriting System:
Pi-finite rewrite system:
The TRS R consists of the following rules:
tree_member_2_in_ga2(X, tree_33(X, underscore, underscore1)) -> tree_member_2_out_ga2(X, tree_33(X, underscore, underscore1))
tree_member_2_in_ga2(X, tree_33(underscore2, Left, underscore3)) -> if_tree_member_2_in_1_ga5(X, underscore2, Left, underscore3, tree_member_2_in_ga2(X, Left))
tree_member_2_in_ga2(X, tree_33(underscore4, underscore5, Right)) -> if_tree_member_2_in_2_ga5(X, underscore4, underscore5, Right, tree_member_2_in_ga2(X, Right))
if_tree_member_2_in_2_ga5(X, underscore4, underscore5, Right, tree_member_2_out_ga2(X, Right)) -> tree_member_2_out_ga2(X, tree_33(underscore4, underscore5, Right))
if_tree_member_2_in_1_ga5(X, underscore2, Left, underscore3, tree_member_2_out_ga2(X, Left)) -> tree_member_2_out_ga2(X, tree_33(underscore2, Left, underscore3))
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of PROLOG
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PrologToPiTRSProof
tree_member_2_in_ga2(X, tree_33(X, underscore, underscore1)) -> tree_member_2_out_ga2(X, tree_33(X, underscore, underscore1))
tree_member_2_in_ga2(X, tree_33(underscore2, Left, underscore3)) -> if_tree_member_2_in_1_ga5(X, underscore2, Left, underscore3, tree_member_2_in_ga2(X, Left))
tree_member_2_in_ga2(X, tree_33(underscore4, underscore5, Right)) -> if_tree_member_2_in_2_ga5(X, underscore4, underscore5, Right, tree_member_2_in_ga2(X, Right))
if_tree_member_2_in_2_ga5(X, underscore4, underscore5, Right, tree_member_2_out_ga2(X, Right)) -> tree_member_2_out_ga2(X, tree_33(underscore4, underscore5, Right))
if_tree_member_2_in_1_ga5(X, underscore2, Left, underscore3, tree_member_2_out_ga2(X, Left)) -> tree_member_2_out_ga2(X, tree_33(underscore2, Left, underscore3))
TREE_MEMBER_2_IN_GA2(X, tree_33(underscore2, Left, underscore3)) -> IF_TREE_MEMBER_2_IN_1_GA5(X, underscore2, Left, underscore3, tree_member_2_in_ga2(X, Left))
TREE_MEMBER_2_IN_GA2(X, tree_33(underscore2, Left, underscore3)) -> TREE_MEMBER_2_IN_GA2(X, Left)
TREE_MEMBER_2_IN_GA2(X, tree_33(underscore4, underscore5, Right)) -> IF_TREE_MEMBER_2_IN_2_GA5(X, underscore4, underscore5, Right, tree_member_2_in_ga2(X, Right))
TREE_MEMBER_2_IN_GA2(X, tree_33(underscore4, underscore5, Right)) -> TREE_MEMBER_2_IN_GA2(X, Right)
tree_member_2_in_ga2(X, tree_33(X, underscore, underscore1)) -> tree_member_2_out_ga2(X, tree_33(X, underscore, underscore1))
tree_member_2_in_ga2(X, tree_33(underscore2, Left, underscore3)) -> if_tree_member_2_in_1_ga5(X, underscore2, Left, underscore3, tree_member_2_in_ga2(X, Left))
tree_member_2_in_ga2(X, tree_33(underscore4, underscore5, Right)) -> if_tree_member_2_in_2_ga5(X, underscore4, underscore5, Right, tree_member_2_in_ga2(X, Right))
if_tree_member_2_in_2_ga5(X, underscore4, underscore5, Right, tree_member_2_out_ga2(X, Right)) -> tree_member_2_out_ga2(X, tree_33(underscore4, underscore5, Right))
if_tree_member_2_in_1_ga5(X, underscore2, Left, underscore3, tree_member_2_out_ga2(X, Left)) -> tree_member_2_out_ga2(X, tree_33(underscore2, Left, underscore3))
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ PrologToPiTRSProof
TREE_MEMBER_2_IN_GA2(X, tree_33(underscore2, Left, underscore3)) -> IF_TREE_MEMBER_2_IN_1_GA5(X, underscore2, Left, underscore3, tree_member_2_in_ga2(X, Left))
TREE_MEMBER_2_IN_GA2(X, tree_33(underscore2, Left, underscore3)) -> TREE_MEMBER_2_IN_GA2(X, Left)
TREE_MEMBER_2_IN_GA2(X, tree_33(underscore4, underscore5, Right)) -> IF_TREE_MEMBER_2_IN_2_GA5(X, underscore4, underscore5, Right, tree_member_2_in_ga2(X, Right))
TREE_MEMBER_2_IN_GA2(X, tree_33(underscore4, underscore5, Right)) -> TREE_MEMBER_2_IN_GA2(X, Right)
tree_member_2_in_ga2(X, tree_33(X, underscore, underscore1)) -> tree_member_2_out_ga2(X, tree_33(X, underscore, underscore1))
tree_member_2_in_ga2(X, tree_33(underscore2, Left, underscore3)) -> if_tree_member_2_in_1_ga5(X, underscore2, Left, underscore3, tree_member_2_in_ga2(X, Left))
tree_member_2_in_ga2(X, tree_33(underscore4, underscore5, Right)) -> if_tree_member_2_in_2_ga5(X, underscore4, underscore5, Right, tree_member_2_in_ga2(X, Right))
if_tree_member_2_in_2_ga5(X, underscore4, underscore5, Right, tree_member_2_out_ga2(X, Right)) -> tree_member_2_out_ga2(X, tree_33(underscore4, underscore5, Right))
if_tree_member_2_in_1_ga5(X, underscore2, Left, underscore3, tree_member_2_out_ga2(X, Left)) -> tree_member_2_out_ga2(X, tree_33(underscore2, Left, underscore3))
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ PiDP
↳ UsableRulesProof
↳ PrologToPiTRSProof
TREE_MEMBER_2_IN_GA2(X, tree_33(underscore2, Left, underscore3)) -> TREE_MEMBER_2_IN_GA2(X, Left)
TREE_MEMBER_2_IN_GA2(X, tree_33(underscore4, underscore5, Right)) -> TREE_MEMBER_2_IN_GA2(X, Right)
tree_member_2_in_ga2(X, tree_33(X, underscore, underscore1)) -> tree_member_2_out_ga2(X, tree_33(X, underscore, underscore1))
tree_member_2_in_ga2(X, tree_33(underscore2, Left, underscore3)) -> if_tree_member_2_in_1_ga5(X, underscore2, Left, underscore3, tree_member_2_in_ga2(X, Left))
tree_member_2_in_ga2(X, tree_33(underscore4, underscore5, Right)) -> if_tree_member_2_in_2_ga5(X, underscore4, underscore5, Right, tree_member_2_in_ga2(X, Right))
if_tree_member_2_in_2_ga5(X, underscore4, underscore5, Right, tree_member_2_out_ga2(X, Right)) -> tree_member_2_out_ga2(X, tree_33(underscore4, underscore5, Right))
if_tree_member_2_in_1_ga5(X, underscore2, Left, underscore3, tree_member_2_out_ga2(X, Left)) -> tree_member_2_out_ga2(X, tree_33(underscore2, Left, underscore3))
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ PrologToPiTRSProof
TREE_MEMBER_2_IN_GA2(X, tree_33(underscore2, Left, underscore3)) -> TREE_MEMBER_2_IN_GA2(X, Left)
TREE_MEMBER_2_IN_GA2(X, tree_33(underscore4, underscore5, Right)) -> TREE_MEMBER_2_IN_GA2(X, Right)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ PrologToPiTRSProof
TREE_MEMBER_2_IN_GA1(X) -> TREE_MEMBER_2_IN_GA1(X)
tree_member_2_in_ga2(X, tree_33(X, underscore, underscore1)) -> tree_member_2_out_ga2(X, tree_33(X, underscore, underscore1))
tree_member_2_in_ga2(X, tree_33(underscore2, Left, underscore3)) -> if_tree_member_2_in_1_ga5(X, underscore2, Left, underscore3, tree_member_2_in_ga2(X, Left))
tree_member_2_in_ga2(X, tree_33(underscore4, underscore5, Right)) -> if_tree_member_2_in_2_ga5(X, underscore4, underscore5, Right, tree_member_2_in_ga2(X, Right))
if_tree_member_2_in_2_ga5(X, underscore4, underscore5, Right, tree_member_2_out_ga2(X, Right)) -> tree_member_2_out_ga2(X, tree_33(underscore4, underscore5, Right))
if_tree_member_2_in_1_ga5(X, underscore2, Left, underscore3, tree_member_2_out_ga2(X, Left)) -> tree_member_2_out_ga2(X, tree_33(underscore2, Left, underscore3))
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of PROLOG
↳ PROLOG
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
tree_member_2_in_ga2(X, tree_33(X, underscore, underscore1)) -> tree_member_2_out_ga2(X, tree_33(X, underscore, underscore1))
tree_member_2_in_ga2(X, tree_33(underscore2, Left, underscore3)) -> if_tree_member_2_in_1_ga5(X, underscore2, Left, underscore3, tree_member_2_in_ga2(X, Left))
tree_member_2_in_ga2(X, tree_33(underscore4, underscore5, Right)) -> if_tree_member_2_in_2_ga5(X, underscore4, underscore5, Right, tree_member_2_in_ga2(X, Right))
if_tree_member_2_in_2_ga5(X, underscore4, underscore5, Right, tree_member_2_out_ga2(X, Right)) -> tree_member_2_out_ga2(X, tree_33(underscore4, underscore5, Right))
if_tree_member_2_in_1_ga5(X, underscore2, Left, underscore3, tree_member_2_out_ga2(X, Left)) -> tree_member_2_out_ga2(X, tree_33(underscore2, Left, underscore3))
TREE_MEMBER_2_IN_GA2(X, tree_33(underscore2, Left, underscore3)) -> IF_TREE_MEMBER_2_IN_1_GA5(X, underscore2, Left, underscore3, tree_member_2_in_ga2(X, Left))
TREE_MEMBER_2_IN_GA2(X, tree_33(underscore2, Left, underscore3)) -> TREE_MEMBER_2_IN_GA2(X, Left)
TREE_MEMBER_2_IN_GA2(X, tree_33(underscore4, underscore5, Right)) -> IF_TREE_MEMBER_2_IN_2_GA5(X, underscore4, underscore5, Right, tree_member_2_in_ga2(X, Right))
TREE_MEMBER_2_IN_GA2(X, tree_33(underscore4, underscore5, Right)) -> TREE_MEMBER_2_IN_GA2(X, Right)
tree_member_2_in_ga2(X, tree_33(X, underscore, underscore1)) -> tree_member_2_out_ga2(X, tree_33(X, underscore, underscore1))
tree_member_2_in_ga2(X, tree_33(underscore2, Left, underscore3)) -> if_tree_member_2_in_1_ga5(X, underscore2, Left, underscore3, tree_member_2_in_ga2(X, Left))
tree_member_2_in_ga2(X, tree_33(underscore4, underscore5, Right)) -> if_tree_member_2_in_2_ga5(X, underscore4, underscore5, Right, tree_member_2_in_ga2(X, Right))
if_tree_member_2_in_2_ga5(X, underscore4, underscore5, Right, tree_member_2_out_ga2(X, Right)) -> tree_member_2_out_ga2(X, tree_33(underscore4, underscore5, Right))
if_tree_member_2_in_1_ga5(X, underscore2, Left, underscore3, tree_member_2_out_ga2(X, Left)) -> tree_member_2_out_ga2(X, tree_33(underscore2, Left, underscore3))
↳ PROLOG
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
TREE_MEMBER_2_IN_GA2(X, tree_33(underscore2, Left, underscore3)) -> IF_TREE_MEMBER_2_IN_1_GA5(X, underscore2, Left, underscore3, tree_member_2_in_ga2(X, Left))
TREE_MEMBER_2_IN_GA2(X, tree_33(underscore2, Left, underscore3)) -> TREE_MEMBER_2_IN_GA2(X, Left)
TREE_MEMBER_2_IN_GA2(X, tree_33(underscore4, underscore5, Right)) -> IF_TREE_MEMBER_2_IN_2_GA5(X, underscore4, underscore5, Right, tree_member_2_in_ga2(X, Right))
TREE_MEMBER_2_IN_GA2(X, tree_33(underscore4, underscore5, Right)) -> TREE_MEMBER_2_IN_GA2(X, Right)
tree_member_2_in_ga2(X, tree_33(X, underscore, underscore1)) -> tree_member_2_out_ga2(X, tree_33(X, underscore, underscore1))
tree_member_2_in_ga2(X, tree_33(underscore2, Left, underscore3)) -> if_tree_member_2_in_1_ga5(X, underscore2, Left, underscore3, tree_member_2_in_ga2(X, Left))
tree_member_2_in_ga2(X, tree_33(underscore4, underscore5, Right)) -> if_tree_member_2_in_2_ga5(X, underscore4, underscore5, Right, tree_member_2_in_ga2(X, Right))
if_tree_member_2_in_2_ga5(X, underscore4, underscore5, Right, tree_member_2_out_ga2(X, Right)) -> tree_member_2_out_ga2(X, tree_33(underscore4, underscore5, Right))
if_tree_member_2_in_1_ga5(X, underscore2, Left, underscore3, tree_member_2_out_ga2(X, Left)) -> tree_member_2_out_ga2(X, tree_33(underscore2, Left, underscore3))
↳ PROLOG
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ PiDP
↳ UsableRulesProof
TREE_MEMBER_2_IN_GA2(X, tree_33(underscore2, Left, underscore3)) -> TREE_MEMBER_2_IN_GA2(X, Left)
TREE_MEMBER_2_IN_GA2(X, tree_33(underscore4, underscore5, Right)) -> TREE_MEMBER_2_IN_GA2(X, Right)
tree_member_2_in_ga2(X, tree_33(X, underscore, underscore1)) -> tree_member_2_out_ga2(X, tree_33(X, underscore, underscore1))
tree_member_2_in_ga2(X, tree_33(underscore2, Left, underscore3)) -> if_tree_member_2_in_1_ga5(X, underscore2, Left, underscore3, tree_member_2_in_ga2(X, Left))
tree_member_2_in_ga2(X, tree_33(underscore4, underscore5, Right)) -> if_tree_member_2_in_2_ga5(X, underscore4, underscore5, Right, tree_member_2_in_ga2(X, Right))
if_tree_member_2_in_2_ga5(X, underscore4, underscore5, Right, tree_member_2_out_ga2(X, Right)) -> tree_member_2_out_ga2(X, tree_33(underscore4, underscore5, Right))
if_tree_member_2_in_1_ga5(X, underscore2, Left, underscore3, tree_member_2_out_ga2(X, Left)) -> tree_member_2_out_ga2(X, tree_33(underscore2, Left, underscore3))
↳ PROLOG
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
TREE_MEMBER_2_IN_GA2(X, tree_33(underscore2, Left, underscore3)) -> TREE_MEMBER_2_IN_GA2(X, Left)
TREE_MEMBER_2_IN_GA2(X, tree_33(underscore4, underscore5, Right)) -> TREE_MEMBER_2_IN_GA2(X, Right)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
TREE_MEMBER_2_IN_GA1(X) -> TREE_MEMBER_2_IN_GA1(X)