↳ PROLOG
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
With regard to the inferred argument filtering the predicates were used in the following modes:
cnfequiv2: (b,f)
transform2: (b,f)
Transforming PROLOG into the following Term Rewriting System:
Pi-finite rewrite system:
The TRS R consists of the following rules:
cnfequiv_2_in_ga2(X, Y) -> if_cnfequiv_2_in_1_ga3(X, Y, transform_2_in_ga2(X, Z))
transform_2_in_ga2(n_11(n_11(X)), X) -> transform_2_out_ga2(n_11(n_11(X)), X)
transform_2_in_ga2(n_11(a_22(X, Y)), o_22(n_11(X), n_11(Y))) -> transform_2_out_ga2(n_11(a_22(X, Y)), o_22(n_11(X), n_11(Y)))
transform_2_in_ga2(n_11(o_22(X, Y)), a_22(n_11(X), n_11(Y))) -> transform_2_out_ga2(n_11(o_22(X, Y)), a_22(n_11(X), n_11(Y)))
transform_2_in_ga2(o_22(X, a_22(Y, Z)), a_22(o_22(X, Y), o_22(X, Z))) -> transform_2_out_ga2(o_22(X, a_22(Y, Z)), a_22(o_22(X, Y), o_22(X, Z)))
transform_2_in_ga2(o_22(a_22(X, Y), Z), a_22(o_22(X, Z), o_22(Y, Z))) -> transform_2_out_ga2(o_22(a_22(X, Y), Z), a_22(o_22(X, Z), o_22(Y, Z)))
transform_2_in_ga2(o_22(X1, Y), o_22(X2, Y)) -> if_transform_2_in_1_ga4(X1, Y, X2, transform_2_in_ga2(X1, X2))
transform_2_in_ga2(o_22(X, Y1), o_22(X, Y2)) -> if_transform_2_in_2_ga4(X, Y1, Y2, transform_2_in_ga2(Y1, Y2))
transform_2_in_ga2(a_22(X1, Y), a_22(X2, Y)) -> if_transform_2_in_3_ga4(X1, Y, X2, transform_2_in_ga2(X1, X2))
transform_2_in_ga2(a_22(X, Y1), a_22(X, Y2)) -> if_transform_2_in_4_ga4(X, Y1, Y2, transform_2_in_ga2(Y1, Y2))
transform_2_in_ga2(n_11(X1), n_11(X2)) -> if_transform_2_in_5_ga3(X1, X2, transform_2_in_ga2(X1, X2))
if_transform_2_in_5_ga3(X1, X2, transform_2_out_ga2(X1, X2)) -> transform_2_out_ga2(n_11(X1), n_11(X2))
if_transform_2_in_4_ga4(X, Y1, Y2, transform_2_out_ga2(Y1, Y2)) -> transform_2_out_ga2(a_22(X, Y1), a_22(X, Y2))
if_transform_2_in_3_ga4(X1, Y, X2, transform_2_out_ga2(X1, X2)) -> transform_2_out_ga2(a_22(X1, Y), a_22(X2, Y))
if_transform_2_in_2_ga4(X, Y1, Y2, transform_2_out_ga2(Y1, Y2)) -> transform_2_out_ga2(o_22(X, Y1), o_22(X, Y2))
if_transform_2_in_1_ga4(X1, Y, X2, transform_2_out_ga2(X1, X2)) -> transform_2_out_ga2(o_22(X1, Y), o_22(X2, Y))
if_cnfequiv_2_in_1_ga3(X, Y, transform_2_out_ga2(X, Z)) -> if_cnfequiv_2_in_2_ga4(X, Y, Z, cnfequiv_2_in_ga2(Z, Y))
cnfequiv_2_in_ga2(X, X) -> cnfequiv_2_out_ga2(X, X)
if_cnfequiv_2_in_2_ga4(X, Y, Z, cnfequiv_2_out_ga2(Z, Y)) -> cnfequiv_2_out_ga2(X, Y)
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of PROLOG
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PrologToPiTRSProof
cnfequiv_2_in_ga2(X, Y) -> if_cnfequiv_2_in_1_ga3(X, Y, transform_2_in_ga2(X, Z))
transform_2_in_ga2(n_11(n_11(X)), X) -> transform_2_out_ga2(n_11(n_11(X)), X)
transform_2_in_ga2(n_11(a_22(X, Y)), o_22(n_11(X), n_11(Y))) -> transform_2_out_ga2(n_11(a_22(X, Y)), o_22(n_11(X), n_11(Y)))
transform_2_in_ga2(n_11(o_22(X, Y)), a_22(n_11(X), n_11(Y))) -> transform_2_out_ga2(n_11(o_22(X, Y)), a_22(n_11(X), n_11(Y)))
transform_2_in_ga2(o_22(X, a_22(Y, Z)), a_22(o_22(X, Y), o_22(X, Z))) -> transform_2_out_ga2(o_22(X, a_22(Y, Z)), a_22(o_22(X, Y), o_22(X, Z)))
transform_2_in_ga2(o_22(a_22(X, Y), Z), a_22(o_22(X, Z), o_22(Y, Z))) -> transform_2_out_ga2(o_22(a_22(X, Y), Z), a_22(o_22(X, Z), o_22(Y, Z)))
transform_2_in_ga2(o_22(X1, Y), o_22(X2, Y)) -> if_transform_2_in_1_ga4(X1, Y, X2, transform_2_in_ga2(X1, X2))
transform_2_in_ga2(o_22(X, Y1), o_22(X, Y2)) -> if_transform_2_in_2_ga4(X, Y1, Y2, transform_2_in_ga2(Y1, Y2))
transform_2_in_ga2(a_22(X1, Y), a_22(X2, Y)) -> if_transform_2_in_3_ga4(X1, Y, X2, transform_2_in_ga2(X1, X2))
transform_2_in_ga2(a_22(X, Y1), a_22(X, Y2)) -> if_transform_2_in_4_ga4(X, Y1, Y2, transform_2_in_ga2(Y1, Y2))
transform_2_in_ga2(n_11(X1), n_11(X2)) -> if_transform_2_in_5_ga3(X1, X2, transform_2_in_ga2(X1, X2))
if_transform_2_in_5_ga3(X1, X2, transform_2_out_ga2(X1, X2)) -> transform_2_out_ga2(n_11(X1), n_11(X2))
if_transform_2_in_4_ga4(X, Y1, Y2, transform_2_out_ga2(Y1, Y2)) -> transform_2_out_ga2(a_22(X, Y1), a_22(X, Y2))
if_transform_2_in_3_ga4(X1, Y, X2, transform_2_out_ga2(X1, X2)) -> transform_2_out_ga2(a_22(X1, Y), a_22(X2, Y))
if_transform_2_in_2_ga4(X, Y1, Y2, transform_2_out_ga2(Y1, Y2)) -> transform_2_out_ga2(o_22(X, Y1), o_22(X, Y2))
if_transform_2_in_1_ga4(X1, Y, X2, transform_2_out_ga2(X1, X2)) -> transform_2_out_ga2(o_22(X1, Y), o_22(X2, Y))
if_cnfequiv_2_in_1_ga3(X, Y, transform_2_out_ga2(X, Z)) -> if_cnfequiv_2_in_2_ga4(X, Y, Z, cnfequiv_2_in_ga2(Z, Y))
cnfequiv_2_in_ga2(X, X) -> cnfequiv_2_out_ga2(X, X)
if_cnfequiv_2_in_2_ga4(X, Y, Z, cnfequiv_2_out_ga2(Z, Y)) -> cnfequiv_2_out_ga2(X, Y)
CNFEQUIV_2_IN_GA2(X, Y) -> IF_CNFEQUIV_2_IN_1_GA3(X, Y, transform_2_in_ga2(X, Z))
CNFEQUIV_2_IN_GA2(X, Y) -> TRANSFORM_2_IN_GA2(X, Z)
TRANSFORM_2_IN_GA2(o_22(X1, Y), o_22(X2, Y)) -> IF_TRANSFORM_2_IN_1_GA4(X1, Y, X2, transform_2_in_ga2(X1, X2))
TRANSFORM_2_IN_GA2(o_22(X1, Y), o_22(X2, Y)) -> TRANSFORM_2_IN_GA2(X1, X2)
TRANSFORM_2_IN_GA2(o_22(X, Y1), o_22(X, Y2)) -> IF_TRANSFORM_2_IN_2_GA4(X, Y1, Y2, transform_2_in_ga2(Y1, Y2))
TRANSFORM_2_IN_GA2(o_22(X, Y1), o_22(X, Y2)) -> TRANSFORM_2_IN_GA2(Y1, Y2)
TRANSFORM_2_IN_GA2(a_22(X1, Y), a_22(X2, Y)) -> IF_TRANSFORM_2_IN_3_GA4(X1, Y, X2, transform_2_in_ga2(X1, X2))
TRANSFORM_2_IN_GA2(a_22(X1, Y), a_22(X2, Y)) -> TRANSFORM_2_IN_GA2(X1, X2)
TRANSFORM_2_IN_GA2(a_22(X, Y1), a_22(X, Y2)) -> IF_TRANSFORM_2_IN_4_GA4(X, Y1, Y2, transform_2_in_ga2(Y1, Y2))
TRANSFORM_2_IN_GA2(a_22(X, Y1), a_22(X, Y2)) -> TRANSFORM_2_IN_GA2(Y1, Y2)
TRANSFORM_2_IN_GA2(n_11(X1), n_11(X2)) -> IF_TRANSFORM_2_IN_5_GA3(X1, X2, transform_2_in_ga2(X1, X2))
TRANSFORM_2_IN_GA2(n_11(X1), n_11(X2)) -> TRANSFORM_2_IN_GA2(X1, X2)
IF_CNFEQUIV_2_IN_1_GA3(X, Y, transform_2_out_ga2(X, Z)) -> IF_CNFEQUIV_2_IN_2_GA4(X, Y, Z, cnfequiv_2_in_ga2(Z, Y))
IF_CNFEQUIV_2_IN_1_GA3(X, Y, transform_2_out_ga2(X, Z)) -> CNFEQUIV_2_IN_GA2(Z, Y)
cnfequiv_2_in_ga2(X, Y) -> if_cnfequiv_2_in_1_ga3(X, Y, transform_2_in_ga2(X, Z))
transform_2_in_ga2(n_11(n_11(X)), X) -> transform_2_out_ga2(n_11(n_11(X)), X)
transform_2_in_ga2(n_11(a_22(X, Y)), o_22(n_11(X), n_11(Y))) -> transform_2_out_ga2(n_11(a_22(X, Y)), o_22(n_11(X), n_11(Y)))
transform_2_in_ga2(n_11(o_22(X, Y)), a_22(n_11(X), n_11(Y))) -> transform_2_out_ga2(n_11(o_22(X, Y)), a_22(n_11(X), n_11(Y)))
transform_2_in_ga2(o_22(X, a_22(Y, Z)), a_22(o_22(X, Y), o_22(X, Z))) -> transform_2_out_ga2(o_22(X, a_22(Y, Z)), a_22(o_22(X, Y), o_22(X, Z)))
transform_2_in_ga2(o_22(a_22(X, Y), Z), a_22(o_22(X, Z), o_22(Y, Z))) -> transform_2_out_ga2(o_22(a_22(X, Y), Z), a_22(o_22(X, Z), o_22(Y, Z)))
transform_2_in_ga2(o_22(X1, Y), o_22(X2, Y)) -> if_transform_2_in_1_ga4(X1, Y, X2, transform_2_in_ga2(X1, X2))
transform_2_in_ga2(o_22(X, Y1), o_22(X, Y2)) -> if_transform_2_in_2_ga4(X, Y1, Y2, transform_2_in_ga2(Y1, Y2))
transform_2_in_ga2(a_22(X1, Y), a_22(X2, Y)) -> if_transform_2_in_3_ga4(X1, Y, X2, transform_2_in_ga2(X1, X2))
transform_2_in_ga2(a_22(X, Y1), a_22(X, Y2)) -> if_transform_2_in_4_ga4(X, Y1, Y2, transform_2_in_ga2(Y1, Y2))
transform_2_in_ga2(n_11(X1), n_11(X2)) -> if_transform_2_in_5_ga3(X1, X2, transform_2_in_ga2(X1, X2))
if_transform_2_in_5_ga3(X1, X2, transform_2_out_ga2(X1, X2)) -> transform_2_out_ga2(n_11(X1), n_11(X2))
if_transform_2_in_4_ga4(X, Y1, Y2, transform_2_out_ga2(Y1, Y2)) -> transform_2_out_ga2(a_22(X, Y1), a_22(X, Y2))
if_transform_2_in_3_ga4(X1, Y, X2, transform_2_out_ga2(X1, X2)) -> transform_2_out_ga2(a_22(X1, Y), a_22(X2, Y))
if_transform_2_in_2_ga4(X, Y1, Y2, transform_2_out_ga2(Y1, Y2)) -> transform_2_out_ga2(o_22(X, Y1), o_22(X, Y2))
if_transform_2_in_1_ga4(X1, Y, X2, transform_2_out_ga2(X1, X2)) -> transform_2_out_ga2(o_22(X1, Y), o_22(X2, Y))
if_cnfequiv_2_in_1_ga3(X, Y, transform_2_out_ga2(X, Z)) -> if_cnfequiv_2_in_2_ga4(X, Y, Z, cnfequiv_2_in_ga2(Z, Y))
cnfequiv_2_in_ga2(X, X) -> cnfequiv_2_out_ga2(X, X)
if_cnfequiv_2_in_2_ga4(X, Y, Z, cnfequiv_2_out_ga2(Z, Y)) -> cnfequiv_2_out_ga2(X, Y)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ PrologToPiTRSProof
CNFEQUIV_2_IN_GA2(X, Y) -> IF_CNFEQUIV_2_IN_1_GA3(X, Y, transform_2_in_ga2(X, Z))
CNFEQUIV_2_IN_GA2(X, Y) -> TRANSFORM_2_IN_GA2(X, Z)
TRANSFORM_2_IN_GA2(o_22(X1, Y), o_22(X2, Y)) -> IF_TRANSFORM_2_IN_1_GA4(X1, Y, X2, transform_2_in_ga2(X1, X2))
TRANSFORM_2_IN_GA2(o_22(X1, Y), o_22(X2, Y)) -> TRANSFORM_2_IN_GA2(X1, X2)
TRANSFORM_2_IN_GA2(o_22(X, Y1), o_22(X, Y2)) -> IF_TRANSFORM_2_IN_2_GA4(X, Y1, Y2, transform_2_in_ga2(Y1, Y2))
TRANSFORM_2_IN_GA2(o_22(X, Y1), o_22(X, Y2)) -> TRANSFORM_2_IN_GA2(Y1, Y2)
TRANSFORM_2_IN_GA2(a_22(X1, Y), a_22(X2, Y)) -> IF_TRANSFORM_2_IN_3_GA4(X1, Y, X2, transform_2_in_ga2(X1, X2))
TRANSFORM_2_IN_GA2(a_22(X1, Y), a_22(X2, Y)) -> TRANSFORM_2_IN_GA2(X1, X2)
TRANSFORM_2_IN_GA2(a_22(X, Y1), a_22(X, Y2)) -> IF_TRANSFORM_2_IN_4_GA4(X, Y1, Y2, transform_2_in_ga2(Y1, Y2))
TRANSFORM_2_IN_GA2(a_22(X, Y1), a_22(X, Y2)) -> TRANSFORM_2_IN_GA2(Y1, Y2)
TRANSFORM_2_IN_GA2(n_11(X1), n_11(X2)) -> IF_TRANSFORM_2_IN_5_GA3(X1, X2, transform_2_in_ga2(X1, X2))
TRANSFORM_2_IN_GA2(n_11(X1), n_11(X2)) -> TRANSFORM_2_IN_GA2(X1, X2)
IF_CNFEQUIV_2_IN_1_GA3(X, Y, transform_2_out_ga2(X, Z)) -> IF_CNFEQUIV_2_IN_2_GA4(X, Y, Z, cnfequiv_2_in_ga2(Z, Y))
IF_CNFEQUIV_2_IN_1_GA3(X, Y, transform_2_out_ga2(X, Z)) -> CNFEQUIV_2_IN_GA2(Z, Y)
cnfequiv_2_in_ga2(X, Y) -> if_cnfequiv_2_in_1_ga3(X, Y, transform_2_in_ga2(X, Z))
transform_2_in_ga2(n_11(n_11(X)), X) -> transform_2_out_ga2(n_11(n_11(X)), X)
transform_2_in_ga2(n_11(a_22(X, Y)), o_22(n_11(X), n_11(Y))) -> transform_2_out_ga2(n_11(a_22(X, Y)), o_22(n_11(X), n_11(Y)))
transform_2_in_ga2(n_11(o_22(X, Y)), a_22(n_11(X), n_11(Y))) -> transform_2_out_ga2(n_11(o_22(X, Y)), a_22(n_11(X), n_11(Y)))
transform_2_in_ga2(o_22(X, a_22(Y, Z)), a_22(o_22(X, Y), o_22(X, Z))) -> transform_2_out_ga2(o_22(X, a_22(Y, Z)), a_22(o_22(X, Y), o_22(X, Z)))
transform_2_in_ga2(o_22(a_22(X, Y), Z), a_22(o_22(X, Z), o_22(Y, Z))) -> transform_2_out_ga2(o_22(a_22(X, Y), Z), a_22(o_22(X, Z), o_22(Y, Z)))
transform_2_in_ga2(o_22(X1, Y), o_22(X2, Y)) -> if_transform_2_in_1_ga4(X1, Y, X2, transform_2_in_ga2(X1, X2))
transform_2_in_ga2(o_22(X, Y1), o_22(X, Y2)) -> if_transform_2_in_2_ga4(X, Y1, Y2, transform_2_in_ga2(Y1, Y2))
transform_2_in_ga2(a_22(X1, Y), a_22(X2, Y)) -> if_transform_2_in_3_ga4(X1, Y, X2, transform_2_in_ga2(X1, X2))
transform_2_in_ga2(a_22(X, Y1), a_22(X, Y2)) -> if_transform_2_in_4_ga4(X, Y1, Y2, transform_2_in_ga2(Y1, Y2))
transform_2_in_ga2(n_11(X1), n_11(X2)) -> if_transform_2_in_5_ga3(X1, X2, transform_2_in_ga2(X1, X2))
if_transform_2_in_5_ga3(X1, X2, transform_2_out_ga2(X1, X2)) -> transform_2_out_ga2(n_11(X1), n_11(X2))
if_transform_2_in_4_ga4(X, Y1, Y2, transform_2_out_ga2(Y1, Y2)) -> transform_2_out_ga2(a_22(X, Y1), a_22(X, Y2))
if_transform_2_in_3_ga4(X1, Y, X2, transform_2_out_ga2(X1, X2)) -> transform_2_out_ga2(a_22(X1, Y), a_22(X2, Y))
if_transform_2_in_2_ga4(X, Y1, Y2, transform_2_out_ga2(Y1, Y2)) -> transform_2_out_ga2(o_22(X, Y1), o_22(X, Y2))
if_transform_2_in_1_ga4(X1, Y, X2, transform_2_out_ga2(X1, X2)) -> transform_2_out_ga2(o_22(X1, Y), o_22(X2, Y))
if_cnfequiv_2_in_1_ga3(X, Y, transform_2_out_ga2(X, Z)) -> if_cnfequiv_2_in_2_ga4(X, Y, Z, cnfequiv_2_in_ga2(Z, Y))
cnfequiv_2_in_ga2(X, X) -> cnfequiv_2_out_ga2(X, X)
if_cnfequiv_2_in_2_ga4(X, Y, Z, cnfequiv_2_out_ga2(Z, Y)) -> cnfequiv_2_out_ga2(X, Y)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PrologToPiTRSProof
TRANSFORM_2_IN_GA2(o_22(X1, Y), o_22(X2, Y)) -> TRANSFORM_2_IN_GA2(X1, X2)
TRANSFORM_2_IN_GA2(a_22(X1, Y), a_22(X2, Y)) -> TRANSFORM_2_IN_GA2(X1, X2)
TRANSFORM_2_IN_GA2(a_22(X, Y1), a_22(X, Y2)) -> TRANSFORM_2_IN_GA2(Y1, Y2)
TRANSFORM_2_IN_GA2(n_11(X1), n_11(X2)) -> TRANSFORM_2_IN_GA2(X1, X2)
TRANSFORM_2_IN_GA2(o_22(X, Y1), o_22(X, Y2)) -> TRANSFORM_2_IN_GA2(Y1, Y2)
cnfequiv_2_in_ga2(X, Y) -> if_cnfequiv_2_in_1_ga3(X, Y, transform_2_in_ga2(X, Z))
transform_2_in_ga2(n_11(n_11(X)), X) -> transform_2_out_ga2(n_11(n_11(X)), X)
transform_2_in_ga2(n_11(a_22(X, Y)), o_22(n_11(X), n_11(Y))) -> transform_2_out_ga2(n_11(a_22(X, Y)), o_22(n_11(X), n_11(Y)))
transform_2_in_ga2(n_11(o_22(X, Y)), a_22(n_11(X), n_11(Y))) -> transform_2_out_ga2(n_11(o_22(X, Y)), a_22(n_11(X), n_11(Y)))
transform_2_in_ga2(o_22(X, a_22(Y, Z)), a_22(o_22(X, Y), o_22(X, Z))) -> transform_2_out_ga2(o_22(X, a_22(Y, Z)), a_22(o_22(X, Y), o_22(X, Z)))
transform_2_in_ga2(o_22(a_22(X, Y), Z), a_22(o_22(X, Z), o_22(Y, Z))) -> transform_2_out_ga2(o_22(a_22(X, Y), Z), a_22(o_22(X, Z), o_22(Y, Z)))
transform_2_in_ga2(o_22(X1, Y), o_22(X2, Y)) -> if_transform_2_in_1_ga4(X1, Y, X2, transform_2_in_ga2(X1, X2))
transform_2_in_ga2(o_22(X, Y1), o_22(X, Y2)) -> if_transform_2_in_2_ga4(X, Y1, Y2, transform_2_in_ga2(Y1, Y2))
transform_2_in_ga2(a_22(X1, Y), a_22(X2, Y)) -> if_transform_2_in_3_ga4(X1, Y, X2, transform_2_in_ga2(X1, X2))
transform_2_in_ga2(a_22(X, Y1), a_22(X, Y2)) -> if_transform_2_in_4_ga4(X, Y1, Y2, transform_2_in_ga2(Y1, Y2))
transform_2_in_ga2(n_11(X1), n_11(X2)) -> if_transform_2_in_5_ga3(X1, X2, transform_2_in_ga2(X1, X2))
if_transform_2_in_5_ga3(X1, X2, transform_2_out_ga2(X1, X2)) -> transform_2_out_ga2(n_11(X1), n_11(X2))
if_transform_2_in_4_ga4(X, Y1, Y2, transform_2_out_ga2(Y1, Y2)) -> transform_2_out_ga2(a_22(X, Y1), a_22(X, Y2))
if_transform_2_in_3_ga4(X1, Y, X2, transform_2_out_ga2(X1, X2)) -> transform_2_out_ga2(a_22(X1, Y), a_22(X2, Y))
if_transform_2_in_2_ga4(X, Y1, Y2, transform_2_out_ga2(Y1, Y2)) -> transform_2_out_ga2(o_22(X, Y1), o_22(X, Y2))
if_transform_2_in_1_ga4(X1, Y, X2, transform_2_out_ga2(X1, X2)) -> transform_2_out_ga2(o_22(X1, Y), o_22(X2, Y))
if_cnfequiv_2_in_1_ga3(X, Y, transform_2_out_ga2(X, Z)) -> if_cnfequiv_2_in_2_ga4(X, Y, Z, cnfequiv_2_in_ga2(Z, Y))
cnfequiv_2_in_ga2(X, X) -> cnfequiv_2_out_ga2(X, X)
if_cnfequiv_2_in_2_ga4(X, Y, Z, cnfequiv_2_out_ga2(Z, Y)) -> cnfequiv_2_out_ga2(X, Y)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ PiDP
↳ PrologToPiTRSProof
TRANSFORM_2_IN_GA2(o_22(X1, Y), o_22(X2, Y)) -> TRANSFORM_2_IN_GA2(X1, X2)
TRANSFORM_2_IN_GA2(a_22(X1, Y), a_22(X2, Y)) -> TRANSFORM_2_IN_GA2(X1, X2)
TRANSFORM_2_IN_GA2(a_22(X, Y1), a_22(X, Y2)) -> TRANSFORM_2_IN_GA2(Y1, Y2)
TRANSFORM_2_IN_GA2(n_11(X1), n_11(X2)) -> TRANSFORM_2_IN_GA2(X1, X2)
TRANSFORM_2_IN_GA2(o_22(X, Y1), o_22(X, Y2)) -> TRANSFORM_2_IN_GA2(Y1, Y2)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ QDPSizeChangeProof
↳ PiDP
↳ PrologToPiTRSProof
TRANSFORM_2_IN_GA1(o_22(X1, Y)) -> TRANSFORM_2_IN_GA1(X1)
TRANSFORM_2_IN_GA1(a_22(X1, Y)) -> TRANSFORM_2_IN_GA1(X1)
TRANSFORM_2_IN_GA1(a_22(X, Y1)) -> TRANSFORM_2_IN_GA1(Y1)
TRANSFORM_2_IN_GA1(n_11(X1)) -> TRANSFORM_2_IN_GA1(X1)
TRANSFORM_2_IN_GA1(o_22(X, Y1)) -> TRANSFORM_2_IN_GA1(Y1)
From the DPs we obtained the following set of size-change graphs:
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PrologToPiTRSProof
IF_CNFEQUIV_2_IN_1_GA3(X, Y, transform_2_out_ga2(X, Z)) -> CNFEQUIV_2_IN_GA2(Z, Y)
CNFEQUIV_2_IN_GA2(X, Y) -> IF_CNFEQUIV_2_IN_1_GA3(X, Y, transform_2_in_ga2(X, Z))
cnfequiv_2_in_ga2(X, Y) -> if_cnfequiv_2_in_1_ga3(X, Y, transform_2_in_ga2(X, Z))
transform_2_in_ga2(n_11(n_11(X)), X) -> transform_2_out_ga2(n_11(n_11(X)), X)
transform_2_in_ga2(n_11(a_22(X, Y)), o_22(n_11(X), n_11(Y))) -> transform_2_out_ga2(n_11(a_22(X, Y)), o_22(n_11(X), n_11(Y)))
transform_2_in_ga2(n_11(o_22(X, Y)), a_22(n_11(X), n_11(Y))) -> transform_2_out_ga2(n_11(o_22(X, Y)), a_22(n_11(X), n_11(Y)))
transform_2_in_ga2(o_22(X, a_22(Y, Z)), a_22(o_22(X, Y), o_22(X, Z))) -> transform_2_out_ga2(o_22(X, a_22(Y, Z)), a_22(o_22(X, Y), o_22(X, Z)))
transform_2_in_ga2(o_22(a_22(X, Y), Z), a_22(o_22(X, Z), o_22(Y, Z))) -> transform_2_out_ga2(o_22(a_22(X, Y), Z), a_22(o_22(X, Z), o_22(Y, Z)))
transform_2_in_ga2(o_22(X1, Y), o_22(X2, Y)) -> if_transform_2_in_1_ga4(X1, Y, X2, transform_2_in_ga2(X1, X2))
transform_2_in_ga2(o_22(X, Y1), o_22(X, Y2)) -> if_transform_2_in_2_ga4(X, Y1, Y2, transform_2_in_ga2(Y1, Y2))
transform_2_in_ga2(a_22(X1, Y), a_22(X2, Y)) -> if_transform_2_in_3_ga4(X1, Y, X2, transform_2_in_ga2(X1, X2))
transform_2_in_ga2(a_22(X, Y1), a_22(X, Y2)) -> if_transform_2_in_4_ga4(X, Y1, Y2, transform_2_in_ga2(Y1, Y2))
transform_2_in_ga2(n_11(X1), n_11(X2)) -> if_transform_2_in_5_ga3(X1, X2, transform_2_in_ga2(X1, X2))
if_transform_2_in_5_ga3(X1, X2, transform_2_out_ga2(X1, X2)) -> transform_2_out_ga2(n_11(X1), n_11(X2))
if_transform_2_in_4_ga4(X, Y1, Y2, transform_2_out_ga2(Y1, Y2)) -> transform_2_out_ga2(a_22(X, Y1), a_22(X, Y2))
if_transform_2_in_3_ga4(X1, Y, X2, transform_2_out_ga2(X1, X2)) -> transform_2_out_ga2(a_22(X1, Y), a_22(X2, Y))
if_transform_2_in_2_ga4(X, Y1, Y2, transform_2_out_ga2(Y1, Y2)) -> transform_2_out_ga2(o_22(X, Y1), o_22(X, Y2))
if_transform_2_in_1_ga4(X1, Y, X2, transform_2_out_ga2(X1, X2)) -> transform_2_out_ga2(o_22(X1, Y), o_22(X2, Y))
if_cnfequiv_2_in_1_ga3(X, Y, transform_2_out_ga2(X, Z)) -> if_cnfequiv_2_in_2_ga4(X, Y, Z, cnfequiv_2_in_ga2(Z, Y))
cnfequiv_2_in_ga2(X, X) -> cnfequiv_2_out_ga2(X, X)
if_cnfequiv_2_in_2_ga4(X, Y, Z, cnfequiv_2_out_ga2(Z, Y)) -> cnfequiv_2_out_ga2(X, Y)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ PrologToPiTRSProof
IF_CNFEQUIV_2_IN_1_GA3(X, Y, transform_2_out_ga2(X, Z)) -> CNFEQUIV_2_IN_GA2(Z, Y)
CNFEQUIV_2_IN_GA2(X, Y) -> IF_CNFEQUIV_2_IN_1_GA3(X, Y, transform_2_in_ga2(X, Z))
transform_2_in_ga2(n_11(n_11(X)), X) -> transform_2_out_ga2(n_11(n_11(X)), X)
transform_2_in_ga2(n_11(a_22(X, Y)), o_22(n_11(X), n_11(Y))) -> transform_2_out_ga2(n_11(a_22(X, Y)), o_22(n_11(X), n_11(Y)))
transform_2_in_ga2(n_11(o_22(X, Y)), a_22(n_11(X), n_11(Y))) -> transform_2_out_ga2(n_11(o_22(X, Y)), a_22(n_11(X), n_11(Y)))
transform_2_in_ga2(o_22(X, a_22(Y, Z)), a_22(o_22(X, Y), o_22(X, Z))) -> transform_2_out_ga2(o_22(X, a_22(Y, Z)), a_22(o_22(X, Y), o_22(X, Z)))
transform_2_in_ga2(o_22(a_22(X, Y), Z), a_22(o_22(X, Z), o_22(Y, Z))) -> transform_2_out_ga2(o_22(a_22(X, Y), Z), a_22(o_22(X, Z), o_22(Y, Z)))
transform_2_in_ga2(o_22(X1, Y), o_22(X2, Y)) -> if_transform_2_in_1_ga4(X1, Y, X2, transform_2_in_ga2(X1, X2))
transform_2_in_ga2(o_22(X, Y1), o_22(X, Y2)) -> if_transform_2_in_2_ga4(X, Y1, Y2, transform_2_in_ga2(Y1, Y2))
transform_2_in_ga2(a_22(X1, Y), a_22(X2, Y)) -> if_transform_2_in_3_ga4(X1, Y, X2, transform_2_in_ga2(X1, X2))
transform_2_in_ga2(a_22(X, Y1), a_22(X, Y2)) -> if_transform_2_in_4_ga4(X, Y1, Y2, transform_2_in_ga2(Y1, Y2))
transform_2_in_ga2(n_11(X1), n_11(X2)) -> if_transform_2_in_5_ga3(X1, X2, transform_2_in_ga2(X1, X2))
if_transform_2_in_1_ga4(X1, Y, X2, transform_2_out_ga2(X1, X2)) -> transform_2_out_ga2(o_22(X1, Y), o_22(X2, Y))
if_transform_2_in_2_ga4(X, Y1, Y2, transform_2_out_ga2(Y1, Y2)) -> transform_2_out_ga2(o_22(X, Y1), o_22(X, Y2))
if_transform_2_in_3_ga4(X1, Y, X2, transform_2_out_ga2(X1, X2)) -> transform_2_out_ga2(a_22(X1, Y), a_22(X2, Y))
if_transform_2_in_4_ga4(X, Y1, Y2, transform_2_out_ga2(Y1, Y2)) -> transform_2_out_ga2(a_22(X, Y1), a_22(X, Y2))
if_transform_2_in_5_ga3(X1, X2, transform_2_out_ga2(X1, X2)) -> transform_2_out_ga2(n_11(X1), n_11(X2))
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ PrologToPiTRSProof
IF_CNFEQUIV_2_IN_1_GA1(transform_2_out_ga1(Z)) -> CNFEQUIV_2_IN_GA1(Z)
CNFEQUIV_2_IN_GA1(X) -> IF_CNFEQUIV_2_IN_1_GA1(transform_2_in_ga1(X))
transform_2_in_ga1(n_11(n_11(X))) -> transform_2_out_ga1(X)
transform_2_in_ga1(n_11(a_22(X, Y))) -> transform_2_out_ga1(o_22(n_11(X), n_11(Y)))
transform_2_in_ga1(n_11(o_22(X, Y))) -> transform_2_out_ga1(a_22(n_11(X), n_11(Y)))
transform_2_in_ga1(o_22(X, a_22(Y, Z))) -> transform_2_out_ga1(a_22(o_22(X, Y), o_22(X, Z)))
transform_2_in_ga1(o_22(a_22(X, Y), Z)) -> transform_2_out_ga1(a_22(o_22(X, Z), o_22(Y, Z)))
transform_2_in_ga1(o_22(X1, Y)) -> if_transform_2_in_1_ga2(Y, transform_2_in_ga1(X1))
transform_2_in_ga1(o_22(X, Y1)) -> if_transform_2_in_2_ga2(X, transform_2_in_ga1(Y1))
transform_2_in_ga1(a_22(X1, Y)) -> if_transform_2_in_3_ga2(Y, transform_2_in_ga1(X1))
transform_2_in_ga1(a_22(X, Y1)) -> if_transform_2_in_4_ga2(X, transform_2_in_ga1(Y1))
transform_2_in_ga1(n_11(X1)) -> if_transform_2_in_5_ga1(transform_2_in_ga1(X1))
if_transform_2_in_1_ga2(Y, transform_2_out_ga1(X2)) -> transform_2_out_ga1(o_22(X2, Y))
if_transform_2_in_2_ga2(X, transform_2_out_ga1(Y2)) -> transform_2_out_ga1(o_22(X, Y2))
if_transform_2_in_3_ga2(Y, transform_2_out_ga1(X2)) -> transform_2_out_ga1(a_22(X2, Y))
if_transform_2_in_4_ga2(X, transform_2_out_ga1(Y2)) -> transform_2_out_ga1(a_22(X, Y2))
if_transform_2_in_5_ga1(transform_2_out_ga1(X2)) -> transform_2_out_ga1(n_11(X2))
transform_2_in_ga1(x0)
if_transform_2_in_1_ga2(x0, x1)
if_transform_2_in_2_ga2(x0, x1)
if_transform_2_in_3_ga2(x0, x1)
if_transform_2_in_4_ga2(x0, x1)
if_transform_2_in_5_ga1(x0)
cnfequiv_2_in_ga2(X, Y) -> if_cnfequiv_2_in_1_ga3(X, Y, transform_2_in_ga2(X, Z))
transform_2_in_ga2(n_11(n_11(X)), X) -> transform_2_out_ga2(n_11(n_11(X)), X)
transform_2_in_ga2(n_11(a_22(X, Y)), o_22(n_11(X), n_11(Y))) -> transform_2_out_ga2(n_11(a_22(X, Y)), o_22(n_11(X), n_11(Y)))
transform_2_in_ga2(n_11(o_22(X, Y)), a_22(n_11(X), n_11(Y))) -> transform_2_out_ga2(n_11(o_22(X, Y)), a_22(n_11(X), n_11(Y)))
transform_2_in_ga2(o_22(X, a_22(Y, Z)), a_22(o_22(X, Y), o_22(X, Z))) -> transform_2_out_ga2(o_22(X, a_22(Y, Z)), a_22(o_22(X, Y), o_22(X, Z)))
transform_2_in_ga2(o_22(a_22(X, Y), Z), a_22(o_22(X, Z), o_22(Y, Z))) -> transform_2_out_ga2(o_22(a_22(X, Y), Z), a_22(o_22(X, Z), o_22(Y, Z)))
transform_2_in_ga2(o_22(X1, Y), o_22(X2, Y)) -> if_transform_2_in_1_ga4(X1, Y, X2, transform_2_in_ga2(X1, X2))
transform_2_in_ga2(o_22(X, Y1), o_22(X, Y2)) -> if_transform_2_in_2_ga4(X, Y1, Y2, transform_2_in_ga2(Y1, Y2))
transform_2_in_ga2(a_22(X1, Y), a_22(X2, Y)) -> if_transform_2_in_3_ga4(X1, Y, X2, transform_2_in_ga2(X1, X2))
transform_2_in_ga2(a_22(X, Y1), a_22(X, Y2)) -> if_transform_2_in_4_ga4(X, Y1, Y2, transform_2_in_ga2(Y1, Y2))
transform_2_in_ga2(n_11(X1), n_11(X2)) -> if_transform_2_in_5_ga3(X1, X2, transform_2_in_ga2(X1, X2))
if_transform_2_in_5_ga3(X1, X2, transform_2_out_ga2(X1, X2)) -> transform_2_out_ga2(n_11(X1), n_11(X2))
if_transform_2_in_4_ga4(X, Y1, Y2, transform_2_out_ga2(Y1, Y2)) -> transform_2_out_ga2(a_22(X, Y1), a_22(X, Y2))
if_transform_2_in_3_ga4(X1, Y, X2, transform_2_out_ga2(X1, X2)) -> transform_2_out_ga2(a_22(X1, Y), a_22(X2, Y))
if_transform_2_in_2_ga4(X, Y1, Y2, transform_2_out_ga2(Y1, Y2)) -> transform_2_out_ga2(o_22(X, Y1), o_22(X, Y2))
if_transform_2_in_1_ga4(X1, Y, X2, transform_2_out_ga2(X1, X2)) -> transform_2_out_ga2(o_22(X1, Y), o_22(X2, Y))
if_cnfequiv_2_in_1_ga3(X, Y, transform_2_out_ga2(X, Z)) -> if_cnfequiv_2_in_2_ga4(X, Y, Z, cnfequiv_2_in_ga2(Z, Y))
cnfequiv_2_in_ga2(X, X) -> cnfequiv_2_out_ga2(X, X)
if_cnfequiv_2_in_2_ga4(X, Y, Z, cnfequiv_2_out_ga2(Z, Y)) -> cnfequiv_2_out_ga2(X, Y)
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of PROLOG
↳ PROLOG
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
cnfequiv_2_in_ga2(X, Y) -> if_cnfequiv_2_in_1_ga3(X, Y, transform_2_in_ga2(X, Z))
transform_2_in_ga2(n_11(n_11(X)), X) -> transform_2_out_ga2(n_11(n_11(X)), X)
transform_2_in_ga2(n_11(a_22(X, Y)), o_22(n_11(X), n_11(Y))) -> transform_2_out_ga2(n_11(a_22(X, Y)), o_22(n_11(X), n_11(Y)))
transform_2_in_ga2(n_11(o_22(X, Y)), a_22(n_11(X), n_11(Y))) -> transform_2_out_ga2(n_11(o_22(X, Y)), a_22(n_11(X), n_11(Y)))
transform_2_in_ga2(o_22(X, a_22(Y, Z)), a_22(o_22(X, Y), o_22(X, Z))) -> transform_2_out_ga2(o_22(X, a_22(Y, Z)), a_22(o_22(X, Y), o_22(X, Z)))
transform_2_in_ga2(o_22(a_22(X, Y), Z), a_22(o_22(X, Z), o_22(Y, Z))) -> transform_2_out_ga2(o_22(a_22(X, Y), Z), a_22(o_22(X, Z), o_22(Y, Z)))
transform_2_in_ga2(o_22(X1, Y), o_22(X2, Y)) -> if_transform_2_in_1_ga4(X1, Y, X2, transform_2_in_ga2(X1, X2))
transform_2_in_ga2(o_22(X, Y1), o_22(X, Y2)) -> if_transform_2_in_2_ga4(X, Y1, Y2, transform_2_in_ga2(Y1, Y2))
transform_2_in_ga2(a_22(X1, Y), a_22(X2, Y)) -> if_transform_2_in_3_ga4(X1, Y, X2, transform_2_in_ga2(X1, X2))
transform_2_in_ga2(a_22(X, Y1), a_22(X, Y2)) -> if_transform_2_in_4_ga4(X, Y1, Y2, transform_2_in_ga2(Y1, Y2))
transform_2_in_ga2(n_11(X1), n_11(X2)) -> if_transform_2_in_5_ga3(X1, X2, transform_2_in_ga2(X1, X2))
if_transform_2_in_5_ga3(X1, X2, transform_2_out_ga2(X1, X2)) -> transform_2_out_ga2(n_11(X1), n_11(X2))
if_transform_2_in_4_ga4(X, Y1, Y2, transform_2_out_ga2(Y1, Y2)) -> transform_2_out_ga2(a_22(X, Y1), a_22(X, Y2))
if_transform_2_in_3_ga4(X1, Y, X2, transform_2_out_ga2(X1, X2)) -> transform_2_out_ga2(a_22(X1, Y), a_22(X2, Y))
if_transform_2_in_2_ga4(X, Y1, Y2, transform_2_out_ga2(Y1, Y2)) -> transform_2_out_ga2(o_22(X, Y1), o_22(X, Y2))
if_transform_2_in_1_ga4(X1, Y, X2, transform_2_out_ga2(X1, X2)) -> transform_2_out_ga2(o_22(X1, Y), o_22(X2, Y))
if_cnfequiv_2_in_1_ga3(X, Y, transform_2_out_ga2(X, Z)) -> if_cnfequiv_2_in_2_ga4(X, Y, Z, cnfequiv_2_in_ga2(Z, Y))
cnfequiv_2_in_ga2(X, X) -> cnfequiv_2_out_ga2(X, X)
if_cnfequiv_2_in_2_ga4(X, Y, Z, cnfequiv_2_out_ga2(Z, Y)) -> cnfequiv_2_out_ga2(X, Y)
CNFEQUIV_2_IN_GA2(X, Y) -> IF_CNFEQUIV_2_IN_1_GA3(X, Y, transform_2_in_ga2(X, Z))
CNFEQUIV_2_IN_GA2(X, Y) -> TRANSFORM_2_IN_GA2(X, Z)
TRANSFORM_2_IN_GA2(o_22(X1, Y), o_22(X2, Y)) -> IF_TRANSFORM_2_IN_1_GA4(X1, Y, X2, transform_2_in_ga2(X1, X2))
TRANSFORM_2_IN_GA2(o_22(X1, Y), o_22(X2, Y)) -> TRANSFORM_2_IN_GA2(X1, X2)
TRANSFORM_2_IN_GA2(o_22(X, Y1), o_22(X, Y2)) -> IF_TRANSFORM_2_IN_2_GA4(X, Y1, Y2, transform_2_in_ga2(Y1, Y2))
TRANSFORM_2_IN_GA2(o_22(X, Y1), o_22(X, Y2)) -> TRANSFORM_2_IN_GA2(Y1, Y2)
TRANSFORM_2_IN_GA2(a_22(X1, Y), a_22(X2, Y)) -> IF_TRANSFORM_2_IN_3_GA4(X1, Y, X2, transform_2_in_ga2(X1, X2))
TRANSFORM_2_IN_GA2(a_22(X1, Y), a_22(X2, Y)) -> TRANSFORM_2_IN_GA2(X1, X2)
TRANSFORM_2_IN_GA2(a_22(X, Y1), a_22(X, Y2)) -> IF_TRANSFORM_2_IN_4_GA4(X, Y1, Y2, transform_2_in_ga2(Y1, Y2))
TRANSFORM_2_IN_GA2(a_22(X, Y1), a_22(X, Y2)) -> TRANSFORM_2_IN_GA2(Y1, Y2)
TRANSFORM_2_IN_GA2(n_11(X1), n_11(X2)) -> IF_TRANSFORM_2_IN_5_GA3(X1, X2, transform_2_in_ga2(X1, X2))
TRANSFORM_2_IN_GA2(n_11(X1), n_11(X2)) -> TRANSFORM_2_IN_GA2(X1, X2)
IF_CNFEQUIV_2_IN_1_GA3(X, Y, transform_2_out_ga2(X, Z)) -> IF_CNFEQUIV_2_IN_2_GA4(X, Y, Z, cnfequiv_2_in_ga2(Z, Y))
IF_CNFEQUIV_2_IN_1_GA3(X, Y, transform_2_out_ga2(X, Z)) -> CNFEQUIV_2_IN_GA2(Z, Y)
cnfequiv_2_in_ga2(X, Y) -> if_cnfequiv_2_in_1_ga3(X, Y, transform_2_in_ga2(X, Z))
transform_2_in_ga2(n_11(n_11(X)), X) -> transform_2_out_ga2(n_11(n_11(X)), X)
transform_2_in_ga2(n_11(a_22(X, Y)), o_22(n_11(X), n_11(Y))) -> transform_2_out_ga2(n_11(a_22(X, Y)), o_22(n_11(X), n_11(Y)))
transform_2_in_ga2(n_11(o_22(X, Y)), a_22(n_11(X), n_11(Y))) -> transform_2_out_ga2(n_11(o_22(X, Y)), a_22(n_11(X), n_11(Y)))
transform_2_in_ga2(o_22(X, a_22(Y, Z)), a_22(o_22(X, Y), o_22(X, Z))) -> transform_2_out_ga2(o_22(X, a_22(Y, Z)), a_22(o_22(X, Y), o_22(X, Z)))
transform_2_in_ga2(o_22(a_22(X, Y), Z), a_22(o_22(X, Z), o_22(Y, Z))) -> transform_2_out_ga2(o_22(a_22(X, Y), Z), a_22(o_22(X, Z), o_22(Y, Z)))
transform_2_in_ga2(o_22(X1, Y), o_22(X2, Y)) -> if_transform_2_in_1_ga4(X1, Y, X2, transform_2_in_ga2(X1, X2))
transform_2_in_ga2(o_22(X, Y1), o_22(X, Y2)) -> if_transform_2_in_2_ga4(X, Y1, Y2, transform_2_in_ga2(Y1, Y2))
transform_2_in_ga2(a_22(X1, Y), a_22(X2, Y)) -> if_transform_2_in_3_ga4(X1, Y, X2, transform_2_in_ga2(X1, X2))
transform_2_in_ga2(a_22(X, Y1), a_22(X, Y2)) -> if_transform_2_in_4_ga4(X, Y1, Y2, transform_2_in_ga2(Y1, Y2))
transform_2_in_ga2(n_11(X1), n_11(X2)) -> if_transform_2_in_5_ga3(X1, X2, transform_2_in_ga2(X1, X2))
if_transform_2_in_5_ga3(X1, X2, transform_2_out_ga2(X1, X2)) -> transform_2_out_ga2(n_11(X1), n_11(X2))
if_transform_2_in_4_ga4(X, Y1, Y2, transform_2_out_ga2(Y1, Y2)) -> transform_2_out_ga2(a_22(X, Y1), a_22(X, Y2))
if_transform_2_in_3_ga4(X1, Y, X2, transform_2_out_ga2(X1, X2)) -> transform_2_out_ga2(a_22(X1, Y), a_22(X2, Y))
if_transform_2_in_2_ga4(X, Y1, Y2, transform_2_out_ga2(Y1, Y2)) -> transform_2_out_ga2(o_22(X, Y1), o_22(X, Y2))
if_transform_2_in_1_ga4(X1, Y, X2, transform_2_out_ga2(X1, X2)) -> transform_2_out_ga2(o_22(X1, Y), o_22(X2, Y))
if_cnfequiv_2_in_1_ga3(X, Y, transform_2_out_ga2(X, Z)) -> if_cnfequiv_2_in_2_ga4(X, Y, Z, cnfequiv_2_in_ga2(Z, Y))
cnfequiv_2_in_ga2(X, X) -> cnfequiv_2_out_ga2(X, X)
if_cnfequiv_2_in_2_ga4(X, Y, Z, cnfequiv_2_out_ga2(Z, Y)) -> cnfequiv_2_out_ga2(X, Y)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
CNFEQUIV_2_IN_GA2(X, Y) -> IF_CNFEQUIV_2_IN_1_GA3(X, Y, transform_2_in_ga2(X, Z))
CNFEQUIV_2_IN_GA2(X, Y) -> TRANSFORM_2_IN_GA2(X, Z)
TRANSFORM_2_IN_GA2(o_22(X1, Y), o_22(X2, Y)) -> IF_TRANSFORM_2_IN_1_GA4(X1, Y, X2, transform_2_in_ga2(X1, X2))
TRANSFORM_2_IN_GA2(o_22(X1, Y), o_22(X2, Y)) -> TRANSFORM_2_IN_GA2(X1, X2)
TRANSFORM_2_IN_GA2(o_22(X, Y1), o_22(X, Y2)) -> IF_TRANSFORM_2_IN_2_GA4(X, Y1, Y2, transform_2_in_ga2(Y1, Y2))
TRANSFORM_2_IN_GA2(o_22(X, Y1), o_22(X, Y2)) -> TRANSFORM_2_IN_GA2(Y1, Y2)
TRANSFORM_2_IN_GA2(a_22(X1, Y), a_22(X2, Y)) -> IF_TRANSFORM_2_IN_3_GA4(X1, Y, X2, transform_2_in_ga2(X1, X2))
TRANSFORM_2_IN_GA2(a_22(X1, Y), a_22(X2, Y)) -> TRANSFORM_2_IN_GA2(X1, X2)
TRANSFORM_2_IN_GA2(a_22(X, Y1), a_22(X, Y2)) -> IF_TRANSFORM_2_IN_4_GA4(X, Y1, Y2, transform_2_in_ga2(Y1, Y2))
TRANSFORM_2_IN_GA2(a_22(X, Y1), a_22(X, Y2)) -> TRANSFORM_2_IN_GA2(Y1, Y2)
TRANSFORM_2_IN_GA2(n_11(X1), n_11(X2)) -> IF_TRANSFORM_2_IN_5_GA3(X1, X2, transform_2_in_ga2(X1, X2))
TRANSFORM_2_IN_GA2(n_11(X1), n_11(X2)) -> TRANSFORM_2_IN_GA2(X1, X2)
IF_CNFEQUIV_2_IN_1_GA3(X, Y, transform_2_out_ga2(X, Z)) -> IF_CNFEQUIV_2_IN_2_GA4(X, Y, Z, cnfequiv_2_in_ga2(Z, Y))
IF_CNFEQUIV_2_IN_1_GA3(X, Y, transform_2_out_ga2(X, Z)) -> CNFEQUIV_2_IN_GA2(Z, Y)
cnfequiv_2_in_ga2(X, Y) -> if_cnfequiv_2_in_1_ga3(X, Y, transform_2_in_ga2(X, Z))
transform_2_in_ga2(n_11(n_11(X)), X) -> transform_2_out_ga2(n_11(n_11(X)), X)
transform_2_in_ga2(n_11(a_22(X, Y)), o_22(n_11(X), n_11(Y))) -> transform_2_out_ga2(n_11(a_22(X, Y)), o_22(n_11(X), n_11(Y)))
transform_2_in_ga2(n_11(o_22(X, Y)), a_22(n_11(X), n_11(Y))) -> transform_2_out_ga2(n_11(o_22(X, Y)), a_22(n_11(X), n_11(Y)))
transform_2_in_ga2(o_22(X, a_22(Y, Z)), a_22(o_22(X, Y), o_22(X, Z))) -> transform_2_out_ga2(o_22(X, a_22(Y, Z)), a_22(o_22(X, Y), o_22(X, Z)))
transform_2_in_ga2(o_22(a_22(X, Y), Z), a_22(o_22(X, Z), o_22(Y, Z))) -> transform_2_out_ga2(o_22(a_22(X, Y), Z), a_22(o_22(X, Z), o_22(Y, Z)))
transform_2_in_ga2(o_22(X1, Y), o_22(X2, Y)) -> if_transform_2_in_1_ga4(X1, Y, X2, transform_2_in_ga2(X1, X2))
transform_2_in_ga2(o_22(X, Y1), o_22(X, Y2)) -> if_transform_2_in_2_ga4(X, Y1, Y2, transform_2_in_ga2(Y1, Y2))
transform_2_in_ga2(a_22(X1, Y), a_22(X2, Y)) -> if_transform_2_in_3_ga4(X1, Y, X2, transform_2_in_ga2(X1, X2))
transform_2_in_ga2(a_22(X, Y1), a_22(X, Y2)) -> if_transform_2_in_4_ga4(X, Y1, Y2, transform_2_in_ga2(Y1, Y2))
transform_2_in_ga2(n_11(X1), n_11(X2)) -> if_transform_2_in_5_ga3(X1, X2, transform_2_in_ga2(X1, X2))
if_transform_2_in_5_ga3(X1, X2, transform_2_out_ga2(X1, X2)) -> transform_2_out_ga2(n_11(X1), n_11(X2))
if_transform_2_in_4_ga4(X, Y1, Y2, transform_2_out_ga2(Y1, Y2)) -> transform_2_out_ga2(a_22(X, Y1), a_22(X, Y2))
if_transform_2_in_3_ga4(X1, Y, X2, transform_2_out_ga2(X1, X2)) -> transform_2_out_ga2(a_22(X1, Y), a_22(X2, Y))
if_transform_2_in_2_ga4(X, Y1, Y2, transform_2_out_ga2(Y1, Y2)) -> transform_2_out_ga2(o_22(X, Y1), o_22(X, Y2))
if_transform_2_in_1_ga4(X1, Y, X2, transform_2_out_ga2(X1, X2)) -> transform_2_out_ga2(o_22(X1, Y), o_22(X2, Y))
if_cnfequiv_2_in_1_ga3(X, Y, transform_2_out_ga2(X, Z)) -> if_cnfequiv_2_in_2_ga4(X, Y, Z, cnfequiv_2_in_ga2(Z, Y))
cnfequiv_2_in_ga2(X, X) -> cnfequiv_2_out_ga2(X, X)
if_cnfequiv_2_in_2_ga4(X, Y, Z, cnfequiv_2_out_ga2(Z, Y)) -> cnfequiv_2_out_ga2(X, Y)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
TRANSFORM_2_IN_GA2(o_22(X1, Y), o_22(X2, Y)) -> TRANSFORM_2_IN_GA2(X1, X2)
TRANSFORM_2_IN_GA2(a_22(X1, Y), a_22(X2, Y)) -> TRANSFORM_2_IN_GA2(X1, X2)
TRANSFORM_2_IN_GA2(a_22(X, Y1), a_22(X, Y2)) -> TRANSFORM_2_IN_GA2(Y1, Y2)
TRANSFORM_2_IN_GA2(n_11(X1), n_11(X2)) -> TRANSFORM_2_IN_GA2(X1, X2)
TRANSFORM_2_IN_GA2(o_22(X, Y1), o_22(X, Y2)) -> TRANSFORM_2_IN_GA2(Y1, Y2)
cnfequiv_2_in_ga2(X, Y) -> if_cnfequiv_2_in_1_ga3(X, Y, transform_2_in_ga2(X, Z))
transform_2_in_ga2(n_11(n_11(X)), X) -> transform_2_out_ga2(n_11(n_11(X)), X)
transform_2_in_ga2(n_11(a_22(X, Y)), o_22(n_11(X), n_11(Y))) -> transform_2_out_ga2(n_11(a_22(X, Y)), o_22(n_11(X), n_11(Y)))
transform_2_in_ga2(n_11(o_22(X, Y)), a_22(n_11(X), n_11(Y))) -> transform_2_out_ga2(n_11(o_22(X, Y)), a_22(n_11(X), n_11(Y)))
transform_2_in_ga2(o_22(X, a_22(Y, Z)), a_22(o_22(X, Y), o_22(X, Z))) -> transform_2_out_ga2(o_22(X, a_22(Y, Z)), a_22(o_22(X, Y), o_22(X, Z)))
transform_2_in_ga2(o_22(a_22(X, Y), Z), a_22(o_22(X, Z), o_22(Y, Z))) -> transform_2_out_ga2(o_22(a_22(X, Y), Z), a_22(o_22(X, Z), o_22(Y, Z)))
transform_2_in_ga2(o_22(X1, Y), o_22(X2, Y)) -> if_transform_2_in_1_ga4(X1, Y, X2, transform_2_in_ga2(X1, X2))
transform_2_in_ga2(o_22(X, Y1), o_22(X, Y2)) -> if_transform_2_in_2_ga4(X, Y1, Y2, transform_2_in_ga2(Y1, Y2))
transform_2_in_ga2(a_22(X1, Y), a_22(X2, Y)) -> if_transform_2_in_3_ga4(X1, Y, X2, transform_2_in_ga2(X1, X2))
transform_2_in_ga2(a_22(X, Y1), a_22(X, Y2)) -> if_transform_2_in_4_ga4(X, Y1, Y2, transform_2_in_ga2(Y1, Y2))
transform_2_in_ga2(n_11(X1), n_11(X2)) -> if_transform_2_in_5_ga3(X1, X2, transform_2_in_ga2(X1, X2))
if_transform_2_in_5_ga3(X1, X2, transform_2_out_ga2(X1, X2)) -> transform_2_out_ga2(n_11(X1), n_11(X2))
if_transform_2_in_4_ga4(X, Y1, Y2, transform_2_out_ga2(Y1, Y2)) -> transform_2_out_ga2(a_22(X, Y1), a_22(X, Y2))
if_transform_2_in_3_ga4(X1, Y, X2, transform_2_out_ga2(X1, X2)) -> transform_2_out_ga2(a_22(X1, Y), a_22(X2, Y))
if_transform_2_in_2_ga4(X, Y1, Y2, transform_2_out_ga2(Y1, Y2)) -> transform_2_out_ga2(o_22(X, Y1), o_22(X, Y2))
if_transform_2_in_1_ga4(X1, Y, X2, transform_2_out_ga2(X1, X2)) -> transform_2_out_ga2(o_22(X1, Y), o_22(X2, Y))
if_cnfequiv_2_in_1_ga3(X, Y, transform_2_out_ga2(X, Z)) -> if_cnfequiv_2_in_2_ga4(X, Y, Z, cnfequiv_2_in_ga2(Z, Y))
cnfequiv_2_in_ga2(X, X) -> cnfequiv_2_out_ga2(X, X)
if_cnfequiv_2_in_2_ga4(X, Y, Z, cnfequiv_2_out_ga2(Z, Y)) -> cnfequiv_2_out_ga2(X, Y)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
IF_CNFEQUIV_2_IN_1_GA3(X, Y, transform_2_out_ga2(X, Z)) -> CNFEQUIV_2_IN_GA2(Z, Y)
CNFEQUIV_2_IN_GA2(X, Y) -> IF_CNFEQUIV_2_IN_1_GA3(X, Y, transform_2_in_ga2(X, Z))
cnfequiv_2_in_ga2(X, Y) -> if_cnfequiv_2_in_1_ga3(X, Y, transform_2_in_ga2(X, Z))
transform_2_in_ga2(n_11(n_11(X)), X) -> transform_2_out_ga2(n_11(n_11(X)), X)
transform_2_in_ga2(n_11(a_22(X, Y)), o_22(n_11(X), n_11(Y))) -> transform_2_out_ga2(n_11(a_22(X, Y)), o_22(n_11(X), n_11(Y)))
transform_2_in_ga2(n_11(o_22(X, Y)), a_22(n_11(X), n_11(Y))) -> transform_2_out_ga2(n_11(o_22(X, Y)), a_22(n_11(X), n_11(Y)))
transform_2_in_ga2(o_22(X, a_22(Y, Z)), a_22(o_22(X, Y), o_22(X, Z))) -> transform_2_out_ga2(o_22(X, a_22(Y, Z)), a_22(o_22(X, Y), o_22(X, Z)))
transform_2_in_ga2(o_22(a_22(X, Y), Z), a_22(o_22(X, Z), o_22(Y, Z))) -> transform_2_out_ga2(o_22(a_22(X, Y), Z), a_22(o_22(X, Z), o_22(Y, Z)))
transform_2_in_ga2(o_22(X1, Y), o_22(X2, Y)) -> if_transform_2_in_1_ga4(X1, Y, X2, transform_2_in_ga2(X1, X2))
transform_2_in_ga2(o_22(X, Y1), o_22(X, Y2)) -> if_transform_2_in_2_ga4(X, Y1, Y2, transform_2_in_ga2(Y1, Y2))
transform_2_in_ga2(a_22(X1, Y), a_22(X2, Y)) -> if_transform_2_in_3_ga4(X1, Y, X2, transform_2_in_ga2(X1, X2))
transform_2_in_ga2(a_22(X, Y1), a_22(X, Y2)) -> if_transform_2_in_4_ga4(X, Y1, Y2, transform_2_in_ga2(Y1, Y2))
transform_2_in_ga2(n_11(X1), n_11(X2)) -> if_transform_2_in_5_ga3(X1, X2, transform_2_in_ga2(X1, X2))
if_transform_2_in_5_ga3(X1, X2, transform_2_out_ga2(X1, X2)) -> transform_2_out_ga2(n_11(X1), n_11(X2))
if_transform_2_in_4_ga4(X, Y1, Y2, transform_2_out_ga2(Y1, Y2)) -> transform_2_out_ga2(a_22(X, Y1), a_22(X, Y2))
if_transform_2_in_3_ga4(X1, Y, X2, transform_2_out_ga2(X1, X2)) -> transform_2_out_ga2(a_22(X1, Y), a_22(X2, Y))
if_transform_2_in_2_ga4(X, Y1, Y2, transform_2_out_ga2(Y1, Y2)) -> transform_2_out_ga2(o_22(X, Y1), o_22(X, Y2))
if_transform_2_in_1_ga4(X1, Y, X2, transform_2_out_ga2(X1, X2)) -> transform_2_out_ga2(o_22(X1, Y), o_22(X2, Y))
if_cnfequiv_2_in_1_ga3(X, Y, transform_2_out_ga2(X, Z)) -> if_cnfequiv_2_in_2_ga4(X, Y, Z, cnfequiv_2_in_ga2(Z, Y))
cnfequiv_2_in_ga2(X, X) -> cnfequiv_2_out_ga2(X, X)
if_cnfequiv_2_in_2_ga4(X, Y, Z, cnfequiv_2_out_ga2(Z, Y)) -> cnfequiv_2_out_ga2(X, Y)