↳ PROLOG
↳ PrologToPiTRSProof
With regard to the inferred argument filtering the predicates were used in the following modes:
minimum2: (b,f)
Transforming PROLOG into the following Term Rewriting System:
Pi-finite rewrite system:
The TRS R consists of the following rules:
minimum_2_in_ga2(tree_33(X, void_0, underscore), X) -> minimum_2_out_ga2(tree_33(X, void_0, underscore), X)
minimum_2_in_ga2(tree_33(underscore1, Left, underscore2), X) -> if_minimum_2_in_1_ga5(underscore1, Left, underscore2, X, minimum_2_in_ga2(Left, X))
if_minimum_2_in_1_ga5(underscore1, Left, underscore2, X, minimum_2_out_ga2(Left, X)) -> minimum_2_out_ga2(tree_33(underscore1, Left, underscore2), X)
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of PROLOG
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
minimum_2_in_ga2(tree_33(X, void_0, underscore), X) -> minimum_2_out_ga2(tree_33(X, void_0, underscore), X)
minimum_2_in_ga2(tree_33(underscore1, Left, underscore2), X) -> if_minimum_2_in_1_ga5(underscore1, Left, underscore2, X, minimum_2_in_ga2(Left, X))
if_minimum_2_in_1_ga5(underscore1, Left, underscore2, X, minimum_2_out_ga2(Left, X)) -> minimum_2_out_ga2(tree_33(underscore1, Left, underscore2), X)
MINIMUM_2_IN_GA2(tree_33(underscore1, Left, underscore2), X) -> IF_MINIMUM_2_IN_1_GA5(underscore1, Left, underscore2, X, minimum_2_in_ga2(Left, X))
MINIMUM_2_IN_GA2(tree_33(underscore1, Left, underscore2), X) -> MINIMUM_2_IN_GA2(Left, X)
minimum_2_in_ga2(tree_33(X, void_0, underscore), X) -> minimum_2_out_ga2(tree_33(X, void_0, underscore), X)
minimum_2_in_ga2(tree_33(underscore1, Left, underscore2), X) -> if_minimum_2_in_1_ga5(underscore1, Left, underscore2, X, minimum_2_in_ga2(Left, X))
if_minimum_2_in_1_ga5(underscore1, Left, underscore2, X, minimum_2_out_ga2(Left, X)) -> minimum_2_out_ga2(tree_33(underscore1, Left, underscore2), X)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
MINIMUM_2_IN_GA2(tree_33(underscore1, Left, underscore2), X) -> IF_MINIMUM_2_IN_1_GA5(underscore1, Left, underscore2, X, minimum_2_in_ga2(Left, X))
MINIMUM_2_IN_GA2(tree_33(underscore1, Left, underscore2), X) -> MINIMUM_2_IN_GA2(Left, X)
minimum_2_in_ga2(tree_33(X, void_0, underscore), X) -> minimum_2_out_ga2(tree_33(X, void_0, underscore), X)
minimum_2_in_ga2(tree_33(underscore1, Left, underscore2), X) -> if_minimum_2_in_1_ga5(underscore1, Left, underscore2, X, minimum_2_in_ga2(Left, X))
if_minimum_2_in_1_ga5(underscore1, Left, underscore2, X, minimum_2_out_ga2(Left, X)) -> minimum_2_out_ga2(tree_33(underscore1, Left, underscore2), X)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ PiDP
↳ UsableRulesProof
MINIMUM_2_IN_GA2(tree_33(underscore1, Left, underscore2), X) -> MINIMUM_2_IN_GA2(Left, X)
minimum_2_in_ga2(tree_33(X, void_0, underscore), X) -> minimum_2_out_ga2(tree_33(X, void_0, underscore), X)
minimum_2_in_ga2(tree_33(underscore1, Left, underscore2), X) -> if_minimum_2_in_1_ga5(underscore1, Left, underscore2, X, minimum_2_in_ga2(Left, X))
if_minimum_2_in_1_ga5(underscore1, Left, underscore2, X, minimum_2_out_ga2(Left, X)) -> minimum_2_out_ga2(tree_33(underscore1, Left, underscore2), X)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
MINIMUM_2_IN_GA2(tree_33(underscore1, Left, underscore2), X) -> MINIMUM_2_IN_GA2(Left, X)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ QDPSizeChangeProof
MINIMUM_2_IN_GA1(tree_33(underscore1, Left, underscore2)) -> MINIMUM_2_IN_GA1(Left)
From the DPs we obtained the following set of size-change graphs: