Left Termination of the query pattern cnfequiv(b,f) w.r.t. the given Prolog program could not be shown:



PROLOG
  ↳ PrologToPiTRSProof
  ↳ PrologToPiTRSProof

cnfequiv2(X, Y) :- transform2(X, Z), cnfequiv2(Z, Y).
cnfequiv2(X, X).
transform2(n12 (X), X).
transform2(n1(a2(X, Y)), o2(n1(X), n1(Y))).
transform2(n1(o2(X, Y)), a2(n1(X), n1(Y))).
transform2(o2(X, a2(Y, Z)), a2(o2(X, Y), o2(X, Z))).
transform2(o2(a2(X, Y), Z), a2(o2(X, Z), o2(Y, Z))).
transform2(o2(X1, Y), o2(X2, Y)) :- transform2(X1, X2).
transform2(o2(X, Y1), o2(X, Y2)) :- transform2(Y1, Y2).
transform2(a2(X1, Y), a2(X2, Y)) :- transform2(X1, X2).
transform2(a2(X, Y1), a2(X, Y2)) :- transform2(Y1, Y2).
transform2(n1(X1), n1(X2)) :- transform2(X1, X2).


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)

The argument filtering Pi contains the following mapping:
cnfequiv_2_in_ga2(x1, x2)  =  cnfequiv_2_in_ga1(x1)
n_11(x1)  =  n_11(x1)
a_22(x1, x2)  =  a_22(x1, x2)
o_22(x1, x2)  =  o_22(x1, x2)
if_cnfequiv_2_in_1_ga3(x1, x2, x3)  =  if_cnfequiv_2_in_1_ga1(x3)
transform_2_in_ga2(x1, x2)  =  transform_2_in_ga1(x1)
transform_2_out_ga2(x1, x2)  =  transform_2_out_ga1(x2)
if_transform_2_in_1_ga4(x1, x2, x3, x4)  =  if_transform_2_in_1_ga2(x2, x4)
if_transform_2_in_2_ga4(x1, x2, x3, x4)  =  if_transform_2_in_2_ga2(x1, x4)
if_transform_2_in_3_ga4(x1, x2, x3, x4)  =  if_transform_2_in_3_ga2(x2, x4)
if_transform_2_in_4_ga4(x1, x2, x3, x4)  =  if_transform_2_in_4_ga2(x1, x4)
if_transform_2_in_5_ga3(x1, x2, x3)  =  if_transform_2_in_5_ga1(x3)
if_cnfequiv_2_in_2_ga4(x1, x2, x3, x4)  =  if_cnfequiv_2_in_2_ga1(x4)
cnfequiv_2_out_ga2(x1, x2)  =  cnfequiv_2_out_ga1(x2)

Infinitary Constructor Rewriting Termination of PiTRS implies Termination of PROLOG



↳ PROLOG
  ↳ PrologToPiTRSProof
PiTRS
      ↳ DependencyPairsProof
  ↳ PrologToPiTRSProof

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)

The argument filtering Pi contains the following mapping:
cnfequiv_2_in_ga2(x1, x2)  =  cnfequiv_2_in_ga1(x1)
n_11(x1)  =  n_11(x1)
a_22(x1, x2)  =  a_22(x1, x2)
o_22(x1, x2)  =  o_22(x1, x2)
if_cnfequiv_2_in_1_ga3(x1, x2, x3)  =  if_cnfequiv_2_in_1_ga1(x3)
transform_2_in_ga2(x1, x2)  =  transform_2_in_ga1(x1)
transform_2_out_ga2(x1, x2)  =  transform_2_out_ga1(x2)
if_transform_2_in_1_ga4(x1, x2, x3, x4)  =  if_transform_2_in_1_ga2(x2, x4)
if_transform_2_in_2_ga4(x1, x2, x3, x4)  =  if_transform_2_in_2_ga2(x1, x4)
if_transform_2_in_3_ga4(x1, x2, x3, x4)  =  if_transform_2_in_3_ga2(x2, x4)
if_transform_2_in_4_ga4(x1, x2, x3, x4)  =  if_transform_2_in_4_ga2(x1, x4)
if_transform_2_in_5_ga3(x1, x2, x3)  =  if_transform_2_in_5_ga1(x3)
if_cnfequiv_2_in_2_ga4(x1, x2, x3, x4)  =  if_cnfequiv_2_in_2_ga1(x4)
cnfequiv_2_out_ga2(x1, x2)  =  cnfequiv_2_out_ga1(x2)


