↳ PROLOG
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
With regard to the inferred argument filtering the predicates were used in the following modes:
minimum2: (f,b)
Transforming PROLOG into the following Term Rewriting System:
Pi-finite rewrite system:
The TRS R consists of the following rules:
minimum_2_in_ag2(tree_33(X, void_0, underscore), X) -> minimum_2_out_ag2(tree_33(X, void_0, underscore), X)
minimum_2_in_ag2(tree_33(underscore1, Left, underscore2), X) -> if_minimum_2_in_1_ag5(underscore1, Left, underscore2, X, minimum_2_in_ag2(Left, X))
if_minimum_2_in_1_ag5(underscore1, Left, underscore2, X, minimum_2_out_ag2(Left, X)) -> minimum_2_out_ag2(tree_33(underscore1, Left, underscore2), X)
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of PROLOG
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PrologToPiTRSProof
minimum_2_in_ag2(tree_33(X, void_0, underscore), X) -> minimum_2_out_ag2(tree_33(X, void_0, underscore), X)
minimum_2_in_ag2(tree_33(underscore1, Left, underscore2), X) -> if_minimum_2_in_1_ag5(underscore1, Left, underscore2, X, minimum_2_in_ag2(Left, X))
if_minimum_2_in_1_ag5(underscore1, Left, underscore2, X, minimum_2_out_ag2(Left, X)) -> minimum_2_out_ag2(tree_33(underscore1, Left, underscore2), X)
MINIMUM_2_IN_AG2(tree_33(underscore1, Left, underscore2), X) -> IF_MINIMUM_2_IN_1_AG5(underscore1, Left, underscore2, X, minimum_2_in_ag2(Left, X))
MINIMUM_2_IN_AG2(tree_33(underscore1, Left, underscore2), X) -> MINIMUM_2_IN_AG2(Left, X)
minimum_2_in_ag2(tree_33(X, void_0, underscore), X) -> minimum_2_out_ag2(tree_33(X, void_0, underscore), X)
minimum_2_in_ag2(tree_33(underscore1, Left, underscore2), X) -> if_minimum_2_in_1_ag5(underscore1, Left, underscore2, X, minimum_2_in_ag2(Left, X))
if_minimum_2_in_1_ag5(underscore1, Left, underscore2, X, minimum_2_out_ag2(Left, X)) -> minimum_2_out_ag2(tree_33(underscore1, Left, underscore2), X)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ PrologToPiTRSProof
MINIMUM_2_IN_AG2(tree_33(underscore1, Left, underscore2), X) -> IF_MINIMUM_2_IN_1_AG5(underscore1, Left, underscore2, X, minimum_2_in_ag2(Left, X))
MINIMUM_2_IN_AG2(tree_33(underscore1, Left, underscore2), X) -> MINIMUM_2_IN_AG2(Left, X)
minimum_2_in_ag2(tree_33(X, void_0, underscore), X) -> minimum_2_out_ag2(tree_33(X, void_0, underscore), X)
minimum_2_in_ag2(tree_33(underscore1, Left, underscore2), X) -> if_minimum_2_in_1_ag5(underscore1, Left, underscore2, X, minimum_2_in_ag2(Left, X))
if_minimum_2_in_1_ag5(underscore1, Left, underscore2, X, minimum_2_out_ag2(Left, X)) -> minimum_2_out_ag2(tree_33(underscore1, Left, underscore2), X)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ PiDP
↳ UsableRulesProof
↳ PrologToPiTRSProof
MINIMUM_2_IN_AG2(tree_33(underscore1, Left, underscore2), X) -> MINIMUM_2_IN_AG2(Left, X)
minimum_2_in_ag2(tree_33(X, void_0, underscore), X) -> minimum_2_out_ag2(tree_33(X, void_0, underscore), X)
minimum_2_in_ag2(tree_33(underscore1, Left, underscore2), X) -> if_minimum_2_in_1_ag5(underscore1, Left, underscore2, X, minimum_2_in_ag2(Left, X))
if_minimum_2_in_1_ag5(underscore1, Left, underscore2, X, minimum_2_out_ag2(Left, X)) -> minimum_2_out_ag2(tree_33(underscore1, Left, underscore2), X)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ PrologToPiTRSProof
MINIMUM_2_IN_AG2(tree_33(underscore1, Left, underscore2), X) -> MINIMUM_2_IN_AG2(Left, X)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ PrologToPiTRSProof
MINIMUM_2_IN_AG1(X) -> MINIMUM_2_IN_AG1(X)
minimum_2_in_ag2(tree_33(X, void_0, underscore), X) -> minimum_2_out_ag2(tree_33(X, void_0, underscore), X)
minimum_2_in_ag2(tree_33(underscore1, Left, underscore2), X) -> if_minimum_2_in_1_ag5(underscore1, Left, underscore2, X, minimum_2_in_ag2(Left, X))
if_minimum_2_in_1_ag5(underscore1, Left, underscore2, X, minimum_2_out_ag2(Left, X)) -> minimum_2_out_ag2(tree_33(underscore1, Left, underscore2), X)
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of PROLOG
↳ PROLOG
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
minimum_2_in_ag2(tree_33(X, void_0, underscore), X) -> minimum_2_out_ag2(tree_33(X, void_0, underscore), X)
minimum_2_in_ag2(tree_33(underscore1, Left, underscore2), X) -> if_minimum_2_in_1_ag5(underscore1, Left, underscore2, X, minimum_2_in_ag2(Left, X))
if_minimum_2_in_1_ag5(underscore1, Left, underscore2, X, minimum_2_out_ag2(Left, X)) -> minimum_2_out_ag2(tree_33(underscore1, Left, underscore2), X)
MINIMUM_2_IN_AG2(tree_33(underscore1, Left, underscore2), X) -> IF_MINIMUM_2_IN_1_AG5(underscore1, Left, underscore2, X, minimum_2_in_ag2(Left, X))
MINIMUM_2_IN_AG2(tree_33(underscore1, Left, underscore2), X) -> MINIMUM_2_IN_AG2(Left, X)
minimum_2_in_ag2(tree_33(X, void_0, underscore), X) -> minimum_2_out_ag2(tree_33(X, void_0, underscore), X)
minimum_2_in_ag2(tree_33(underscore1, Left, underscore2), X) -> if_minimum_2_in_1_ag5(underscore1, Left, underscore2, X, minimum_2_in_ag2(Left, X))
if_minimum_2_in_1_ag5(underscore1, Left, underscore2, X, minimum_2_out_ag2(Left, X)) -> minimum_2_out_ag2(tree_33(underscore1, Left, underscore2), X)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
MINIMUM_2_IN_AG2(tree_33(underscore1, Left, underscore2), X) -> IF_MINIMUM_2_IN_1_AG5(underscore1, Left, underscore2, X, minimum_2_in_ag2(Left, X))
MINIMUM_2_IN_AG2(tree_33(underscore1, Left, underscore2), X) -> MINIMUM_2_IN_AG2(Left, X)
minimum_2_in_ag2(tree_33(X, void_0, underscore), X) -> minimum_2_out_ag2(tree_33(X, void_0, underscore), X)
minimum_2_in_ag2(tree_33(underscore1, Left, underscore2), X) -> if_minimum_2_in_1_ag5(underscore1, Left, underscore2, X, minimum_2_in_ag2(Left, X))
if_minimum_2_in_1_ag5(underscore1, Left, underscore2, X, minimum_2_out_ag2(Left, X)) -> minimum_2_out_ag2(tree_33(underscore1, Left, underscore2), X)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ PiDP
↳ UsableRulesProof
MINIMUM_2_IN_AG2(tree_33(underscore1, Left, underscore2), X) -> MINIMUM_2_IN_AG2(Left, X)
minimum_2_in_ag2(tree_33(X, void_0, underscore), X) -> minimum_2_out_ag2(tree_33(X, void_0, underscore), X)
minimum_2_in_ag2(tree_33(underscore1, Left, underscore2), X) -> if_minimum_2_in_1_ag5(underscore1, Left, underscore2, X, minimum_2_in_ag2(Left, X))
if_minimum_2_in_1_ag5(underscore1, Left, underscore2, X, minimum_2_out_ag2(Left, X)) -> minimum_2_out_ag2(tree_33(underscore1, Left, underscore2), X)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
MINIMUM_2_IN_AG2(tree_33(underscore1, Left, underscore2), X) -> MINIMUM_2_IN_AG2(Left, X)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
MINIMUM_2_IN_AG1(X) -> MINIMUM_2_IN_AG1(X)