Pi DP problem:
The TRS P 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))
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)

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)

The argument filtering Pi contains the following mapping:
cnfequiv_2_in_ga2(x1, x2)  =  cnfequiv_2_in_ga1(x1)
n_11(x1)  =  n_11(x1)
a_22(x1, x2)  =  a_22(x1, x2)
o_22(x1, x2)  =  o_22(x1, x2)
if_cnfequiv_2_in_1_ga3(x1, x2, x3)  =  if_cnfequiv_2_in_1_ga1(x3)
transform_2_in_ga2(x1, x2)  =  transform_2_in_ga1(x1)
transform_2_out_ga2(x1, x2)  =  transform_2_out_ga1(x2)
if_transform_2_in_1_ga4(x1, x2, x3, x4)  =  if_transform_2_in_1_ga2(x2, x4)
if_transform_2_in_2_ga4(x1, x2, x3, x4)  =  if_transform_2_in_2_ga2(x1, x4)
if_transform_2_in_3_ga4(x1, x2, x3, x4)  =  if_transform_2_in_3_ga2(x2, x4)
if_transform_2_in_4_ga4(x1, x2, x3, x4)  =  if_transform_2_in_4_ga2(x1, x4)
if_transform_2_in_5_ga3(x1, x2, x3)  =  if_transform_2_in_5_ga1(x3)
if_cnfequiv_2_in_2_ga4(x1, x2, x3, x4)  =  if_cnfequiv_2_in_2_ga1(x4)
cnfequiv_2_out_ga2(x1, x2)  =  cnfequiv_2_out_ga1(x2)
IF_TRANSFORM_2_IN_5_GA3(x1, x2, x3)  =  IF_TRANSFORM_2_IN_5_GA1(x3)
IF_TRANSFORM_2_IN_4_GA4(x1, x2, x3, x4)  =  IF_TRANSFORM_2_IN_4_GA2(x1, x4)
IF_TRANSFORM_2_IN_2_GA4(x1, x2, x3, x4)  =  IF_TRANSFORM_2_IN_2_GA2(x1, x4)
CNFEQUIV_2_IN_GA2(x1, x2)  =  CNFEQUIV_2_IN_GA1(x1)
IF_CNFEQUIV_2_IN_2_GA4(x1, x2, x3, x4)  =  IF_CNFEQUIV_2_IN_2_GA1(x4)
TRANSFORM_2_IN_GA2(x1, x2)  =  TRANSFORM_2_IN_GA1(x1)
IF_TRANSFORM_2_IN_3_GA4(x1, x2, x3, x4)  =  IF_TRANSFORM_2_IN_3_GA2(x2, x4)
IF_TRANSFORM_2_IN_1_GA4(x1, x2, x3, x4)  =  IF_TRANSFORM_2_IN_1_GA2(x2, x4)
IF_CNFEQUIV_2_IN_1_GA3(x1, x2, x3)  =  IF_CNFEQUIV_2_IN_1_GA1(x3)

We have to consider all (P,R,Pi)-chains

↳ PROLOG
  ↳ PrologToPiTRSProof
    ↳ PiTRS
      ↳ DependencyPairsProof
PiDP
          ↳ DependencyGraphProof
  ↳ PrologToPiTRSProof

Pi DP problem:
The TRS P 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))
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)

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)

The argument filtering Pi contains the following mapping:
cnfequiv_2_in_ga2(x1, x2)  =  cnfequiv_2_in_ga1(x1)
n_11(x1)  =  n_11(x1)
a_22(x1, x2)  =  a_22(x1, x2)
o_22(x1, x2)  =  o_22(x1, x2)
if_cnfequiv_2_in_1_ga3(x1, x2, x3)  =  if_cnfequiv_2_in_1_ga1(x3)
transform_2_in_ga2(x1, x2)  =  transform_2_in_ga1(x1)
transform_2_out_ga2(x1, x2)  =  transform_2_out_ga1(x2)
if_transform_2_in_1_ga4(x1, x2, x3, x4)  =  if_transform_2_in_1_ga2(x2, x4)
if_transform_2_in_2_ga4(x1, x2, x3, x4)  =  if_transform_2_in_2_ga2(x1, x4)
if_transform_2_in_3_ga4(x1, x2, x3, x4)  =  if_transform_2_in_3_ga2(x2, x4)
if_transform_2_in_4_ga4(x1, x2, x3, x4)  =  if_transform_2_in_4_ga2(x1, x4)
if_transform_2_in_5_ga3(x1, x2, x3)  =  if_transform_2_in_5_ga1(x3)
if_cnfequiv_2_in_2_ga4(x1, x2, x3, x4)  =  if_cnfequiv_2_in_2_ga1(x4)
cnfequiv_2_out_ga2(x1, x2)  =  cnfequiv_2_out_ga1(x2)
IF_TRANSFORM_2_IN_5_GA3(x1, x2, x3)  =  IF_TRANSFORM_2_IN_5_GA1(x3)
IF_TRANSFORM_2_IN_4_GA4(x1, x2, x3, x4)  =  IF_TRANSFORM_2_IN_4_GA2(x1, x4)
IF_TRANSFORM_2_IN_2_GA4(x1, x2, x3, x4)  =  IF_TRANSFORM_2_IN_2_GA2(x1, x4)
CNFEQUIV_2_IN_GA2(x1, x2)  =  CNFEQUIV_2_IN_GA1(x1)
IF_CNFEQUIV_2_IN_2_GA4(x1, x2, x3, x4)  =  IF_CNFEQUIV_2_IN_2_GA1(x4)
TRANSFORM_2_IN_GA2(x1, x2)  =  TRANSFORM_2_IN_GA1(x1)
IF_TRANSFORM_2_IN_3_GA4(x1, x2, x3, x4)  =  IF_TRANSFORM_2_IN_3_GA2(x2, x4)
IF_TRANSFORM_2_IN_1_GA4(x1, x2, x3, x4)  =  IF_TRANSFORM_2_IN_1_GA2(x2, x4)
IF_CNFEQUIV_2_IN_1_GA3(x1, x2, x3)  =  IF_CNFEQUIV_2_IN_1_GA1(x3)

We have to consider all (P,R,Pi)-chains
The approximation of the Dependency Graph contains 2 SCCs with 7 less nodes.

↳ PROLOG
  ↳ PrologToPiTRSProof
    ↳ PiTRS
      ↳ DependencyPairsProof
        ↳ PiDP
          ↳ DependencyGraphProof
            ↳ AND
PiDP
                ↳ UsableRulesProof
              ↳ PiDP
  ↳ PrologToPiTRSProof

Pi DP problem:
The TRS P consists of the following rules:

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)

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)

The argument filtering Pi contains the following mapping:
cnfequiv_2_in_ga2(x1, x2)  =  cnfequiv_2_in_ga1(x1)
n_11(x1)  =  n_11(x1)
a_22(x1, x2)  =  a_22(x1, x2)
o_22(x1, x2)  =  o_22(x1, x2)
if_cnfequiv_2_in_1_ga3(x1, x2, x3)  =  if_cnfequiv_2_in_1_ga1(x3)
transform_2_in_ga2(x1, x2)  =  transform_2_in_ga1(x1)
transform_2_out_ga2(x1, x2)  =  transform_2_out_ga1(x2)
if_transform_2_in_1_ga4(x1, x2, x3, x4)  =  if_transform_2_in_1_ga2(x2, x4)
if_transform_2_in_2_ga4(x1, x2, x3, x4)  =  if_transform_2_in_2_ga2(x1, x4)
if_transform_2_in_3_ga4(x1, x2, x3, x4)  =  if_transform_2_in_3_ga2(x2, x4)
if_transform_2_in_4_ga4(x1, x2, x3, x4)  =  if_transform_2_in_4_ga2(x1, x4)
if_transform_2_in_5_ga3(x1, x2, x3)  =  if_transform_2_in_5_ga1(x3)
if_cnfequiv_2_in_2_ga4(x1, x2, x3, x4)  =  if_cnfequiv_2_in_2_ga1(x4)
cnfequiv_2_out_ga2(x1, x2)  =  cnfequiv_2_out_ga1(x2)
TRANSFORM_2_IN_GA2(x1, x2)  =  TRANSFORM_2_IN_GA1(x1)

We have to consider all (P,R,Pi)-chains
For (infinitary) constructor rewriting we can delete all non-usable rules from R.

↳ PROLOG
  ↳ PrologToPiTRSProof
    ↳ PiTRS
      ↳ DependencyPairsProof
        ↳ PiDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ PiDP
                ↳ UsableRulesProof
PiDP
                    ↳ PiDPToQDPProof
              ↳ PiDP
  ↳ PrologToPiTRSProof

Pi DP problem:
The TRS P consists of the following rules:

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)

R is empty.
The argument filtering Pi contains the following mapping:
n_11(x1)  =  n_11(x1)
a_22(x1, x2)  =  a_22(x1, x2)
o_22(x1, x2)  =  o_22(x1, x2)
TRANSFORM_2_IN_GA2(x1, x2)  =  TRANSFORM_2_IN_GA1(x1)

We have to consider all (P,R,Pi)-chains
Transforming (infinitary) constructor rewriting Pi-DP problem into ordinary QDP problem by application of Pi.

↳ PROLOG
  ↳ PrologToPiTRSProof
    ↳ PiTRS
      ↳ DependencyPairsProof
        ↳ PiDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ PiDP
                ↳ UsableRulesProof
                  ↳ PiDP
                    ↳ PiDPToQDPProof
QDP
                        ↳ QDPSizeChangeProof
              ↳ PiDP
  ↳ PrologToPiTRSProof

Q DP problem:
The TRS P consists of the following rules:

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)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.
The head symbols of this DP problem are {TRANSFORM_2_IN_GA1}.
By using the subterm criterion together with the size-change analysis we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ PROLOG
  ↳ PrologToPiTRSProof
    ↳ PiTRS
      ↳ DependencyPairsProof
        ↳ PiDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ PiDP
PiDP
                ↳ UsableRulesProof
  ↳ PrologToPiTRSProof

Pi DP problem:
The TRS P consists of the following rules:

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))

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)

The argument filtering Pi contains the following mapping:
cnfequiv_2_in_ga2(x1, x2)  =  cnfequiv_2_in_ga1(x1)
n_11(x1)  =  n_11(x1)
a_22(x1, x2)  =  a_22(x1, x2)
o_22(x1, x2)  =  o_22(x1, x2)
if_cnfequiv_2_in_1_ga3(x1, x2, x3)  =  if_cnfequiv_2_in_1_ga1(x3)
transform_2_in_ga2(x1, x2)  =  transform_2_in_ga1(x1)
transform_2_out_ga2(x1, x2)  =  transform_2_out_ga1(x2)
if_transform_2_in_1_ga4(x1, x2, x3, x4)  =  if_transform_2_in_1_ga2(x2, x4)
if_transform_2_in_2_ga4(x1, x2, x3, x4)  =  if_transform_2_in_2_ga2(x1, x4)
if_transform_2_in_3_ga4(x1, x2, x3, x4)  =  if_transform_2_in_3_ga2(x2, x4)
if_transform_2_in_4_ga4(x1, x2, x3, x4)  =  if_transform_2_in_4_ga2(x1, x4)
if_transform_2_in_5_ga3(x1, x2, x3)  =  if_transform_2_in_5_ga1(x3)
if_cnfequiv_2_in_2_ga4(x1, x2, x3, x4)  =  if_cnfequiv_2_in_2_ga1(x4)
cnfequiv_2_out_ga2(x1, x2)  =  cnfequiv_2_out_ga1(x2)
CNFEQUIV_2_IN_GA2(x1, x2)  =  CNFEQUIV_2_IN_GA1(x1)
IF_CNFEQUIV_2_IN_1_GA3(x1, x2, x3)  =  IF_CNFEQUIV_2_IN_1_GA1(x3)

We have to consider all (P,R,Pi)-chains
For (infinitary) constructor rewriting we can delete all non-usable rules from R.

↳ PROLOG
  ↳ PrologToPiTRSProof
    ↳ PiTRS
      ↳ DependencyPairsProof
        ↳ PiDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ PiDP
              ↳ PiDP
                ↳ UsableRulesProof
PiDP
                    ↳ PiDPToQDPProof
  ↳ PrologToPiTRSProof

Pi DP problem:
The TRS P consists of the following rules:

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))

The TRS R consists of the following rules:

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))

The argument filtering Pi contains the following mapping:
n_11(x1)  =  n_11(x1)
a_22(x1, x2)  =  a_22(x1, x2)
o_22(x1, x2)  =  o_22(x1, x2)
transform_2_in_ga2(x1, x2)  =  transform_2_in_ga1(x1)
transform_2_out_ga2(x1, x2)  =  transform_2_out_ga1(x2)
if_transform_2_in_1_ga4(x1, x2, x3, x4)  =  if_transform_2_in_1_ga2(x2, x4)
if_transform_2_in_2_ga4(x1, x2, x3, x4)  =  if_transform_2_in_2_ga2(x1, x4)
if_transform_2_in_3_ga4(x1, x2, x3, x4)  =  if_transform_2_in_3_ga2(x2, x4)
if_transform_2_in_4_ga4(x1, x2, x3, x4)  =  if_transform_2_in_4_ga2(x1, x4)
if_transform_2_in_5_ga3(x1, x2, x3)  =  if_transform_2_in_5_ga1(x3)
CNFEQUIV_2_IN_GA2(x1, x2)  =  CNFEQUIV_2_IN_GA1(x1)
IF_CNFEQUIV_2_IN_1_GA3(x1, x2, x3)  =  IF_CNFEQUIV_2_IN_1_GA1(x3)

We have to consider all (P,R,Pi)-chains
Transforming (infinitary) constructor rewriting Pi-DP problem into ordinary QDP problem by application of Pi.

↳ PROLOG
  ↳ PrologToPiTRSProof
    ↳ PiTRS
      ↳ DependencyPairsProof
        ↳ PiDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ PiDP
              ↳ PiDP
                ↳ UsableRulesProof
                  ↳ PiDP
                    ↳ PiDPToQDPProof
QDP
  ↳ PrologToPiTRSProof

Q DP problem:
The TRS P consists of the following rules:

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))

The TRS R consists of the following rules:

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))

The set Q consists of the following terms:

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)

We have to consider all (P,Q,R)-chains.
The head symbols of this DP problem are {CNFEQUIV_2_IN_GA1, IF_CNFEQUIV_2_IN_1_GA1}.
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)

The argument filtering Pi contains the following mapping:
cnfequiv_2_in_ga2(x1, x2)  =  cnfequiv_2_in_ga1(x1)
n_11(x1)  =  n_11(x1)
a_22(x1, x2)  =  a_22(x1, x2)
o_22(x1, x2)  =  o_22(x1, x2)
if_cnfequiv_2_in_1_ga3(x1, x2, x3)  =  if_cnfequiv_2_in_1_ga2(x1, x3)
transform_2_in_ga2(x1, x2)  =  transform_2_in_ga1(x1)
transform_2_out_ga2(x1, x2)  =  transform_2_out_ga2(x1, x2)
if_transform_2_in_1_ga4(x1, x2, x3, x4)  =  if_transform_2_in_1_ga3(x1, x2, x4)
if_transform_2_in_2_ga4(x1, x2, x3, x4)  =  if_transform_2_in_2_ga3(x1, x2, x4)
if_transform_2_in_3_ga4(x1, x2, x3, x4)  =  if_transform_2_in_3_ga3(x1, x2, x4)
if_transform_2_in_4_ga4(x1, x2, x3, x4)  =  if_transform_2_in_4_ga3(x1, x2, x4)
if_transform_2_in_5_ga3(x1, x2, x3)  =  if_transform_2_in_5_ga2(x1, x3)
if_cnfequiv_2_in_2_ga4(x1, x2, x3, x4)  =  if_cnfequiv_2_in_2_ga2(x1, x4)
cnfequiv_2_out_ga2(x1, x2)  =  cnfequiv_2_out_ga2(x1, x2)

Infinitary Constructor Rewriting Termination of PiTRS implies Termination of PROLOG



↳ PROLOG
  ↳ PrologToPiTRSProof
  ↳ PrologToPiTRSProof
PiTRS
      ↳ DependencyPairsProof

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)

The argument filtering Pi contains the following mapping:
cnfequiv_2_in_ga2(x1, x2)  =  cnfequiv_2_in_ga1(x1)
n_11(x1)  =  n_11(x1)
a_22(x1, x2)  =  a_22(x1, x2)
o_22(x1, x2)  =  o_22(x1, x2)
if_cnfequiv_2_in_1_ga3(x1, x2, x3)  =  if_cnfequiv_2_in_1_ga2(x1, x3)
transform_2_in_ga2(x1, x2)  =  transform_2_in_ga1(x1)
transform_2_out_ga2(x1, x2)  =  transform_2_out_ga2(x1, x2)
if_transform_2_in_1_ga4(x1, x2, x3, x4)  =  if_transform_2_in_1_ga3(x1, x2, x4)
if_transform_2_in_2_ga4(x1, x2, x3, x4)  =  if_transform_2_in_2_ga3(x1, x2, x4)
if_transform_2_in_3_ga4(x1, x2, x3, x4)  =  if_transform_2_in_3_ga3(x1, x2, x4)
if_transform_2_in_4_ga4(x1, x2, x3, x4)  =  if_transform_2_in_4_ga3(x1, x2, x4)
if_transform_2_in_5_ga3(x1, x2, x3)  =  if_transform_2_in_5_ga2(x1, x3)
if_cnfequiv_2_in_2_ga4(x1, x2, x3, x4)  =  if_cnfequiv_2_in_2_ga2(x1, x4)
cnfequiv_2_out_ga2(x1, x2)  =  cnfequiv_2_out_ga2(x1, x2)


Pi DP problem:
The TRS P 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))
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)

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)

The argument filtering Pi contains the following mapping:
cnfequiv_2_in_ga2(x1, x2)  =  cnfequiv_2_in_ga1(x1)
n_11(x1)  =  n_11(x1)
a_22(x1, x2)  =  a_22(x1, x2)
o_22(x1, x2)  =  o_22(x1, x2)
if_cnfequiv_2_in_1_ga3(x1, x2, x3)  =  if_cnfequiv_2_in_1_ga2(x1, x3)
transform_2_in_ga2(x1, x2)  =  transform_2_in_ga1(x1)
transform_2_out_ga2(x1, x2)  =  transform_2_out_ga2(x1, x2)
if_transform_2_in_1_ga4(x1, x2, x3, x4)  =  if_transform_2_in_1_ga3(x1, x2, x4)
if_transform_2_in_2_ga4(x1, x2, x3, x4)  =  if_transform_2_in_2_ga3(x1, x2, x4)
if_transform_2_in_3_ga4(x1, x2, x3, x4)  =  if_transform_2_in_3_ga3(x1, x2, x4)
if_transform_2_in_4_ga4(x1, x2, x3, x4)  =  if_transform_2_in_4_ga3(x1, x2, x4)
if_transform_2_in_5_ga3(x1, x2, x3)  =  if_transform_2_in_5_ga2(x1, x3)
if_cnfequiv_2_in_2_ga4(x1, x2, x3, x4)  =  if_cnfequiv_2_in_2_ga2(x1, x4)
cnfequiv_2_out_ga2(x1, x2)  =  cnfequiv_2_out_ga2(x1, x2)
IF_TRANSFORM_2_IN_5_GA3(x1, x2, x3)  =  IF_TRANSFORM_2_IN_5_GA2(x1, x3)
IF_TRANSFORM_2_IN_4_GA4(x1, x2, x3, x4)  =  IF_TRANSFORM_2_IN_4_GA3(x1, x2, x4)
IF_TRANSFORM_2_IN_2_GA4(x1, x2, x3, x4)  =  IF_TRANSFORM_2_IN_2_GA3(x1, x2, x4)
CNFEQUIV_2_IN_GA2(x1, x2)  =  CNFEQUIV_2_IN_GA1(x1)
IF_CNFEQUIV_2_IN_2_GA4(x1, x2, x3, x4)  =  IF_CNFEQUIV_2_IN_2_GA2(x1, x4)
TRANSFORM_2_IN_GA2(x1, x2)  =  TRANSFORM_2_IN_GA1(x1)
IF_TRANSFORM_2_IN_3_GA4(x1, x2, x3, x4)  =  IF_TRANSFORM_2_IN_3_GA3(x1, x2, x4)
IF_TRANSFORM_2_IN_1_GA4(x1, x2, x3, x4)  =  IF_TRANSFORM_2_IN_1_GA3(x1, x2, x4)
IF_CNFEQUIV_2_IN_1_GA3(x1, x2, x3)  =  IF_CNFEQUIV_2_IN_1_GA2(x1, x3)

We have to consider all (P,R,Pi)-chains

↳ PROLOG
  ↳ PrologToPiTRSProof
  ↳ PrologToPiTRSProof
    ↳ PiTRS
      ↳ DependencyPairsProof
PiDP
          ↳ DependencyGraphProof

Pi DP problem:
The TRS P 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))
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)

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)

The argument filtering Pi contains the following mapping:
cnfequiv_2_in_ga2(x1, x2)  =  cnfequiv_2_in_ga1(x1)
n_11(x1)  =  n_11(x1)
a_22(x1, x2)  =  a_22(x1, x2)
o_22(x1, x2)  =  o_22(x1, x2)
if_cnfequiv_2_in_1_ga3(x1, x2, x3)  =  if_cnfequiv_2_in_1_ga2(x1, x3)
transform_2_in_ga2(x1, x2)  =  transform_2_in_ga1(x1)
transform_2_out_ga2(x1, x2)  =  transform_2_out_ga2(x1, x2)
if_transform_2_in_1_ga4(x1, x2, x3, x4)  =  if_transform_2_in_1_ga3(x1, x2, x4)
if_transform_2_in_2_ga4(x1, x2, x3, x4)  =  if_transform_2_in_2_ga3(x1, x2, x4)
if_transform_2_in_3_ga4(x1, x2, x3, x4)  =  if_transform_2_in_3_ga3(x1, x2, x4)
if_transform_2_in_4_ga4(x1, x2, x3, x4)  =  if_transform_2_in_4_ga3(x1, x2, x4)
if_transform_2_in_5_ga3(x1, x2, x3)  =  if_transform_2_in_5_ga2(x1, x3)
if_cnfequiv_2_in_2_ga4(x1, x2, x3, x4)  =  if_cnfequiv_2_in_2_ga2(x1, x4)
cnfequiv_2_out_ga2(x1, x2)  =  cnfequiv_2_out_ga2(x1, x2)
IF_TRANSFORM_2_IN_5_GA3(x1, x2, x3)  =  IF_TRANSFORM_2_IN_5_GA2(x1, x3)
IF_TRANSFORM_2_IN_4_GA4(x1, x2, x3, x4)  =  IF_TRANSFORM_2_IN_4_GA3(x1, x2, x4)
IF_TRANSFORM_2_IN_2_GA4(x1, x2, x3, x4)  =  IF_TRANSFORM_2_IN_2_GA3(x1, x2, x4)
CNFEQUIV_2_IN_GA2(x1, x2)  =  CNFEQUIV_2_IN_GA1(x1)
IF_CNFEQUIV_2_IN_2_GA4(x1, x2, x3, x4)  =  IF_CNFEQUIV_2_IN_2_GA2(x1, x4)
TRANSFORM_2_IN_GA2(x1, x2)  =  TRANSFORM_2_IN_GA1(x1)
IF_TRANSFORM_2_IN_3_GA4(x1, x2, x3, x4)  =  IF_TRANSFORM_2_IN_3_GA3(x1, x2, x4)
IF_TRANSFORM_2_IN_1_GA4(x1, x2, x3, x4)  =  IF_TRANSFORM_2_IN_1_GA3(x1, x2, x4)
IF_CNFEQUIV_2_IN_1_GA3(x1, x2, x3)  =  IF_CNFEQUIV_2_IN_1_GA2(x1, x3)

We have to consider all (P,R,Pi)-chains
The approximation of the Dependency Graph contains 2 SCCs with 7 less nodes.

↳ PROLOG
  ↳ PrologToPiTRSProof
  ↳ PrologToPiTRSProof
    ↳ PiTRS
      ↳ DependencyPairsProof
        ↳ PiDP
          ↳ DependencyGraphProof
            ↳ AND
PiDP
              ↳ PiDP

Pi DP problem:
The TRS P consists of the following rules:

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)

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)

The argument filtering Pi contains the following mapping:
cnfequiv_2_in_ga2(x1, x2)  =  cnfequiv_2_in_ga1(x1)
n_11(x1)  =  n_11(x1)
a_22(x1, x2)  =  a_22(x1, x2)
o_22(x1, x2)  =  o_22(x1, x2)
if_cnfequiv_2_in_1_ga3(x1, x2, x3)  =  if_cnfequiv_2_in_1_ga2(x1, x3)
transform_2_in_ga2(x1, x2)  =  transform_2_in_ga1(x1)
transform_2_out_ga2(x1, x2)  =  transform_2_out_ga2(x1, x2)
if_transform_2_in_1_ga4(x1, x2, x3, x4)  =  if_transform_2_in_1_ga3(x1, x2, x4)
if_transform_2_in_2_ga4(x1, x2, x3, x4)  =  if_transform_2_in_2_ga3(x1, x2, x4)
if_transform_2_in_3_ga4(x1, x2, x3, x4)  =  if_transform_2_in_3_ga3(x1, x2, x4)
if_transform_2_in_4_ga4(x1, x2, x3, x4)  =  if_transform_2_in_4_ga3(x1, x2, x4)
if_transform_2_in_5_ga3(x1, x2, x3)  =  if_transform_2_in_5_ga2(x1, x3)
if_cnfequiv_2_in_2_ga4(x1, x2, x3, x4)  =  if_cnfequiv_2_in_2_ga2(x1, x4)
cnfequiv_2_out_ga2(x1, x2)  =  cnfequiv_2_out_ga2(x1, x2)
TRANSFORM_2_IN_GA2(x1, x2)  =  TRANSFORM_2_IN_GA1(x1)

We have to consider all (P,R,Pi)-chains

↳ PROLOG
  ↳ PrologToPiTRSProof
  ↳ PrologToPiTRSProof
    ↳ PiTRS
      ↳ DependencyPairsProof
        ↳ PiDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ PiDP
PiDP

Pi DP problem:
The TRS P consists of the following rules:

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))

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)

The argument filtering Pi contains the following mapping:
cnfequiv_2_in_ga2(x1, x2)  =  cnfequiv_2_in_ga1(x1)
n_11(x1)  =  n_11(x1)
a_22(x1, x2)  =  a_22(x1, x2)
o_22(x1, x2)  =  o_22(x1, x2)
if_cnfequiv_2_in_1_ga3(x1, x2, x3)  =  if_cnfequiv_2_in_1_ga2(x1, x3)
transform_2_in_ga2(x1, x2)  =  transform_2_in_ga1(x1)
transform_2_out_ga2(x1, x2)  =  transform_2_out_ga2(x1, x2)
if_transform_2_in_1_ga4(x1, x2, x3, x4)  =  if_transform_2_in_1_ga3(x1, x2, x4)
if_transform_2_in_2_ga4(x1, x2, x3, x4)  =  if_transform_2_in_2_ga3(x1, x2, x4)
if_transform_2_in_3_ga4(x1, x2, x3, x4)  =  if_transform_2_in_3_ga3(x1, x2, x4)
if_transform_2_in_4_ga4(x1, x2, x3, x4)  =  if_transform_2_in_4_ga3(x1, x2, x4)
if_transform_2_in_5_ga3(x1, x2, x3)  =  if_transform_2_in_5_ga2(x1, x3)
if_cnfequiv_2_in_2_ga4(x1, x2, x3, x4)  =  if_cnfequiv_2_in_2_ga2(x1, x4)
cnfequiv_2_out_ga2(x1, x2)  =  cnfequiv_2_out_ga2(x1, x2)
CNFEQUIV_2_IN_GA2(x1, x2)  =  CNFEQUIV_2_IN_GA1(x1)
IF_CNFEQUIV_2_IN_1_GA3(x1, x2, x3)  =  IF_CNFEQUIV_2_IN_1_GA2(x1, x3)

We have to consider all (P,R,Pi)-chains