(0) Obligation:

Clauses:

transpose(A, B) :- transpose_aux(A, [], B).
transpose_aux([], Y, Z) :- ','(!, eq(Y, Z)).
transpose_aux(R, X1, L) :- ','(head(R, Rh), ','(tail(R, Rt), ','(row2col(Rh, L, Cols, Accm), transpose_aux(Rt, Accm, Cols)))).
row2col([], X, Y, Z) :- ','(!, ','(eq(X, []), ','(eq(Y, []), eq(Z, [])))).
row2col(X, Y, C, A) :- ','(head(X, Xh), ','(head(Y, Yh), ','(head(Yh, Xh), ','(head(A, []), ','(tail(X, Xt), ','(tail(Y, Yt), ','(tail(Yh, Yht), ','(head(C, Yht), ','(tail(C, Ct), ','(tail(A, At), row2col(Xt, Yt, Ct, At))))))))))).
head([], X2).
head(.(H, X3), H).
tail([], []).
tail(.(X4, T), T).
eq(X, X).

Queries:

transpose(g,a).

(1) CutEliminatorProof (SOUND transformation)

Eliminated all cuts by simply ignoring them[PROLOG].

(2) Obligation:

Clauses:

transpose(A, B) :- transpose_aux(A, [], B).
transpose_aux([], Y, Z) :- eq(Y, Z).
transpose_aux(R, X1, L) :- ','(head(R, Rh), ','(tail(R, Rt), ','(row2col(Rh, L, Cols, Accm), transpose_aux(Rt, Accm, Cols)))).
row2col([], X, Y, Z) :- ','(eq(X, []), ','(eq(Y, []), eq(Z, []))).
row2col(X, Y, C, A) :- ','(head(X, Xh), ','(head(Y, Yh), ','(head(Yh, Xh), ','(head(A, []), ','(tail(X, Xt), ','(tail(Y, Yt), ','(tail(Yh, Yht), ','(head(C, Yht), ','(tail(C, Ct), ','(tail(A, At), row2col(Xt, Yt, Ct, At))))))))))).
head([], X2).
head(.(H, X3), H).
tail([], []).
tail(.(X4, T), T).
eq(X, X).

Queries:

transpose(g,a).

(3) PrologToPiTRSProof (SOUND transformation)

We use the technique of [LOPSTR]. With regard to the inferred argument filtering the predicates were used in the following modes:
transpose_in: (b,f)
transpose_aux_in: (b,b,f) (b,f,f)
row2col_in: (f,f,f,f)
Transforming Prolog into the following Term Rewriting System:
Pi-finite rewrite system:
The TRS R consists of the following rules:

transpose_in_ga(A, B) → U1_ga(A, B, transpose_aux_in_gga(A, [], B))
transpose_aux_in_gga([], Y, Z) → U2_gga(Y, Z, eq_in_ga(Y, Z))
eq_in_ga(X, X) → eq_out_ga(X, X)
U2_gga(Y, Z, eq_out_ga(Y, Z)) → transpose_aux_out_gga([], Y, Z)
transpose_aux_in_gga(R, X1, L) → U3_gga(R, X1, L, head_in_ga(R, Rh))
head_in_ga([], X2) → head_out_ga([], X2)
head_in_ga(.(H, X3), H) → head_out_ga(.(H, X3), H)
U3_gga(R, X1, L, head_out_ga(R, Rh)) → U4_gga(R, X1, L, Rh, tail_in_ga(R, Rt))
tail_in_ga([], []) → tail_out_ga([], [])
tail_in_ga(.(X4, T), T) → tail_out_ga(.(X4, T), T)
U4_gga(R, X1, L, Rh, tail_out_ga(R, Rt)) → U5_gga(R, X1, L, Rh, Rt, row2col_in_aaaa(Rh, L, Cols, Accm))
row2col_in_aaaa([], X, Y, Z) → U7_aaaa(X, Y, Z, eq_in_ag(X, []))
eq_in_ag(X, X) → eq_out_ag(X, X)
U7_aaaa(X, Y, Z, eq_out_ag(X, [])) → U8_aaaa(X, Y, Z, eq_in_ag(Y, []))
U8_aaaa(X, Y, Z, eq_out_ag(Y, [])) → U9_aaaa(X, Y, Z, eq_in_ag(Z, []))
U9_aaaa(X, Y, Z, eq_out_ag(Z, [])) → row2col_out_aaaa([], X, Y, Z)
row2col_in_aaaa(X, Y, C, A) → U10_aaaa(X, Y, C, A, head_in_aa(X, Xh))
head_in_aa([], X2) → head_out_aa([], X2)
head_in_aa(.(H, X3), H) → head_out_aa(.(H, X3), H)
U10_aaaa(X, Y, C, A, head_out_aa(X, Xh)) → U11_aaaa(X, Y, C, A, Xh, head_in_aa(Y, Yh))
U11_aaaa(X, Y, C, A, Xh, head_out_aa(Y, Yh)) → U12_aaaa(X, Y, C, A, Xh, Yh, head_in_aa(Yh, Xh))
U12_aaaa(X, Y, C, A, Xh, Yh, head_out_aa(Yh, Xh)) → U13_aaaa(X, Y, C, A, Xh, Yh, head_in_ag(A, []))
head_in_ag([], X2) → head_out_ag([], X2)
head_in_ag(.(H, X3), H) → head_out_ag(.(H, X3), H)
U13_aaaa(X, Y, C, A, Xh, Yh, head_out_ag(A, [])) → U14_aaaa(X, Y, C, A, Xh, Yh, tail_in_aa(X, Xt))
tail_in_aa([], []) → tail_out_aa([], [])
tail_in_aa(.(X4, T), T) → tail_out_aa(.(X4, T), T)
U14_aaaa(X, Y, C, A, Xh, Yh, tail_out_aa(X, Xt)) → U15_aaaa(X, Y, C, A, Xh, Yh, Xt, tail_in_aa(Y, Yt))
U15_aaaa(X, Y, C, A, Xh, Yh, Xt, tail_out_aa(Y, Yt)) → U16_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, tail_in_aa(Yh, Yht))
U16_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, tail_out_aa(Yh, Yht)) → U17_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_in_aa(C, Yht))
U17_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_out_aa(C, Yht)) → U18_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_in_aa(C, Ct))
U18_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_out_aa(C, Ct)) → U19_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_in_aa(A, At))
U19_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_out_aa(A, At)) → U20_aaaa(X, Y, C, A, row2col_in_aaaa(Xt, Yt, Ct, At))
U20_aaaa(X, Y, C, A, row2col_out_aaaa(Xt, Yt, Ct, At)) → row2col_out_aaaa(X, Y, C, A)
U5_gga(R, X1, L, Rh, Rt, row2col_out_aaaa(Rh, L, Cols, Accm)) → U6_gga(R, X1, L, transpose_aux_in_gaa(Rt, Accm, Cols))
transpose_aux_in_gaa([], Y, Z) → U2_gaa(Y, Z, eq_in_aa(Y, Z))
eq_in_aa(X, X) → eq_out_aa(X, X)
U2_gaa(Y, Z, eq_out_aa(Y, Z)) → transpose_aux_out_gaa([], Y, Z)
transpose_aux_in_gaa(R, X1, L) → U3_gaa(R, X1, L, head_in_ga(R, Rh))
U3_gaa(R, X1, L, head_out_ga(R, Rh)) → U4_gaa(R, X1, L, Rh, tail_in_ga(R, Rt))
U4_gaa(R, X1, L, Rh, tail_out_ga(R, Rt)) → U5_gaa(R, X1, L, Rh, Rt, row2col_in_aaaa(Rh, L, Cols, Accm))
U5_gaa(R, X1, L, Rh, Rt, row2col_out_aaaa(Rh, L, Cols, Accm)) → U6_gaa(R, X1, L, transpose_aux_in_gaa(Rt, Accm, Cols))
U6_gaa(R, X1, L, transpose_aux_out_gaa(Rt, Accm, Cols)) → transpose_aux_out_gaa(R, X1, L)
U6_gga(R, X1, L, transpose_aux_out_gaa(Rt, Accm, Cols)) → transpose_aux_out_gga(R, X1, L)
U1_ga(A, B, transpose_aux_out_gga(A, [], B)) → transpose_out_ga(A, B)

The argument filtering Pi contains the following mapping:
transpose_in_ga(x1, x2)  =  transpose_in_ga(x1)
U1_ga(x1, x2, x3)  =  U1_ga(x3)
transpose_aux_in_gga(x1, x2, x3)  =  transpose_aux_in_gga(x1, x2)
[]  =  []
U2_gga(x1, x2, x3)  =  U2_gga(x3)
eq_in_ga(x1, x2)  =  eq_in_ga(x1)
eq_out_ga(x1, x2)  =  eq_out_ga(x2)
transpose_aux_out_gga(x1, x2, x3)  =  transpose_aux_out_gga
U3_gga(x1, x2, x3, x4)  =  U3_gga(x1, x4)
head_in_ga(x1, x2)  =  head_in_ga(x1)
head_out_ga(x1, x2)  =  head_out_ga
.(x1, x2)  =  .(x1, x2)
U4_gga(x1, x2, x3, x4, x5)  =  U4_gga(x5)
tail_in_ga(x1, x2)  =  tail_in_ga(x1)
tail_out_ga(x1, x2)  =  tail_out_ga(x2)
U5_gga(x1, x2, x3, x4, x5, x6)  =  U5_gga(x5, x6)
row2col_in_aaaa(x1, x2, x3, x4)  =  row2col_in_aaaa
U7_aaaa(x1, x2, x3, x4)  =  U7_aaaa(x4)
eq_in_ag(x1, x2)  =  eq_in_ag(x2)
eq_out_ag(x1, x2)  =  eq_out_ag(x1)
U8_aaaa(x1, x2, x3, x4)  =  U8_aaaa(x4)
U9_aaaa(x1, x2, x3, x4)  =  U9_aaaa(x4)
row2col_out_aaaa(x1, x2, x3, x4)  =  row2col_out_aaaa
U10_aaaa(x1, x2, x3, x4, x5)  =  U10_aaaa(x5)
head_in_aa(x1, x2)  =  head_in_aa
head_out_aa(x1, x2)  =  head_out_aa
U11_aaaa(x1, x2, x3, x4, x5, x6)  =  U11_aaaa(x6)
U12_aaaa(x1, x2, x3, x4, x5, x6, x7)  =  U12_aaaa(x7)
U13_aaaa(x1, x2, x3, x4, x5, x6, x7)  =  U13_aaaa(x7)
head_in_ag(x1, x2)  =  head_in_ag(x2)
head_out_ag(x1, x2)  =  head_out_ag
U14_aaaa(x1, x2, x3, x4, x5, x6, x7)  =  U14_aaaa(x7)
tail_in_aa(x1, x2)  =  tail_in_aa
tail_out_aa(x1, x2)  =  tail_out_aa
U15_aaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U15_aaaa(x8)
U16_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U16_aaaa(x9)
U17_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U17_aaaa(x10)
U18_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U18_aaaa(x10)
U19_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U19_aaaa(x11)
U20_aaaa(x1, x2, x3, x4, x5)  =  U20_aaaa(x5)
U6_gga(x1, x2, x3, x4)  =  U6_gga(x4)
transpose_aux_in_gaa(x1, x2, x3)  =  transpose_aux_in_gaa(x1)
U2_gaa(x1, x2, x3)  =  U2_gaa(x3)
eq_in_aa(x1, x2)  =  eq_in_aa
eq_out_aa(x1, x2)  =  eq_out_aa
transpose_aux_out_gaa(x1, x2, x3)  =  transpose_aux_out_gaa
U3_gaa(x1, x2, x3, x4)  =  U3_gaa(x1, x4)
U4_gaa(x1, x2, x3, x4, x5)  =  U4_gaa(x5)
U5_gaa(x1, x2, x3, x4, x5, x6)  =  U5_gaa(x5, x6)
U6_gaa(x1, x2, x3, x4)  =  U6_gaa(x4)
transpose_out_ga(x1, x2)  =  transpose_out_ga

Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog

(4) Obligation:

Pi-finite rewrite system:
The TRS R consists of the following rules:

transpose_in_ga(A, B) → U1_ga(A, B, transpose_aux_in_gga(A, [], B))
transpose_aux_in_gga([], Y, Z) → U2_gga(Y, Z, eq_in_ga(Y, Z))
eq_in_ga(X, X) → eq_out_ga(X, X)
U2_gga(Y, Z, eq_out_ga(Y, Z)) → transpose_aux_out_gga([], Y, Z)
transpose_aux_in_gga(R, X1, L) → U3_gga(R, X1, L, head_in_ga(R, Rh))
head_in_ga([], X2) → head_out_ga([], X2)
head_in_ga(.(H, X3), H) → head_out_ga(.(H, X3), H)
U3_gga(R, X1, L, head_out_ga(R, Rh)) → U4_gga(R, X1, L, Rh, tail_in_ga(R, Rt))
tail_in_ga([], []) → tail_out_ga([], [])
tail_in_ga(.(X4, T), T) → tail_out_ga(.(X4, T), T)
U4_gga(R, X1, L, Rh, tail_out_ga(R, Rt)) → U5_gga(R, X1, L, Rh, Rt, row2col_in_aaaa(Rh, L, Cols, Accm))
row2col_in_aaaa([], X, Y, Z) → U7_aaaa(X, Y, Z, eq_in_ag(X, []))
eq_in_ag(X, X) → eq_out_ag(X, X)
U7_aaaa(X, Y, Z, eq_out_ag(X, [])) → U8_aaaa(X, Y, Z, eq_in_ag(Y, []))
U8_aaaa(X, Y, Z, eq_out_ag(Y, [])) → U9_aaaa(X, Y, Z, eq_in_ag(Z, []))
U9_aaaa(X, Y, Z, eq_out_ag(Z, [])) → row2col_out_aaaa([], X, Y, Z)
row2col_in_aaaa(X, Y, C, A) → U10_aaaa(X, Y, C, A, head_in_aa(X, Xh))
head_in_aa([], X2) → head_out_aa([], X2)
head_in_aa(.(H, X3), H) → head_out_aa(.(H, X3), H)
U10_aaaa(X, Y, C, A, head_out_aa(X, Xh)) → U11_aaaa(X, Y, C, A, Xh, head_in_aa(Y, Yh))
U11_aaaa(X, Y, C, A, Xh, head_out_aa(Y, Yh)) → U12_aaaa(X, Y, C, A, Xh, Yh, head_in_aa(Yh, Xh))
U12_aaaa(X, Y, C, A, Xh, Yh, head_out_aa(Yh, Xh)) → U13_aaaa(X, Y, C, A, Xh, Yh, head_in_ag(A, []))
head_in_ag([], X2) → head_out_ag([], X2)
head_in_ag(.(H, X3), H) → head_out_ag(.(H, X3), H)
U13_aaaa(X, Y, C, A, Xh, Yh, head_out_ag(A, [])) → U14_aaaa(X, Y, C, A, Xh, Yh, tail_in_aa(X, Xt))
tail_in_aa([], []) → tail_out_aa([], [])
tail_in_aa(.(X4, T), T) → tail_out_aa(.(X4, T), T)
U14_aaaa(X, Y, C, A, Xh, Yh, tail_out_aa(X, Xt)) → U15_aaaa(X, Y, C, A, Xh, Yh, Xt, tail_in_aa(Y, Yt))
U15_aaaa(X, Y, C, A, Xh, Yh, Xt, tail_out_aa(Y, Yt)) → U16_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, tail_in_aa(Yh, Yht))
U16_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, tail_out_aa(Yh, Yht)) → U17_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_in_aa(C, Yht))
U17_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_out_aa(C, Yht)) → U18_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_in_aa(C, Ct))
U18_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_out_aa(C, Ct)) → U19_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_in_aa(A, At))
U19_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_out_aa(A, At)) → U20_aaaa(X, Y, C, A, row2col_in_aaaa(Xt, Yt, Ct, At))
U20_aaaa(X, Y, C, A, row2col_out_aaaa(Xt, Yt, Ct, At)) → row2col_out_aaaa(X, Y, C, A)
U5_gga(R, X1, L, Rh, Rt, row2col_out_aaaa(Rh, L, Cols, Accm)) → U6_gga(R, X1, L, transpose_aux_in_gaa(Rt, Accm, Cols))
transpose_aux_in_gaa([], Y, Z) → U2_gaa(Y, Z, eq_in_aa(Y, Z))
eq_in_aa(X, X) → eq_out_aa(X, X)
U2_gaa(Y, Z, eq_out_aa(Y, Z)) → transpose_aux_out_gaa([], Y, Z)
transpose_aux_in_gaa(R, X1, L) → U3_gaa(R, X1, L, head_in_ga(R, Rh))
U3_gaa(R, X1, L, head_out_ga(R, Rh)) → U4_gaa(R, X1, L, Rh, tail_in_ga(R, Rt))
U4_gaa(R, X1, L, Rh, tail_out_ga(R, Rt)) → U5_gaa(R, X1, L, Rh, Rt, row2col_in_aaaa(Rh, L, Cols, Accm))
U5_gaa(R, X1, L, Rh, Rt, row2col_out_aaaa(Rh, L, Cols, Accm)) → U6_gaa(R, X1, L, transpose_aux_in_gaa(Rt, Accm, Cols))
U6_gaa(R, X1, L, transpose_aux_out_gaa(Rt, Accm, Cols)) → transpose_aux_out_gaa(R, X1, L)
U6_gga(R, X1, L, transpose_aux_out_gaa(Rt, Accm, Cols)) → transpose_aux_out_gga(R, X1, L)
U1_ga(A, B, transpose_aux_out_gga(A, [], B)) → transpose_out_ga(A, B)

The argument filtering Pi contains the following mapping:
transpose_in_ga(x1, x2)  =  transpose_in_ga(x1)
U1_ga(x1, x2, x3)  =  U1_ga(x3)
transpose_aux_in_gga(x1, x2, x3)  =  transpose_aux_in_gga(x1, x2)
[]  =  []
U2_gga(x1, x2, x3)  =  U2_gga(x3)
eq_in_ga(x1, x2)  =  eq_in_ga(x1)
eq_out_ga(x1, x2)  =  eq_out_ga(x2)
transpose_aux_out_gga(x1, x2, x3)  =  transpose_aux_out_gga
U3_gga(x1, x2, x3, x4)  =  U3_gga(x1, x4)
head_in_ga(x1, x2)  =  head_in_ga(x1)
head_out_ga(x1, x2)  =  head_out_ga
.(x1, x2)  =  .(x1, x2)
U4_gga(x1, x2, x3, x4, x5)  =  U4_gga(x5)
tail_in_ga(x1, x2)  =  tail_in_ga(x1)
tail_out_ga(x1, x2)  =  tail_out_ga(x2)
U5_gga(x1, x2, x3, x4, x5, x6)  =  U5_gga(x5, x6)
row2col_in_aaaa(x1, x2, x3, x4)  =  row2col_in_aaaa
U7_aaaa(x1, x2, x3, x4)  =  U7_aaaa(x4)
eq_in_ag(x1, x2)  =  eq_in_ag(x2)
eq_out_ag(x1, x2)  =  eq_out_ag(x1)
U8_aaaa(x1, x2, x3, x4)  =  U8_aaaa(x4)
U9_aaaa(x1, x2, x3, x4)  =  U9_aaaa(x4)
row2col_out_aaaa(x1, x2, x3, x4)  =  row2col_out_aaaa
U10_aaaa(x1, x2, x3, x4, x5)  =  U10_aaaa(x5)
head_in_aa(x1, x2)  =  head_in_aa
head_out_aa(x1, x2)  =  head_out_aa
U11_aaaa(x1, x2, x3, x4, x5, x6)  =  U11_aaaa(x6)
U12_aaaa(x1, x2, x3, x4, x5, x6, x7)  =  U12_aaaa(x7)
U13_aaaa(x1, x2, x3, x4, x5, x6, x7)  =  U13_aaaa(x7)
head_in_ag(x1, x2)  =  head_in_ag(x2)
head_out_ag(x1, x2)  =  head_out_ag
U14_aaaa(x1, x2, x3, x4, x5, x6, x7)  =  U14_aaaa(x7)
tail_in_aa(x1, x2)  =  tail_in_aa
tail_out_aa(x1, x2)  =  tail_out_aa
U15_aaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U15_aaaa(x8)
U16_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U16_aaaa(x9)
U17_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U17_aaaa(x10)
U18_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U18_aaaa(x10)
U19_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U19_aaaa(x11)
U20_aaaa(x1, x2, x3, x4, x5)  =  U20_aaaa(x5)
U6_gga(x1, x2, x3, x4)  =  U6_gga(x4)
transpose_aux_in_gaa(x1, x2, x3)  =  transpose_aux_in_gaa(x1)
U2_gaa(x1, x2, x3)  =  U2_gaa(x3)
eq_in_aa(x1, x2)  =  eq_in_aa
eq_out_aa(x1, x2)  =  eq_out_aa
transpose_aux_out_gaa(x1, x2, x3)  =  transpose_aux_out_gaa
U3_gaa(x1, x2, x3, x4)  =  U3_gaa(x1, x4)
U4_gaa(x1, x2, x3, x4, x5)  =  U4_gaa(x5)
U5_gaa(x1, x2, x3, x4, x5, x6)  =  U5_gaa(x5, x6)
U6_gaa(x1, x2, x3, x4)  =  U6_gaa(x4)
transpose_out_ga(x1, x2)  =  transpose_out_ga

(5) DependencyPairsProof (EQUIVALENT transformation)

Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem:
Pi DP problem:
The TRS P consists of the following rules:

TRANSPOSE_IN_GA(A, B) → U1_GA(A, B, transpose_aux_in_gga(A, [], B))
TRANSPOSE_IN_GA(A, B) → TRANSPOSE_AUX_IN_GGA(A, [], B)
TRANSPOSE_AUX_IN_GGA([], Y, Z) → U2_GGA(Y, Z, eq_in_ga(Y, Z))
TRANSPOSE_AUX_IN_GGA([], Y, Z) → EQ_IN_GA(Y, Z)
TRANSPOSE_AUX_IN_GGA(R, X1, L) → U3_GGA(R, X1, L, head_in_ga(R, Rh))
TRANSPOSE_AUX_IN_GGA(R, X1, L) → HEAD_IN_GA(R, Rh)
U3_GGA(R, X1, L, head_out_ga(R, Rh)) → U4_GGA(R, X1, L, Rh, tail_in_ga(R, Rt))
U3_GGA(R, X1, L, head_out_ga(R, Rh)) → TAIL_IN_GA(R, Rt)
U4_GGA(R, X1, L, Rh, tail_out_ga(R, Rt)) → U5_GGA(R, X1, L, Rh, Rt, row2col_in_aaaa(Rh, L, Cols, Accm))
U4_GGA(R, X1, L, Rh, tail_out_ga(R, Rt)) → ROW2COL_IN_AAAA(Rh, L, Cols, Accm)
ROW2COL_IN_AAAA([], X, Y, Z) → U7_AAAA(X, Y, Z, eq_in_ag(X, []))
ROW2COL_IN_AAAA([], X, Y, Z) → EQ_IN_AG(X, [])
U7_AAAA(X, Y, Z, eq_out_ag(X, [])) → U8_AAAA(X, Y, Z, eq_in_ag(Y, []))
U7_AAAA(X, Y, Z, eq_out_ag(X, [])) → EQ_IN_AG(Y, [])
U8_AAAA(X, Y, Z, eq_out_ag(Y, [])) → U9_AAAA(X, Y, Z, eq_in_ag(Z, []))
U8_AAAA(X, Y, Z, eq_out_ag(Y, [])) → EQ_IN_AG(Z, [])
ROW2COL_IN_AAAA(X, Y, C, A) → U10_AAAA(X, Y, C, A, head_in_aa(X, Xh))
ROW2COL_IN_AAAA(X, Y, C, A) → HEAD_IN_AA(X, Xh)
U10_AAAA(X, Y, C, A, head_out_aa(X, Xh)) → U11_AAAA(X, Y, C, A, Xh, head_in_aa(Y, Yh))
U10_AAAA(X, Y, C, A, head_out_aa(X, Xh)) → HEAD_IN_AA(Y, Yh)
U11_AAAA(X, Y, C, A, Xh, head_out_aa(Y, Yh)) → U12_AAAA(X, Y, C, A, Xh, Yh, head_in_aa(Yh, Xh))
U11_AAAA(X, Y, C, A, Xh, head_out_aa(Y, Yh)) → HEAD_IN_AA(Yh, Xh)
U12_AAAA(X, Y, C, A, Xh, Yh, head_out_aa(Yh, Xh)) → U13_AAAA(X, Y, C, A, Xh, Yh, head_in_ag(A, []))
U12_AAAA(X, Y, C, A, Xh, Yh, head_out_aa(Yh, Xh)) → HEAD_IN_AG(A, [])
U13_AAAA(X, Y, C, A, Xh, Yh, head_out_ag(A, [])) → U14_AAAA(X, Y, C, A, Xh, Yh, tail_in_aa(X, Xt))
U13_AAAA(X, Y, C, A, Xh, Yh, head_out_ag(A, [])) → TAIL_IN_AA(X, Xt)
U14_AAAA(X, Y, C, A, Xh, Yh, tail_out_aa(X, Xt)) → U15_AAAA(X, Y, C, A, Xh, Yh, Xt, tail_in_aa(Y, Yt))
U14_AAAA(X, Y, C, A, Xh, Yh, tail_out_aa(X, Xt)) → TAIL_IN_AA(Y, Yt)
U15_AAAA(X, Y, C, A, Xh, Yh, Xt, tail_out_aa(Y, Yt)) → U16_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, tail_in_aa(Yh, Yht))
U15_AAAA(X, Y, C, A, Xh, Yh, Xt, tail_out_aa(Y, Yt)) → TAIL_IN_AA(Yh, Yht)
U16_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, tail_out_aa(Yh, Yht)) → U17_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_in_aa(C, Yht))
U16_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, tail_out_aa(Yh, Yht)) → HEAD_IN_AA(C, Yht)
U17_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_out_aa(C, Yht)) → U18_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_in_aa(C, Ct))
U17_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_out_aa(C, Yht)) → TAIL_IN_AA(C, Ct)
U18_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_out_aa(C, Ct)) → U19_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_in_aa(A, At))
U18_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_out_aa(C, Ct)) → TAIL_IN_AA(A, At)
U19_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_out_aa(A, At)) → U20_AAAA(X, Y, C, A, row2col_in_aaaa(Xt, Yt, Ct, At))
U19_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_out_aa(A, At)) → ROW2COL_IN_AAAA(Xt, Yt, Ct, At)
U5_GGA(R, X1, L, Rh, Rt, row2col_out_aaaa(Rh, L, Cols, Accm)) → U6_GGA(R, X1, L, transpose_aux_in_gaa(Rt, Accm, Cols))
U5_GGA(R, X1, L, Rh, Rt, row2col_out_aaaa(Rh, L, Cols, Accm)) → TRANSPOSE_AUX_IN_GAA(Rt, Accm, Cols)
TRANSPOSE_AUX_IN_GAA([], Y, Z) → U2_GAA(Y, Z, eq_in_aa(Y, Z))
TRANSPOSE_AUX_IN_GAA([], Y, Z) → EQ_IN_AA(Y, Z)
TRANSPOSE_AUX_IN_GAA(R, X1, L) → U3_GAA(R, X1, L, head_in_ga(R, Rh))
TRANSPOSE_AUX_IN_GAA(R, X1, L) → HEAD_IN_GA(R, Rh)
U3_GAA(R, X1, L, head_out_ga(R, Rh)) → U4_GAA(R, X1, L, Rh, tail_in_ga(R, Rt))
U3_GAA(R, X1, L, head_out_ga(R, Rh)) → TAIL_IN_GA(R, Rt)
U4_GAA(R, X1, L, Rh, tail_out_ga(R, Rt)) → U5_GAA(R, X1, L, Rh, Rt, row2col_in_aaaa(Rh, L, Cols, Accm))
U4_GAA(R, X1, L, Rh, tail_out_ga(R, Rt)) → ROW2COL_IN_AAAA(Rh, L, Cols, Accm)
U5_GAA(R, X1, L, Rh, Rt, row2col_out_aaaa(Rh, L, Cols, Accm)) → U6_GAA(R, X1, L, transpose_aux_in_gaa(Rt, Accm, Cols))
U5_GAA(R, X1, L, Rh, Rt, row2col_out_aaaa(Rh, L, Cols, Accm)) → TRANSPOSE_AUX_IN_GAA(Rt, Accm, Cols)

The TRS R consists of the following rules:

transpose_in_ga(A, B) → U1_ga(A, B, transpose_aux_in_gga(A, [], B))
transpose_aux_in_gga([], Y, Z) → U2_gga(Y, Z, eq_in_ga(Y, Z))
eq_in_ga(X, X) → eq_out_ga(X, X)
U2_gga(Y, Z, eq_out_ga(Y, Z)) → transpose_aux_out_gga([], Y, Z)
transpose_aux_in_gga(R, X1, L) → U3_gga(R, X1, L, head_in_ga(R, Rh))
head_in_ga([], X2) → head_out_ga([], X2)
head_in_ga(.(H, X3), H) → head_out_ga(.(H, X3), H)
U3_gga(R, X1, L, head_out_ga(R, Rh)) → U4_gga(R, X1, L, Rh, tail_in_ga(R, Rt))
tail_in_ga([], []) → tail_out_ga([], [])
tail_in_ga(.(X4, T), T) → tail_out_ga(.(X4, T), T)
U4_gga(R, X1, L, Rh, tail_out_ga(R, Rt)) → U5_gga(R, X1, L, Rh, Rt, row2col_in_aaaa(Rh, L, Cols, Accm))
row2col_in_aaaa([], X, Y, Z) → U7_aaaa(X, Y, Z, eq_in_ag(X, []))
eq_in_ag(X, X) → eq_out_ag(X, X)
U7_aaaa(X, Y, Z, eq_out_ag(X, [])) → U8_aaaa(X, Y, Z, eq_in_ag(Y, []))
U8_aaaa(X, Y, Z, eq_out_ag(Y, [])) → U9_aaaa(X, Y, Z, eq_in_ag(Z, []))
U9_aaaa(X, Y, Z, eq_out_ag(Z, [])) → row2col_out_aaaa([], X, Y, Z)
row2col_in_aaaa(X, Y, C, A) → U10_aaaa(X, Y, C, A, head_in_aa(X, Xh))
head_in_aa([], X2) → head_out_aa([], X2)
head_in_aa(.(H, X3), H) → head_out_aa(.(H, X3), H)
U10_aaaa(X, Y, C, A, head_out_aa(X, Xh)) → U11_aaaa(X, Y, C, A, Xh, head_in_aa(Y, Yh))
U11_aaaa(X, Y, C, A, Xh, head_out_aa(Y, Yh)) → U12_aaaa(X, Y, C, A, Xh, Yh, head_in_aa(Yh, Xh))
U12_aaaa(X, Y, C, A, Xh, Yh, head_out_aa(Yh, Xh)) → U13_aaaa(X, Y, C, A, Xh, Yh, head_in_ag(A, []))
head_in_ag([], X2) → head_out_ag([], X2)
head_in_ag(.(H, X3), H) → head_out_ag(.(H, X3), H)
U13_aaaa(X, Y, C, A, Xh, Yh, head_out_ag(A, [])) → U14_aaaa(X, Y, C, A, Xh, Yh, tail_in_aa(X, Xt))
tail_in_aa([], []) → tail_out_aa([], [])
tail_in_aa(.(X4, T), T) → tail_out_aa(.(X4, T), T)
U14_aaaa(X, Y, C, A, Xh, Yh, tail_out_aa(X, Xt)) → U15_aaaa(X, Y, C, A, Xh, Yh, Xt, tail_in_aa(Y, Yt))
U15_aaaa(X, Y, C, A, Xh, Yh, Xt, tail_out_aa(Y, Yt)) → U16_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, tail_in_aa(Yh, Yht))
U16_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, tail_out_aa(Yh, Yht)) → U17_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_in_aa(C, Yht))
U17_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_out_aa(C, Yht)) → U18_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_in_aa(C, Ct))
U18_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_out_aa(C, Ct)) → U19_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_in_aa(A, At))
U19_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_out_aa(A, At)) → U20_aaaa(X, Y, C, A, row2col_in_aaaa(Xt, Yt, Ct, At))
U20_aaaa(X, Y, C, A, row2col_out_aaaa(Xt, Yt, Ct, At)) → row2col_out_aaaa(X, Y, C, A)
U5_gga(R, X1, L, Rh, Rt, row2col_out_aaaa(Rh, L, Cols, Accm)) → U6_gga(R, X1, L, transpose_aux_in_gaa(Rt, Accm, Cols))
transpose_aux_in_gaa([], Y, Z) → U2_gaa(Y, Z, eq_in_aa(Y, Z))
eq_in_aa(X, X) → eq_out_aa(X, X)
U2_gaa(Y, Z, eq_out_aa(Y, Z)) → transpose_aux_out_gaa([], Y, Z)
transpose_aux_in_gaa(R, X1, L) → U3_gaa(R, X1, L, head_in_ga(R, Rh))
U3_gaa(R, X1, L, head_out_ga(R, Rh)) → U4_gaa(R, X1, L, Rh, tail_in_ga(R, Rt))
U4_gaa(R, X1, L, Rh, tail_out_ga(R, Rt)) → U5_gaa(R, X1, L, Rh, Rt, row2col_in_aaaa(Rh, L, Cols, Accm))
U5_gaa(R, X1, L, Rh, Rt, row2col_out_aaaa(Rh, L, Cols, Accm)) → U6_gaa(R, X1, L, transpose_aux_in_gaa(Rt, Accm, Cols))
U6_gaa(R, X1, L, transpose_aux_out_gaa(Rt, Accm, Cols)) → transpose_aux_out_gaa(R, X1, L)
U6_gga(R, X1, L, transpose_aux_out_gaa(Rt, Accm, Cols)) → transpose_aux_out_gga(R, X1, L)
U1_ga(A, B, transpose_aux_out_gga(A, [], B)) → transpose_out_ga(A, B)

The argument filtering Pi contains the following mapping:
transpose_in_ga(x1, x2)  =  transpose_in_ga(x1)
U1_ga(x1, x2, x3)  =  U1_ga(x3)
transpose_aux_in_gga(x1, x2, x3)  =  transpose_aux_in_gga(x1, x2)
[]  =  []
U2_gga(x1, x2, x3)  =  U2_gga(x3)
eq_in_ga(x1, x2)  =  eq_in_ga(x1)
eq_out_ga(x1, x2)  =  eq_out_ga(x2)
transpose_aux_out_gga(x1, x2, x3)  =  transpose_aux_out_gga
U3_gga(x1, x2, x3, x4)  =  U3_gga(x1, x4)
head_in_ga(x1, x2)  =  head_in_ga(x1)
head_out_ga(x1, x2)  =  head_out_ga
.(x1, x2)  =  .(x1, x2)
U4_gga(x1, x2, x3, x4, x5)  =  U4_gga(x5)
tail_in_ga(x1, x2)  =  tail_in_ga(x1)
tail_out_ga(x1, x2)  =  tail_out_ga(x2)
U5_gga(x1, x2, x3, x4, x5, x6)  =  U5_gga(x5, x6)
row2col_in_aaaa(x1, x2, x3, x4)  =  row2col_in_aaaa
U7_aaaa(x1, x2, x3, x4)  =  U7_aaaa(x4)
eq_in_ag(x1, x2)  =  eq_in_ag(x2)
eq_out_ag(x1, x2)  =  eq_out_ag(x1)
U8_aaaa(x1, x2, x3, x4)  =  U8_aaaa(x4)
U9_aaaa(x1, x2, x3, x4)  =  U9_aaaa(x4)
row2col_out_aaaa(x1, x2, x3, x4)  =  row2col_out_aaaa
U10_aaaa(x1, x2, x3, x4, x5)  =  U10_aaaa(x5)
head_in_aa(x1, x2)  =  head_in_aa
head_out_aa(x1, x2)  =  head_out_aa
U11_aaaa(x1, x2, x3, x4, x5, x6)  =  U11_aaaa(x6)
U12_aaaa(x1, x2, x3, x4, x5, x6, x7)  =  U12_aaaa(x7)
U13_aaaa(x1, x2, x3, x4, x5, x6, x7)  =  U13_aaaa(x7)
head_in_ag(x1, x2)  =  head_in_ag(x2)
head_out_ag(x1, x2)  =  head_out_ag
U14_aaaa(x1, x2, x3, x4, x5, x6, x7)  =  U14_aaaa(x7)
tail_in_aa(x1, x2)  =  tail_in_aa
tail_out_aa(x1, x2)  =  tail_out_aa
U15_aaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U15_aaaa(x8)
U16_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U16_aaaa(x9)
U17_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U17_aaaa(x10)
U18_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U18_aaaa(x10)
U19_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U19_aaaa(x11)
U20_aaaa(x1, x2, x3, x4, x5)  =  U20_aaaa(x5)
U6_gga(x1, x2, x3, x4)  =  U6_gga(x4)
transpose_aux_in_gaa(x1, x2, x3)  =  transpose_aux_in_gaa(x1)
U2_gaa(x1, x2, x3)  =  U2_gaa(x3)
eq_in_aa(x1, x2)  =  eq_in_aa
eq_out_aa(x1, x2)  =  eq_out_aa
transpose_aux_out_gaa(x1, x2, x3)  =  transpose_aux_out_gaa
U3_gaa(x1, x2, x3, x4)  =  U3_gaa(x1, x4)
U4_gaa(x1, x2, x3, x4, x5)  =  U4_gaa(x5)
U5_gaa(x1, x2, x3, x4, x5, x6)  =  U5_gaa(x5, x6)
U6_gaa(x1, x2, x3, x4)  =  U6_gaa(x4)
transpose_out_ga(x1, x2)  =  transpose_out_ga
TRANSPOSE_IN_GA(x1, x2)  =  TRANSPOSE_IN_GA(x1)
U1_GA(x1, x2, x3)  =  U1_GA(x3)
TRANSPOSE_AUX_IN_GGA(x1, x2, x3)  =  TRANSPOSE_AUX_IN_GGA(x1, x2)
U2_GGA(x1, x2, x3)  =  U2_GGA(x3)
EQ_IN_GA(x1, x2)  =  EQ_IN_GA(x1)
U3_GGA(x1, x2, x3, x4)  =  U3_GGA(x1, x4)
HEAD_IN_GA(x1, x2)  =  HEAD_IN_GA(x1)
U4_GGA(x1, x2, x3, x4, x5)  =  U4_GGA(x5)
TAIL_IN_GA(x1, x2)  =  TAIL_IN_GA(x1)
U5_GGA(x1, x2, x3, x4, x5, x6)  =  U5_GGA(x5, x6)
ROW2COL_IN_AAAA(x1, x2, x3, x4)  =  ROW2COL_IN_AAAA
U7_AAAA(x1, x2, x3, x4)  =  U7_AAAA(x4)
EQ_IN_AG(x1, x2)  =  EQ_IN_AG(x2)
U8_AAAA(x1, x2, x3, x4)  =  U8_AAAA(x4)
U9_AAAA(x1, x2, x3, x4)  =  U9_AAAA(x4)
U10_AAAA(x1, x2, x3, x4, x5)  =  U10_AAAA(x5)
HEAD_IN_AA(x1, x2)  =  HEAD_IN_AA
U11_AAAA(x1, x2, x3, x4, x5, x6)  =  U11_AAAA(x6)
U12_AAAA(x1, x2, x3, x4, x5, x6, x7)  =  U12_AAAA(x7)
U13_AAAA(x1, x2, x3, x4, x5, x6, x7)  =  U13_AAAA(x7)
HEAD_IN_AG(x1, x2)  =  HEAD_IN_AG(x2)
U14_AAAA(x1, x2, x3, x4, x5, x6, x7)  =  U14_AAAA(x7)
TAIL_IN_AA(x1, x2)  =  TAIL_IN_AA
U15_AAAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U15_AAAA(x8)
U16_AAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U16_AAAA(x9)
U17_AAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U17_AAAA(x10)
U18_AAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U18_AAAA(x10)
U19_AAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U19_AAAA(x11)
U20_AAAA(x1, x2, x3, x4, x5)  =  U20_AAAA(x5)
U6_GGA(x1, x2, x3, x4)  =  U6_GGA(x4)
TRANSPOSE_AUX_IN_GAA(x1, x2, x3)  =  TRANSPOSE_AUX_IN_GAA(x1)
U2_GAA(x1, x2, x3)  =  U2_GAA(x3)
EQ_IN_AA(x1, x2)  =  EQ_IN_AA
U3_GAA(x1, x2, x3, x4)  =  U3_GAA(x1, x4)
U4_GAA(x1, x2, x3, x4, x5)  =  U4_GAA(x5)
U5_GAA(x1, x2, x3, x4, x5, x6)  =  U5_GAA(x5, x6)
U6_GAA(x1, x2, x3, x4)  =  U6_GAA(x4)

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

(6) Obligation:

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

TRANSPOSE_IN_GA(A, B) → U1_GA(A, B, transpose_aux_in_gga(A, [], B))
TRANSPOSE_IN_GA(A, B) → TRANSPOSE_AUX_IN_GGA(A, [], B)
TRANSPOSE_AUX_IN_GGA([], Y, Z) → U2_GGA(Y, Z, eq_in_ga(Y, Z))
TRANSPOSE_AUX_IN_GGA([], Y, Z) → EQ_IN_GA(Y, Z)
TRANSPOSE_AUX_IN_GGA(R, X1, L) → U3_GGA(R, X1, L, head_in_ga(R, Rh))
TRANSPOSE_AUX_IN_GGA(R, X1, L) → HEAD_IN_GA(R, Rh)
U3_GGA(R, X1, L, head_out_ga(R, Rh)) → U4_GGA(R, X1, L, Rh, tail_in_ga(R, Rt))
U3_GGA(R, X1, L, head_out_ga(R, Rh)) → TAIL_IN_GA(R, Rt)
U4_GGA(R, X1, L, Rh, tail_out_ga(R, Rt)) → U5_GGA(R, X1, L, Rh, Rt, row2col_in_aaaa(Rh, L, Cols, Accm))
U4_GGA(R, X1, L, Rh, tail_out_ga(R, Rt)) → ROW2COL_IN_AAAA(Rh, L, Cols, Accm)
ROW2COL_IN_AAAA([], X, Y, Z) → U7_AAAA(X, Y, Z, eq_in_ag(X, []))
ROW2COL_IN_AAAA([], X, Y, Z) → EQ_IN_AG(X, [])
U7_AAAA(X, Y, Z, eq_out_ag(X, [])) → U8_AAAA(X, Y, Z, eq_in_ag(Y, []))
U7_AAAA(X, Y, Z, eq_out_ag(X, [])) → EQ_IN_AG(Y, [])
U8_AAAA(X, Y, Z, eq_out_ag(Y, [])) → U9_AAAA(X, Y, Z, eq_in_ag(Z, []))
U8_AAAA(X, Y, Z, eq_out_ag(Y, [])) → EQ_IN_AG(Z, [])
ROW2COL_IN_AAAA(X, Y, C, A) → U10_AAAA(X, Y, C, A, head_in_aa(X, Xh))
ROW2COL_IN_AAAA(X, Y, C, A) → HEAD_IN_AA(X, Xh)
U10_AAAA(X, Y, C, A, head_out_aa(X, Xh)) → U11_AAAA(X, Y, C, A, Xh, head_in_aa(Y, Yh))
U10_AAAA(X, Y, C, A, head_out_aa(X, Xh)) → HEAD_IN_AA(Y, Yh)
U11_AAAA(X, Y, C, A, Xh, head_out_aa(Y, Yh)) → U12_AAAA(X, Y, C, A, Xh, Yh, head_in_aa(Yh, Xh))
U11_AAAA(X, Y, C, A, Xh, head_out_aa(Y, Yh)) → HEAD_IN_AA(Yh, Xh)
U12_AAAA(X, Y, C, A, Xh, Yh, head_out_aa(Yh, Xh)) → U13_AAAA(X, Y, C, A, Xh, Yh, head_in_ag(A, []))
U12_AAAA(X, Y, C, A, Xh, Yh, head_out_aa(Yh, Xh)) → HEAD_IN_AG(A, [])
U13_AAAA(X, Y, C, A, Xh, Yh, head_out_ag(A, [])) → U14_AAAA(X, Y, C, A, Xh, Yh, tail_in_aa(X, Xt))
U13_AAAA(X, Y, C, A, Xh, Yh, head_out_ag(A, [])) → TAIL_IN_AA(X, Xt)
U14_AAAA(X, Y, C, A, Xh, Yh, tail_out_aa(X, Xt)) → U15_AAAA(X, Y, C, A, Xh, Yh, Xt, tail_in_aa(Y, Yt))
U14_AAAA(X, Y, C, A, Xh, Yh, tail_out_aa(X, Xt)) → TAIL_IN_AA(Y, Yt)
U15_AAAA(X, Y, C, A, Xh, Yh, Xt, tail_out_aa(Y, Yt)) → U16_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, tail_in_aa(Yh, Yht))
U15_AAAA(X, Y, C, A, Xh, Yh, Xt, tail_out_aa(Y, Yt)) → TAIL_IN_AA(Yh, Yht)
U16_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, tail_out_aa(Yh, Yht)) → U17_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_in_aa(C, Yht))
U16_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, tail_out_aa(Yh, Yht)) → HEAD_IN_AA(C, Yht)
U17_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_out_aa(C, Yht)) → U18_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_in_aa(C, Ct))
U17_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_out_aa(C, Yht)) → TAIL_IN_AA(C, Ct)
U18_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_out_aa(C, Ct)) → U19_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_in_aa(A, At))
U18_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_out_aa(C, Ct)) → TAIL_IN_AA(A, At)
U19_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_out_aa(A, At)) → U20_AAAA(X, Y, C, A, row2col_in_aaaa(Xt, Yt, Ct, At))
U19_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_out_aa(A, At)) → ROW2COL_IN_AAAA(Xt, Yt, Ct, At)
U5_GGA(R, X1, L, Rh, Rt, row2col_out_aaaa(Rh, L, Cols, Accm)) → U6_GGA(R, X1, L, transpose_aux_in_gaa(Rt, Accm, Cols))
U5_GGA(R, X1, L, Rh, Rt, row2col_out_aaaa(Rh, L, Cols, Accm)) → TRANSPOSE_AUX_IN_GAA(Rt, Accm, Cols)
TRANSPOSE_AUX_IN_GAA([], Y, Z) → U2_GAA(Y, Z, eq_in_aa(Y, Z))
TRANSPOSE_AUX_IN_GAA([], Y, Z) → EQ_IN_AA(Y, Z)
TRANSPOSE_AUX_IN_GAA(R, X1, L) → U3_GAA(R, X1, L, head_in_ga(R, Rh))
TRANSPOSE_AUX_IN_GAA(R, X1, L) → HEAD_IN_GA(R, Rh)
U3_GAA(R, X1, L, head_out_ga(R, Rh)) → U4_GAA(R, X1, L, Rh, tail_in_ga(R, Rt))
U3_GAA(R, X1, L, head_out_ga(R, Rh)) → TAIL_IN_GA(R, Rt)
U4_GAA(R, X1, L, Rh, tail_out_ga(R, Rt)) → U5_GAA(R, X1, L, Rh, Rt, row2col_in_aaaa(Rh, L, Cols, Accm))
U4_GAA(R, X1, L, Rh, tail_out_ga(R, Rt)) → ROW2COL_IN_AAAA(Rh, L, Cols, Accm)
U5_GAA(R, X1, L, Rh, Rt, row2col_out_aaaa(Rh, L, Cols, Accm)) → U6_GAA(R, X1, L, transpose_aux_in_gaa(Rt, Accm, Cols))
U5_GAA(R, X1, L, Rh, Rt, row2col_out_aaaa(Rh, L, Cols, Accm)) → TRANSPOSE_AUX_IN_GAA(Rt, Accm, Cols)

The TRS R consists of the following rules:

transpose_in_ga(A, B) → U1_ga(A, B, transpose_aux_in_gga(A, [], B))
transpose_aux_in_gga([], Y, Z) → U2_gga(Y, Z, eq_in_ga(Y, Z))
eq_in_ga(X, X) → eq_out_ga(X, X)
U2_gga(Y, Z, eq_out_ga(Y, Z)) → transpose_aux_out_gga([], Y, Z)
transpose_aux_in_gga(R, X1, L) → U3_gga(R, X1, L, head_in_ga(R, Rh))
head_in_ga([], X2) → head_out_ga([], X2)
head_in_ga(.(H, X3), H) → head_out_ga(.(H, X3), H)
U3_gga(R, X1, L, head_out_ga(R, Rh)) → U4_gga(R, X1, L, Rh, tail_in_ga(R, Rt))
tail_in_ga([], []) → tail_out_ga([], [])
tail_in_ga(.(X4, T), T) → tail_out_ga(.(X4, T), T)
U4_gga(R, X1, L, Rh, tail_out_ga(R, Rt)) → U5_gga(R, X1, L, Rh, Rt, row2col_in_aaaa(Rh, L, Cols, Accm))
row2col_in_aaaa([], X, Y, Z) → U7_aaaa(X, Y, Z, eq_in_ag(X, []))
eq_in_ag(X, X) → eq_out_ag(X, X)
U7_aaaa(X, Y, Z, eq_out_ag(X, [])) → U8_aaaa(X, Y, Z, eq_in_ag(Y, []))
U8_aaaa(X, Y, Z, eq_out_ag(Y, [])) → U9_aaaa(X, Y, Z, eq_in_ag(Z, []))
U9_aaaa(X, Y, Z, eq_out_ag(Z, [])) → row2col_out_aaaa([], X, Y, Z)
row2col_in_aaaa(X, Y, C, A) → U10_aaaa(X, Y, C, A, head_in_aa(X, Xh))
head_in_aa([], X2) → head_out_aa([], X2)
head_in_aa(.(H, X3), H) → head_out_aa(.(H, X3), H)
U10_aaaa(X, Y, C, A, head_out_aa(X, Xh)) → U11_aaaa(X, Y, C, A, Xh, head_in_aa(Y, Yh))
U11_aaaa(X, Y, C, A, Xh, head_out_aa(Y, Yh)) → U12_aaaa(X, Y, C, A, Xh, Yh, head_in_aa(Yh, Xh))
U12_aaaa(X, Y, C, A, Xh, Yh, head_out_aa(Yh, Xh)) → U13_aaaa(X, Y, C, A, Xh, Yh, head_in_ag(A, []))
head_in_ag([], X2) → head_out_ag([], X2)
head_in_ag(.(H, X3), H) → head_out_ag(.(H, X3), H)
U13_aaaa(X, Y, C, A, Xh, Yh, head_out_ag(A, [])) → U14_aaaa(X, Y, C, A, Xh, Yh, tail_in_aa(X, Xt))
tail_in_aa([], []) → tail_out_aa([], [])
tail_in_aa(.(X4, T), T) → tail_out_aa(.(X4, T), T)
U14_aaaa(X, Y, C, A, Xh, Yh, tail_out_aa(X, Xt)) → U15_aaaa(X, Y, C, A, Xh, Yh, Xt, tail_in_aa(Y, Yt))
U15_aaaa(X, Y, C, A, Xh, Yh, Xt, tail_out_aa(Y, Yt)) → U16_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, tail_in_aa(Yh, Yht))
U16_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, tail_out_aa(Yh, Yht)) → U17_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_in_aa(C, Yht))
U17_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_out_aa(C, Yht)) → U18_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_in_aa(C, Ct))
U18_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_out_aa(C, Ct)) → U19_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_in_aa(A, At))
U19_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_out_aa(A, At)) → U20_aaaa(X, Y, C, A, row2col_in_aaaa(Xt, Yt, Ct, At))
U20_aaaa(X, Y, C, A, row2col_out_aaaa(Xt, Yt, Ct, At)) → row2col_out_aaaa(X, Y, C, A)
U5_gga(R, X1, L, Rh, Rt, row2col_out_aaaa(Rh, L, Cols, Accm)) → U6_gga(R, X1, L, transpose_aux_in_gaa(Rt, Accm, Cols))
transpose_aux_in_gaa([], Y, Z) → U2_gaa(Y, Z, eq_in_aa(Y, Z))
eq_in_aa(X, X) → eq_out_aa(X, X)
U2_gaa(Y, Z, eq_out_aa(Y, Z)) → transpose_aux_out_gaa([], Y, Z)
transpose_aux_in_gaa(R, X1, L) → U3_gaa(R, X1, L, head_in_ga(R, Rh))
U3_gaa(R, X1, L, head_out_ga(R, Rh)) → U4_gaa(R, X1, L, Rh, tail_in_ga(R, Rt))
U4_gaa(R, X1, L, Rh, tail_out_ga(R, Rt)) → U5_gaa(R, X1, L, Rh, Rt, row2col_in_aaaa(Rh, L, Cols, Accm))
U5_gaa(R, X1, L, Rh, Rt, row2col_out_aaaa(Rh, L, Cols, Accm)) → U6_gaa(R, X1, L, transpose_aux_in_gaa(Rt, Accm, Cols))
U6_gaa(R, X1, L, transpose_aux_out_gaa(Rt, Accm, Cols)) → transpose_aux_out_gaa(R, X1, L)
U6_gga(R, X1, L, transpose_aux_out_gaa(Rt, Accm, Cols)) → transpose_aux_out_gga(R, X1, L)
U1_ga(A, B, transpose_aux_out_gga(A, [], B)) → transpose_out_ga(A, B)

The argument filtering Pi contains the following mapping:
transpose_in_ga(x1, x2)  =  transpose_in_ga(x1)
U1_ga(x1, x2, x3)  =  U1_ga(x3)
transpose_aux_in_gga(x1, x2, x3)  =  transpose_aux_in_gga(x1, x2)
[]  =  []
U2_gga(x1, x2, x3)  =  U2_gga(x3)
eq_in_ga(x1, x2)  =  eq_in_ga(x1)
eq_out_ga(x1, x2)  =  eq_out_ga(x2)
transpose_aux_out_gga(x1, x2, x3)  =  transpose_aux_out_gga
U3_gga(x1, x2, x3, x4)  =  U3_gga(x1, x4)
head_in_ga(x1, x2)  =  head_in_ga(x1)
head_out_ga(x1, x2)  =  head_out_ga
.(x1, x2)  =  .(x1, x2)
U4_gga(x1, x2, x3, x4, x5)  =  U4_gga(x5)
tail_in_ga(x1, x2)  =  tail_in_ga(x1)
tail_out_ga(x1, x2)  =  tail_out_ga(x2)
U5_gga(x1, x2, x3, x4, x5, x6)  =  U5_gga(x5, x6)
row2col_in_aaaa(x1, x2, x3, x4)  =  row2col_in_aaaa
U7_aaaa(x1, x2, x3, x4)  =  U7_aaaa(x4)
eq_in_ag(x1, x2)  =  eq_in_ag(x2)
eq_out_ag(x1, x2)  =  eq_out_ag(x1)
U8_aaaa(x1, x2, x3, x4)  =  U8_aaaa(x4)
U9_aaaa(x1, x2, x3, x4)  =  U9_aaaa(x4)
row2col_out_aaaa(x1, x2, x3, x4)  =  row2col_out_aaaa
U10_aaaa(x1, x2, x3, x4, x5)  =  U10_aaaa(x5)
head_in_aa(x1, x2)  =  head_in_aa
head_out_aa(x1, x2)  =  head_out_aa
U11_aaaa(x1, x2, x3, x4, x5, x6)  =  U11_aaaa(x6)
U12_aaaa(x1, x2, x3, x4, x5, x6, x7)  =  U12_aaaa(x7)
U13_aaaa(x1, x2, x3, x4, x5, x6, x7)  =  U13_aaaa(x7)
head_in_ag(x1, x2)  =  head_in_ag(x2)
head_out_ag(x1, x2)  =  head_out_ag
U14_aaaa(x1, x2, x3, x4, x5, x6, x7)  =  U14_aaaa(x7)
tail_in_aa(x1, x2)  =  tail_in_aa
tail_out_aa(x1, x2)  =  tail_out_aa
U15_aaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U15_aaaa(x8)
U16_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U16_aaaa(x9)
U17_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U17_aaaa(x10)
U18_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U18_aaaa(x10)
U19_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U19_aaaa(x11)
U20_aaaa(x1, x2, x3, x4, x5)  =  U20_aaaa(x5)
U6_gga(x1, x2, x3, x4)  =  U6_gga(x4)
transpose_aux_in_gaa(x1, x2, x3)  =  transpose_aux_in_gaa(x1)
U2_gaa(x1, x2, x3)  =  U2_gaa(x3)
eq_in_aa(x1, x2)  =  eq_in_aa
eq_out_aa(x1, x2)  =  eq_out_aa
transpose_aux_out_gaa(x1, x2, x3)  =  transpose_aux_out_gaa
U3_gaa(x1, x2, x3, x4)  =  U3_gaa(x1, x4)
U4_gaa(x1, x2, x3, x4, x5)  =  U4_gaa(x5)
U5_gaa(x1, x2, x3, x4, x5, x6)  =  U5_gaa(x5, x6)
U6_gaa(x1, x2, x3, x4)  =  U6_gaa(x4)
transpose_out_ga(x1, x2)  =  transpose_out_ga
TRANSPOSE_IN_GA(x1, x2)  =  TRANSPOSE_IN_GA(x1)
U1_GA(x1, x2, x3)  =  U1_GA(x3)
TRANSPOSE_AUX_IN_GGA(x1, x2, x3)  =  TRANSPOSE_AUX_IN_GGA(x1, x2)
U2_GGA(x1, x2, x3)  =  U2_GGA(x3)
EQ_IN_GA(x1, x2)  =  EQ_IN_GA(x1)
U3_GGA(x1, x2, x3, x4)  =  U3_GGA(x1, x4)
HEAD_IN_GA(x1, x2)  =  HEAD_IN_GA(x1)
U4_GGA(x1, x2, x3, x4, x5)  =  U4_GGA(x5)
TAIL_IN_GA(x1, x2)  =  TAIL_IN_GA(x1)
U5_GGA(x1, x2, x3, x4, x5, x6)  =  U5_GGA(x5, x6)
ROW2COL_IN_AAAA(x1, x2, x3, x4)  =  ROW2COL_IN_AAAA
U7_AAAA(x1, x2, x3, x4)  =  U7_AAAA(x4)
EQ_IN_AG(x1, x2)  =  EQ_IN_AG(x2)
U8_AAAA(x1, x2, x3, x4)  =  U8_AAAA(x4)
U9_AAAA(x1, x2, x3, x4)  =  U9_AAAA(x4)
U10_AAAA(x1, x2, x3, x4, x5)  =  U10_AAAA(x5)
HEAD_IN_AA(x1, x2)  =  HEAD_IN_AA
U11_AAAA(x1, x2, x3, x4, x5, x6)  =  U11_AAAA(x6)
U12_AAAA(x1, x2, x3, x4, x5, x6, x7)  =  U12_AAAA(x7)
U13_AAAA(x1, x2, x3, x4, x5, x6, x7)  =  U13_AAAA(x7)
HEAD_IN_AG(x1, x2)  =  HEAD_IN_AG(x2)
U14_AAAA(x1, x2, x3, x4, x5, x6, x7)  =  U14_AAAA(x7)
TAIL_IN_AA(x1, x2)  =  TAIL_IN_AA
U15_AAAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U15_AAAA(x8)
U16_AAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U16_AAAA(x9)
U17_AAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U17_AAAA(x10)
U18_AAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U18_AAAA(x10)
U19_AAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U19_AAAA(x11)
U20_AAAA(x1, x2, x3, x4, x5)  =  U20_AAAA(x5)
U6_GGA(x1, x2, x3, x4)  =  U6_GGA(x4)
TRANSPOSE_AUX_IN_GAA(x1, x2, x3)  =  TRANSPOSE_AUX_IN_GAA(x1)
U2_GAA(x1, x2, x3)  =  U2_GAA(x3)
EQ_IN_AA(x1, x2)  =  EQ_IN_AA
U3_GAA(x1, x2, x3, x4)  =  U3_GAA(x1, x4)
U4_GAA(x1, x2, x3, x4, x5)  =  U4_GAA(x5)
U5_GAA(x1, x2, x3, x4, x5, x6)  =  U5_GAA(x5, x6)
U6_GAA(x1, x2, x3, x4)  =  U6_GAA(x4)

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

(7) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LOPSTR] contains 2 SCCs with 35 less nodes.

(8) Complex Obligation (AND)

(9) Obligation:

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

ROW2COL_IN_AAAA(X, Y, C, A) → U10_AAAA(X, Y, C, A, head_in_aa(X, Xh))
U10_AAAA(X, Y, C, A, head_out_aa(X, Xh)) → U11_AAAA(X, Y, C, A, Xh, head_in_aa(Y, Yh))
U11_AAAA(X, Y, C, A, Xh, head_out_aa(Y, Yh)) → U12_AAAA(X, Y, C, A, Xh, Yh, head_in_aa(Yh, Xh))
U12_AAAA(X, Y, C, A, Xh, Yh, head_out_aa(Yh, Xh)) → U13_AAAA(X, Y, C, A, Xh, Yh, head_in_ag(A, []))
U13_AAAA(X, Y, C, A, Xh, Yh, head_out_ag(A, [])) → U14_AAAA(X, Y, C, A, Xh, Yh, tail_in_aa(X, Xt))
U14_AAAA(X, Y, C, A, Xh, Yh, tail_out_aa(X, Xt)) → U15_AAAA(X, Y, C, A, Xh, Yh, Xt, tail_in_aa(Y, Yt))
U15_AAAA(X, Y, C, A, Xh, Yh, Xt, tail_out_aa(Y, Yt)) → U16_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, tail_in_aa(Yh, Yht))
U16_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, tail_out_aa(Yh, Yht)) → U17_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_in_aa(C, Yht))
U17_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_out_aa(C, Yht)) → U18_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_in_aa(C, Ct))
U18_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_out_aa(C, Ct)) → U19_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_in_aa(A, At))
U19_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_out_aa(A, At)) → ROW2COL_IN_AAAA(Xt, Yt, Ct, At)

The TRS R consists of the following rules:

transpose_in_ga(A, B) → U1_ga(A, B, transpose_aux_in_gga(A, [], B))
transpose_aux_in_gga([], Y, Z) → U2_gga(Y, Z, eq_in_ga(Y, Z))
eq_in_ga(X, X) → eq_out_ga(X, X)
U2_gga(Y, Z, eq_out_ga(Y, Z)) → transpose_aux_out_gga([], Y, Z)
transpose_aux_in_gga(R, X1, L) → U3_gga(R, X1, L, head_in_ga(R, Rh))
head_in_ga([], X2) → head_out_ga([], X2)
head_in_ga(.(H, X3), H) → head_out_ga(.(H, X3), H)
U3_gga(R, X1, L, head_out_ga(R, Rh)) → U4_gga(R, X1, L, Rh, tail_in_ga(R, Rt))
tail_in_ga([], []) → tail_out_ga([], [])
tail_in_ga(.(X4, T), T) → tail_out_ga(.(X4, T), T)
U4_gga(R, X1, L, Rh, tail_out_ga(R, Rt)) → U5_gga(R, X1, L, Rh, Rt, row2col_in_aaaa(Rh, L, Cols, Accm))
row2col_in_aaaa([], X, Y, Z) → U7_aaaa(X, Y, Z, eq_in_ag(X, []))
eq_in_ag(X, X) → eq_out_ag(X, X)
U7_aaaa(X, Y, Z, eq_out_ag(X, [])) → U8_aaaa(X, Y, Z, eq_in_ag(Y, []))
U8_aaaa(X, Y, Z, eq_out_ag(Y, [])) → U9_aaaa(X, Y, Z, eq_in_ag(Z, []))
U9_aaaa(X, Y, Z, eq_out_ag(Z, [])) → row2col_out_aaaa([], X, Y, Z)
row2col_in_aaaa(X, Y, C, A) → U10_aaaa(X, Y, C, A, head_in_aa(X, Xh))
head_in_aa([], X2) → head_out_aa([], X2)
head_in_aa(.(H, X3), H) → head_out_aa(.(H, X3), H)
U10_aaaa(X, Y, C, A, head_out_aa(X, Xh)) → U11_aaaa(X, Y, C, A, Xh, head_in_aa(Y, Yh))
U11_aaaa(X, Y, C, A, Xh, head_out_aa(Y, Yh)) → U12_aaaa(X, Y, C, A, Xh, Yh, head_in_aa(Yh, Xh))
U12_aaaa(X, Y, C, A, Xh, Yh, head_out_aa(Yh, Xh)) → U13_aaaa(X, Y, C, A, Xh, Yh, head_in_ag(A, []))
head_in_ag([], X2) → head_out_ag([], X2)
head_in_ag(.(H, X3), H) → head_out_ag(.(H, X3), H)
U13_aaaa(X, Y, C, A, Xh, Yh, head_out_ag(A, [])) → U14_aaaa(X, Y, C, A, Xh, Yh, tail_in_aa(X, Xt))
tail_in_aa([], []) → tail_out_aa([], [])
tail_in_aa(.(X4, T), T) → tail_out_aa(.(X4, T), T)
U14_aaaa(X, Y, C, A, Xh, Yh, tail_out_aa(X, Xt)) → U15_aaaa(X, Y, C, A, Xh, Yh, Xt, tail_in_aa(Y, Yt))
U15_aaaa(X, Y, C, A, Xh, Yh, Xt, tail_out_aa(Y, Yt)) → U16_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, tail_in_aa(Yh, Yht))
U16_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, tail_out_aa(Yh, Yht)) → U17_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_in_aa(C, Yht))
U17_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_out_aa(C, Yht)) → U18_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_in_aa(C, Ct))
U18_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_out_aa(C, Ct)) → U19_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_in_aa(A, At))
U19_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_out_aa(A, At)) → U20_aaaa(X, Y, C, A, row2col_in_aaaa(Xt, Yt, Ct, At))
U20_aaaa(X, Y, C, A, row2col_out_aaaa(Xt, Yt, Ct, At)) → row2col_out_aaaa(X, Y, C, A)
U5_gga(R, X1, L, Rh, Rt, row2col_out_aaaa(Rh, L, Cols, Accm)) → U6_gga(R, X1, L, transpose_aux_in_gaa(Rt, Accm, Cols))
transpose_aux_in_gaa([], Y, Z) → U2_gaa(Y, Z, eq_in_aa(Y, Z))
eq_in_aa(X, X) → eq_out_aa(X, X)
U2_gaa(Y, Z, eq_out_aa(Y, Z)) → transpose_aux_out_gaa([], Y, Z)
transpose_aux_in_gaa(R, X1, L) → U3_gaa(R, X1, L, head_in_ga(R, Rh))
U3_gaa(R, X1, L, head_out_ga(R, Rh)) → U4_gaa(R, X1, L, Rh, tail_in_ga(R, Rt))
U4_gaa(R, X1, L, Rh, tail_out_ga(R, Rt)) → U5_gaa(R, X1, L, Rh, Rt, row2col_in_aaaa(Rh, L, Cols, Accm))
U5_gaa(R, X1, L, Rh, Rt, row2col_out_aaaa(Rh, L, Cols, Accm)) → U6_gaa(R, X1, L, transpose_aux_in_gaa(Rt, Accm, Cols))
U6_gaa(R, X1, L, transpose_aux_out_gaa(Rt, Accm, Cols)) → transpose_aux_out_gaa(R, X1, L)
U6_gga(R, X1, L, transpose_aux_out_gaa(Rt, Accm, Cols)) → transpose_aux_out_gga(R, X1, L)
U1_ga(A, B, transpose_aux_out_gga(A, [], B)) → transpose_out_ga(A, B)

The argument filtering Pi contains the following mapping:
transpose_in_ga(x1, x2)  =  transpose_in_ga(x1)
U1_ga(x1, x2, x3)  =  U1_ga(x3)
transpose_aux_in_gga(x1, x2, x3)  =  transpose_aux_in_gga(x1, x2)
[]  =  []
U2_gga(x1, x2, x3)  =  U2_gga(x3)
eq_in_ga(x1, x2)  =  eq_in_ga(x1)
eq_out_ga(x1, x2)  =  eq_out_ga(x2)
transpose_aux_out_gga(x1, x2, x3)  =  transpose_aux_out_gga
U3_gga(x1, x2, x3, x4)  =  U3_gga(x1, x4)
head_in_ga(x1, x2)  =  head_in_ga(x1)
head_out_ga(x1, x2)  =  head_out_ga
.(x1, x2)  =  .(x1, x2)
U4_gga(x1, x2, x3, x4, x5)  =  U4_gga(x5)
tail_in_ga(x1, x2)  =  tail_in_ga(x1)
tail_out_ga(x1, x2)  =  tail_out_ga(x2)
U5_gga(x1, x2, x3, x4, x5, x6)  =  U5_gga(x5, x6)
row2col_in_aaaa(x1, x2, x3, x4)  =  row2col_in_aaaa
U7_aaaa(x1, x2, x3, x4)  =  U7_aaaa(x4)
eq_in_ag(x1, x2)  =  eq_in_ag(x2)
eq_out_ag(x1, x2)  =  eq_out_ag(x1)
U8_aaaa(x1, x2, x3, x4)  =  U8_aaaa(x4)
U9_aaaa(x1, x2, x3, x4)  =  U9_aaaa(x4)
row2col_out_aaaa(x1, x2, x3, x4)  =  row2col_out_aaaa
U10_aaaa(x1, x2, x3, x4, x5)  =  U10_aaaa(x5)
head_in_aa(x1, x2)  =  head_in_aa
head_out_aa(x1, x2)  =  head_out_aa
U11_aaaa(x1, x2, x3, x4, x5, x6)  =  U11_aaaa(x6)
U12_aaaa(x1, x2, x3, x4, x5, x6, x7)  =  U12_aaaa(x7)
U13_aaaa(x1, x2, x3, x4, x5, x6, x7)  =  U13_aaaa(x7)
head_in_ag(x1, x2)  =  head_in_ag(x2)
head_out_ag(x1, x2)  =  head_out_ag
U14_aaaa(x1, x2, x3, x4, x5, x6, x7)  =  U14_aaaa(x7)
tail_in_aa(x1, x2)  =  tail_in_aa
tail_out_aa(x1, x2)  =  tail_out_aa
U15_aaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U15_aaaa(x8)
U16_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U16_aaaa(x9)
U17_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U17_aaaa(x10)
U18_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U18_aaaa(x10)
U19_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U19_aaaa(x11)
U20_aaaa(x1, x2, x3, x4, x5)  =  U20_aaaa(x5)
U6_gga(x1, x2, x3, x4)  =  U6_gga(x4)
transpose_aux_in_gaa(x1, x2, x3)  =  transpose_aux_in_gaa(x1)
U2_gaa(x1, x2, x3)  =  U2_gaa(x3)
eq_in_aa(x1, x2)  =  eq_in_aa
eq_out_aa(x1, x2)  =  eq_out_aa
transpose_aux_out_gaa(x1, x2, x3)  =  transpose_aux_out_gaa
U3_gaa(x1, x2, x3, x4)  =  U3_gaa(x1, x4)
U4_gaa(x1, x2, x3, x4, x5)  =  U4_gaa(x5)
U5_gaa(x1, x2, x3, x4, x5, x6)  =  U5_gaa(x5, x6)
U6_gaa(x1, x2, x3, x4)  =  U6_gaa(x4)
transpose_out_ga(x1, x2)  =  transpose_out_ga
ROW2COL_IN_AAAA(x1, x2, x3, x4)  =  ROW2COL_IN_AAAA
U10_AAAA(x1, x2, x3, x4, x5)  =  U10_AAAA(x5)
U11_AAAA(x1, x2, x3, x4, x5, x6)  =  U11_AAAA(x6)
U12_AAAA(x1, x2, x3, x4, x5, x6, x7)  =  U12_AAAA(x7)
U13_AAAA(x1, x2, x3, x4, x5, x6, x7)  =  U13_AAAA(x7)
U14_AAAA(x1, x2, x3, x4, x5, x6, x7)  =  U14_AAAA(x7)
U15_AAAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U15_AAAA(x8)
U16_AAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U16_AAAA(x9)
U17_AAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U17_AAAA(x10)
U18_AAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U18_AAAA(x10)
U19_AAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U19_AAAA(x11)

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

(10) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(11) Obligation:

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

ROW2COL_IN_AAAA(X, Y, C, A) → U10_AAAA(X, Y, C, A, head_in_aa(X, Xh))
U10_AAAA(X, Y, C, A, head_out_aa(X, Xh)) → U11_AAAA(X, Y, C, A, Xh, head_in_aa(Y, Yh))
U11_AAAA(X, Y, C, A, Xh, head_out_aa(Y, Yh)) → U12_AAAA(X, Y, C, A, Xh, Yh, head_in_aa(Yh, Xh))
U12_AAAA(X, Y, C, A, Xh, Yh, head_out_aa(Yh, Xh)) → U13_AAAA(X, Y, C, A, Xh, Yh, head_in_ag(A, []))
U13_AAAA(X, Y, C, A, Xh, Yh, head_out_ag(A, [])) → U14_AAAA(X, Y, C, A, Xh, Yh, tail_in_aa(X, Xt))
U14_AAAA(X, Y, C, A, Xh, Yh, tail_out_aa(X, Xt)) → U15_AAAA(X, Y, C, A, Xh, Yh, Xt, tail_in_aa(Y, Yt))
U15_AAAA(X, Y, C, A, Xh, Yh, Xt, tail_out_aa(Y, Yt)) → U16_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, tail_in_aa(Yh, Yht))
U16_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, tail_out_aa(Yh, Yht)) → U17_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_in_aa(C, Yht))
U17_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_out_aa(C, Yht)) → U18_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_in_aa(C, Ct))
U18_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_out_aa(C, Ct)) → U19_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_in_aa(A, At))
U19_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_out_aa(A, At)) → ROW2COL_IN_AAAA(Xt, Yt, Ct, At)

The TRS R consists of the following rules:

head_in_aa([], X2) → head_out_aa([], X2)
head_in_aa(.(H, X3), H) → head_out_aa(.(H, X3), H)
head_in_ag([], X2) → head_out_ag([], X2)
head_in_ag(.(H, X3), H) → head_out_ag(.(H, X3), H)
tail_in_aa([], []) → tail_out_aa([], [])
tail_in_aa(.(X4, T), T) → tail_out_aa(.(X4, T), T)

The argument filtering Pi contains the following mapping:
[]  =  []
.(x1, x2)  =  .(x1, x2)
head_in_aa(x1, x2)  =  head_in_aa
head_out_aa(x1, x2)  =  head_out_aa
head_in_ag(x1, x2)  =  head_in_ag(x2)
head_out_ag(x1, x2)  =  head_out_ag
tail_in_aa(x1, x2)  =  tail_in_aa
tail_out_aa(x1, x2)  =  tail_out_aa
ROW2COL_IN_AAAA(x1, x2, x3, x4)  =  ROW2COL_IN_AAAA
U10_AAAA(x1, x2, x3, x4, x5)  =  U10_AAAA(x5)
U11_AAAA(x1, x2, x3, x4, x5, x6)  =  U11_AAAA(x6)
U12_AAAA(x1, x2, x3, x4, x5, x6, x7)  =  U12_AAAA(x7)
U13_AAAA(x1, x2, x3, x4, x5, x6, x7)  =  U13_AAAA(x7)
U14_AAAA(x1, x2, x3, x4, x5, x6, x7)  =  U14_AAAA(x7)
U15_AAAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U15_AAAA(x8)
U16_AAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U16_AAAA(x9)
U17_AAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U17_AAAA(x10)
U18_AAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U18_AAAA(x10)
U19_AAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U19_AAAA(x11)

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

(12) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(13) Obligation:

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

ROW2COL_IN_AAAAU10_AAAA(head_in_aa)
U10_AAAA(head_out_aa) → U11_AAAA(head_in_aa)
U11_AAAA(head_out_aa) → U12_AAAA(head_in_aa)
U12_AAAA(head_out_aa) → U13_AAAA(head_in_ag([]))
U13_AAAA(head_out_ag) → U14_AAAA(tail_in_aa)
U14_AAAA(tail_out_aa) → U15_AAAA(tail_in_aa)
U15_AAAA(tail_out_aa) → U16_AAAA(tail_in_aa)
U16_AAAA(tail_out_aa) → U17_AAAA(head_in_aa)
U17_AAAA(head_out_aa) → U18_AAAA(tail_in_aa)
U18_AAAA(tail_out_aa) → U19_AAAA(tail_in_aa)
U19_AAAA(tail_out_aa) → ROW2COL_IN_AAAA

The TRS R consists of the following rules:

head_in_aahead_out_aa
head_in_ag(X2) → head_out_ag
tail_in_aatail_out_aa

The set Q consists of the following terms:

head_in_aa
head_in_ag(x0)
tail_in_aa

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

(14) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule ROW2COL_IN_AAAAU10_AAAA(head_in_aa) at position [0] we obtained the following new rules [LPAR04]:

ROW2COL_IN_AAAAU10_AAAA(head_out_aa)

(15) Obligation:

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

U10_AAAA(head_out_aa) → U11_AAAA(head_in_aa)
U11_AAAA(head_out_aa) → U12_AAAA(head_in_aa)
U12_AAAA(head_out_aa) → U13_AAAA(head_in_ag([]))
U13_AAAA(head_out_ag) → U14_AAAA(tail_in_aa)
U14_AAAA(tail_out_aa) → U15_AAAA(tail_in_aa)
U15_AAAA(tail_out_aa) → U16_AAAA(tail_in_aa)
U16_AAAA(tail_out_aa) → U17_AAAA(head_in_aa)
U17_AAAA(head_out_aa) → U18_AAAA(tail_in_aa)
U18_AAAA(tail_out_aa) → U19_AAAA(tail_in_aa)
U19_AAAA(tail_out_aa) → ROW2COL_IN_AAAA
ROW2COL_IN_AAAAU10_AAAA(head_out_aa)

The TRS R consists of the following rules:

head_in_aahead_out_aa
head_in_ag(X2) → head_out_ag
tail_in_aatail_out_aa

The set Q consists of the following terms:

head_in_aa
head_in_ag(x0)
tail_in_aa

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

(16) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule U10_AAAA(head_out_aa) → U11_AAAA(head_in_aa) at position [0] we obtained the following new rules [LPAR04]:

U10_AAAA(head_out_aa) → U11_AAAA(head_out_aa)

(17) Obligation:

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

U11_AAAA(head_out_aa) → U12_AAAA(head_in_aa)
U12_AAAA(head_out_aa) → U13_AAAA(head_in_ag([]))
U13_AAAA(head_out_ag) → U14_AAAA(tail_in_aa)
U14_AAAA(tail_out_aa) → U15_AAAA(tail_in_aa)
U15_AAAA(tail_out_aa) → U16_AAAA(tail_in_aa)
U16_AAAA(tail_out_aa) → U17_AAAA(head_in_aa)
U17_AAAA(head_out_aa) → U18_AAAA(tail_in_aa)
U18_AAAA(tail_out_aa) → U19_AAAA(tail_in_aa)
U19_AAAA(tail_out_aa) → ROW2COL_IN_AAAA
ROW2COL_IN_AAAAU10_AAAA(head_out_aa)
U10_AAAA(head_out_aa) → U11_AAAA(head_out_aa)

The TRS R consists of the following rules:

head_in_aahead_out_aa
head_in_ag(X2) → head_out_ag
tail_in_aatail_out_aa

The set Q consists of the following terms:

head_in_aa
head_in_ag(x0)
tail_in_aa

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

(18) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule U11_AAAA(head_out_aa) → U12_AAAA(head_in_aa) at position [0] we obtained the following new rules [LPAR04]:

U11_AAAA(head_out_aa) → U12_AAAA(head_out_aa)

(19) Obligation:

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

U12_AAAA(head_out_aa) → U13_AAAA(head_in_ag([]))
U13_AAAA(head_out_ag) → U14_AAAA(tail_in_aa)
U14_AAAA(tail_out_aa) → U15_AAAA(tail_in_aa)
U15_AAAA(tail_out_aa) → U16_AAAA(tail_in_aa)
U16_AAAA(tail_out_aa) → U17_AAAA(head_in_aa)
U17_AAAA(head_out_aa) → U18_AAAA(tail_in_aa)
U18_AAAA(tail_out_aa) → U19_AAAA(tail_in_aa)
U19_AAAA(tail_out_aa) → ROW2COL_IN_AAAA
ROW2COL_IN_AAAAU10_AAAA(head_out_aa)
U10_AAAA(head_out_aa) → U11_AAAA(head_out_aa)
U11_AAAA(head_out_aa) → U12_AAAA(head_out_aa)

The TRS R consists of the following rules:

head_in_aahead_out_aa
head_in_ag(X2) → head_out_ag
tail_in_aatail_out_aa

The set Q consists of the following terms:

head_in_aa
head_in_ag(x0)
tail_in_aa

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

(20) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule U12_AAAA(head_out_aa) → U13_AAAA(head_in_ag([])) at position [0] we obtained the following new rules [LPAR04]:

U12_AAAA(head_out_aa) → U13_AAAA(head_out_ag)

(21) Obligation:

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

U13_AAAA(head_out_ag) → U14_AAAA(tail_in_aa)
U14_AAAA(tail_out_aa) → U15_AAAA(tail_in_aa)
U15_AAAA(tail_out_aa) → U16_AAAA(tail_in_aa)
U16_AAAA(tail_out_aa) → U17_AAAA(head_in_aa)
U17_AAAA(head_out_aa) → U18_AAAA(tail_in_aa)
U18_AAAA(tail_out_aa) → U19_AAAA(tail_in_aa)
U19_AAAA(tail_out_aa) → ROW2COL_IN_AAAA
ROW2COL_IN_AAAAU10_AAAA(head_out_aa)
U10_AAAA(head_out_aa) → U11_AAAA(head_out_aa)
U11_AAAA(head_out_aa) → U12_AAAA(head_out_aa)
U12_AAAA(head_out_aa) → U13_AAAA(head_out_ag)

The TRS R consists of the following rules:

head_in_aahead_out_aa
head_in_ag(X2) → head_out_ag
tail_in_aatail_out_aa

The set Q consists of the following terms:

head_in_aa
head_in_ag(x0)
tail_in_aa

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

(22) UsableRulesProof (EQUIVALENT transformation)

As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.

(23) Obligation:

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

U13_AAAA(head_out_ag) → U14_AAAA(tail_in_aa)
U14_AAAA(tail_out_aa) → U15_AAAA(tail_in_aa)
U15_AAAA(tail_out_aa) → U16_AAAA(tail_in_aa)
U16_AAAA(tail_out_aa) → U17_AAAA(head_in_aa)
U17_AAAA(head_out_aa) → U18_AAAA(tail_in_aa)
U18_AAAA(tail_out_aa) → U19_AAAA(tail_in_aa)
U19_AAAA(tail_out_aa) → ROW2COL_IN_AAAA
ROW2COL_IN_AAAAU10_AAAA(head_out_aa)
U10_AAAA(head_out_aa) → U11_AAAA(head_out_aa)
U11_AAAA(head_out_aa) → U12_AAAA(head_out_aa)
U12_AAAA(head_out_aa) → U13_AAAA(head_out_ag)

The TRS R consists of the following rules:

tail_in_aatail_out_aa
head_in_aahead_out_aa

The set Q consists of the following terms:

head_in_aa
head_in_ag(x0)
tail_in_aa

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

(24) QReductionProof (EQUIVALENT transformation)

We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN].

head_in_ag(x0)

(25) Obligation:

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

U13_AAAA(head_out_ag) → U14_AAAA(tail_in_aa)
U14_AAAA(tail_out_aa) → U15_AAAA(tail_in_aa)
U15_AAAA(tail_out_aa) → U16_AAAA(tail_in_aa)
U16_AAAA(tail_out_aa) → U17_AAAA(head_in_aa)
U17_AAAA(head_out_aa) → U18_AAAA(tail_in_aa)
U18_AAAA(tail_out_aa) → U19_AAAA(tail_in_aa)
U19_AAAA(tail_out_aa) → ROW2COL_IN_AAAA
ROW2COL_IN_AAAAU10_AAAA(head_out_aa)
U10_AAAA(head_out_aa) → U11_AAAA(head_out_aa)
U11_AAAA(head_out_aa) → U12_AAAA(head_out_aa)
U12_AAAA(head_out_aa) → U13_AAAA(head_out_ag)

The TRS R consists of the following rules:

tail_in_aatail_out_aa
head_in_aahead_out_aa

The set Q consists of the following terms:

head_in_aa
tail_in_aa

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

(26) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule U13_AAAA(head_out_ag) → U14_AAAA(tail_in_aa) at position [0] we obtained the following new rules [LPAR04]:

U13_AAAA(head_out_ag) → U14_AAAA(tail_out_aa)

(27) Obligation:

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

U14_AAAA(tail_out_aa) → U15_AAAA(tail_in_aa)
U15_AAAA(tail_out_aa) → U16_AAAA(tail_in_aa)
U16_AAAA(tail_out_aa) → U17_AAAA(head_in_aa)
U17_AAAA(head_out_aa) → U18_AAAA(tail_in_aa)
U18_AAAA(tail_out_aa) → U19_AAAA(tail_in_aa)
U19_AAAA(tail_out_aa) → ROW2COL_IN_AAAA
ROW2COL_IN_AAAAU10_AAAA(head_out_aa)
U10_AAAA(head_out_aa) → U11_AAAA(head_out_aa)
U11_AAAA(head_out_aa) → U12_AAAA(head_out_aa)
U12_AAAA(head_out_aa) → U13_AAAA(head_out_ag)
U13_AAAA(head_out_ag) → U14_AAAA(tail_out_aa)

The TRS R consists of the following rules:

tail_in_aatail_out_aa
head_in_aahead_out_aa

The set Q consists of the following terms:

head_in_aa
tail_in_aa

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

(28) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule U14_AAAA(tail_out_aa) → U15_AAAA(tail_in_aa) at position [0] we obtained the following new rules [LPAR04]:

U14_AAAA(tail_out_aa) → U15_AAAA(tail_out_aa)

(29) Obligation:

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

U15_AAAA(tail_out_aa) → U16_AAAA(tail_in_aa)
U16_AAAA(tail_out_aa) → U17_AAAA(head_in_aa)
U17_AAAA(head_out_aa) → U18_AAAA(tail_in_aa)
U18_AAAA(tail_out_aa) → U19_AAAA(tail_in_aa)
U19_AAAA(tail_out_aa) → ROW2COL_IN_AAAA
ROW2COL_IN_AAAAU10_AAAA(head_out_aa)
U10_AAAA(head_out_aa) → U11_AAAA(head_out_aa)
U11_AAAA(head_out_aa) → U12_AAAA(head_out_aa)
U12_AAAA(head_out_aa) → U13_AAAA(head_out_ag)
U13_AAAA(head_out_ag) → U14_AAAA(tail_out_aa)
U14_AAAA(tail_out_aa) → U15_AAAA(tail_out_aa)

The TRS R consists of the following rules:

tail_in_aatail_out_aa
head_in_aahead_out_aa

The set Q consists of the following terms:

head_in_aa
tail_in_aa

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

(30) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule U15_AAAA(tail_out_aa) → U16_AAAA(tail_in_aa) at position [0] we obtained the following new rules [LPAR04]:

U15_AAAA(tail_out_aa) → U16_AAAA(tail_out_aa)

(31) Obligation:

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

U16_AAAA(tail_out_aa) → U17_AAAA(head_in_aa)
U17_AAAA(head_out_aa) → U18_AAAA(tail_in_aa)
U18_AAAA(tail_out_aa) → U19_AAAA(tail_in_aa)
U19_AAAA(tail_out_aa) → ROW2COL_IN_AAAA
ROW2COL_IN_AAAAU10_AAAA(head_out_aa)
U10_AAAA(head_out_aa) → U11_AAAA(head_out_aa)
U11_AAAA(head_out_aa) → U12_AAAA(head_out_aa)
U12_AAAA(head_out_aa) → U13_AAAA(head_out_ag)
U13_AAAA(head_out_ag) → U14_AAAA(tail_out_aa)
U14_AAAA(tail_out_aa) → U15_AAAA(tail_out_aa)
U15_AAAA(tail_out_aa) → U16_AAAA(tail_out_aa)

The TRS R consists of the following rules:

tail_in_aatail_out_aa
head_in_aahead_out_aa

The set Q consists of the following terms:

head_in_aa
tail_in_aa

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

(32) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule U16_AAAA(tail_out_aa) → U17_AAAA(head_in_aa) at position [0] we obtained the following new rules [LPAR04]:

U16_AAAA(tail_out_aa) → U17_AAAA(head_out_aa)

(33) Obligation:

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

U17_AAAA(head_out_aa) → U18_AAAA(tail_in_aa)
U18_AAAA(tail_out_aa) → U19_AAAA(tail_in_aa)
U19_AAAA(tail_out_aa) → ROW2COL_IN_AAAA
ROW2COL_IN_AAAAU10_AAAA(head_out_aa)
U10_AAAA(head_out_aa) → U11_AAAA(head_out_aa)
U11_AAAA(head_out_aa) → U12_AAAA(head_out_aa)
U12_AAAA(head_out_aa) → U13_AAAA(head_out_ag)
U13_AAAA(head_out_ag) → U14_AAAA(tail_out_aa)
U14_AAAA(tail_out_aa) → U15_AAAA(tail_out_aa)
U15_AAAA(tail_out_aa) → U16_AAAA(tail_out_aa)
U16_AAAA(tail_out_aa) → U17_AAAA(head_out_aa)

The TRS R consists of the following rules:

tail_in_aatail_out_aa
head_in_aahead_out_aa

The set Q consists of the following terms:

head_in_aa
tail_in_aa

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

(34) UsableRulesProof (EQUIVALENT transformation)

As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.

(35) Obligation:

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

U17_AAAA(head_out_aa) → U18_AAAA(tail_in_aa)
U18_AAAA(tail_out_aa) → U19_AAAA(tail_in_aa)
U19_AAAA(tail_out_aa) → ROW2COL_IN_AAAA
ROW2COL_IN_AAAAU10_AAAA(head_out_aa)
U10_AAAA(head_out_aa) → U11_AAAA(head_out_aa)
U11_AAAA(head_out_aa) → U12_AAAA(head_out_aa)
U12_AAAA(head_out_aa) → U13_AAAA(head_out_ag)
U13_AAAA(head_out_ag) → U14_AAAA(tail_out_aa)
U14_AAAA(tail_out_aa) → U15_AAAA(tail_out_aa)
U15_AAAA(tail_out_aa) → U16_AAAA(tail_out_aa)
U16_AAAA(tail_out_aa) → U17_AAAA(head_out_aa)

The TRS R consists of the following rules:

tail_in_aatail_out_aa

The set Q consists of the following terms:

head_in_aa
tail_in_aa

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

(36) QReductionProof (EQUIVALENT transformation)

We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN].

head_in_aa

(37) Obligation:

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

U17_AAAA(head_out_aa) → U18_AAAA(tail_in_aa)
U18_AAAA(tail_out_aa) → U19_AAAA(tail_in_aa)
U19_AAAA(tail_out_aa) → ROW2COL_IN_AAAA
ROW2COL_IN_AAAAU10_AAAA(head_out_aa)
U10_AAAA(head_out_aa) → U11_AAAA(head_out_aa)
U11_AAAA(head_out_aa) → U12_AAAA(head_out_aa)
U12_AAAA(head_out_aa) → U13_AAAA(head_out_ag)
U13_AAAA(head_out_ag) → U14_AAAA(tail_out_aa)
U14_AAAA(tail_out_aa) → U15_AAAA(tail_out_aa)
U15_AAAA(tail_out_aa) → U16_AAAA(tail_out_aa)
U16_AAAA(tail_out_aa) → U17_AAAA(head_out_aa)

The TRS R consists of the following rules:

tail_in_aatail_out_aa

The set Q consists of the following terms:

tail_in_aa

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

(38) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule U17_AAAA(head_out_aa) → U18_AAAA(tail_in_aa) at position [0] we obtained the following new rules [LPAR04]:

U17_AAAA(head_out_aa) → U18_AAAA(tail_out_aa)

(39) Obligation:

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

U18_AAAA(tail_out_aa) → U19_AAAA(tail_in_aa)
U19_AAAA(tail_out_aa) → ROW2COL_IN_AAAA
ROW2COL_IN_AAAAU10_AAAA(head_out_aa)
U10_AAAA(head_out_aa) → U11_AAAA(head_out_aa)
U11_AAAA(head_out_aa) → U12_AAAA(head_out_aa)
U12_AAAA(head_out_aa) → U13_AAAA(head_out_ag)
U13_AAAA(head_out_ag) → U14_AAAA(tail_out_aa)
U14_AAAA(tail_out_aa) → U15_AAAA(tail_out_aa)
U15_AAAA(tail_out_aa) → U16_AAAA(tail_out_aa)
U16_AAAA(tail_out_aa) → U17_AAAA(head_out_aa)
U17_AAAA(head_out_aa) → U18_AAAA(tail_out_aa)

The TRS R consists of the following rules:

tail_in_aatail_out_aa

The set Q consists of the following terms:

tail_in_aa

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

(40) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule U18_AAAA(tail_out_aa) → U19_AAAA(tail_in_aa) at position [0] we obtained the following new rules [LPAR04]:

U18_AAAA(tail_out_aa) → U19_AAAA(tail_out_aa)

(41) Obligation:

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

U19_AAAA(tail_out_aa) → ROW2COL_IN_AAAA
ROW2COL_IN_AAAAU10_AAAA(head_out_aa)
U10_AAAA(head_out_aa) → U11_AAAA(head_out_aa)
U11_AAAA(head_out_aa) → U12_AAAA(head_out_aa)
U12_AAAA(head_out_aa) → U13_AAAA(head_out_ag)
U13_AAAA(head_out_ag) → U14_AAAA(tail_out_aa)
U14_AAAA(tail_out_aa) → U15_AAAA(tail_out_aa)
U15_AAAA(tail_out_aa) → U16_AAAA(tail_out_aa)
U16_AAAA(tail_out_aa) → U17_AAAA(head_out_aa)
U17_AAAA(head_out_aa) → U18_AAAA(tail_out_aa)
U18_AAAA(tail_out_aa) → U19_AAAA(tail_out_aa)

The TRS R consists of the following rules:

tail_in_aatail_out_aa

The set Q consists of the following terms:

tail_in_aa

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

(42) UsableRulesProof (EQUIVALENT transformation)

As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.

(43) Obligation:

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

U19_AAAA(tail_out_aa) → ROW2COL_IN_AAAA
ROW2COL_IN_AAAAU10_AAAA(head_out_aa)
U10_AAAA(head_out_aa) → U11_AAAA(head_out_aa)
U11_AAAA(head_out_aa) → U12_AAAA(head_out_aa)
U12_AAAA(head_out_aa) → U13_AAAA(head_out_ag)
U13_AAAA(head_out_ag) → U14_AAAA(tail_out_aa)
U14_AAAA(tail_out_aa) → U15_AAAA(tail_out_aa)
U15_AAAA(tail_out_aa) → U16_AAAA(tail_out_aa)
U16_AAAA(tail_out_aa) → U17_AAAA(head_out_aa)
U17_AAAA(head_out_aa) → U18_AAAA(tail_out_aa)
U18_AAAA(tail_out_aa) → U19_AAAA(tail_out_aa)

R is empty.
The set Q consists of the following terms:

tail_in_aa

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

(44) QReductionProof (EQUIVALENT transformation)

We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN].

tail_in_aa

(45) Obligation:

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

U19_AAAA(tail_out_aa) → ROW2COL_IN_AAAA
ROW2COL_IN_AAAAU10_AAAA(head_out_aa)
U10_AAAA(head_out_aa) → U11_AAAA(head_out_aa)
U11_AAAA(head_out_aa) → U12_AAAA(head_out_aa)
U12_AAAA(head_out_aa) → U13_AAAA(head_out_ag)
U13_AAAA(head_out_ag) → U14_AAAA(tail_out_aa)
U14_AAAA(tail_out_aa) → U15_AAAA(tail_out_aa)
U15_AAAA(tail_out_aa) → U16_AAAA(tail_out_aa)
U16_AAAA(tail_out_aa) → U17_AAAA(head_out_aa)
U17_AAAA(head_out_aa) → U18_AAAA(tail_out_aa)
U18_AAAA(tail_out_aa) → U19_AAAA(tail_out_aa)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(46) NonTerminationProof (EQUIVALENT transformation)

We used the non-termination processor [FROCOS05] to show that the DP problem is infinite.
Found a loop by narrowing to the left:

s = ROW2COL_IN_AAAA evaluates to t =ROW2COL_IN_AAAA

Thus s starts an infinite chain as s semiunifies with t with the following substitutions:
  • Matcher: [ ]
  • Semiunifier: [ ]




Rewriting sequence

ROW2COL_IN_AAAAU10_AAAA(head_out_aa)
with rule ROW2COL_IN_AAAAU10_AAAA(head_out_aa) at position [] and matcher [ ]

U10_AAAA(head_out_aa)U11_AAAA(head_out_aa)
with rule U10_AAAA(head_out_aa) → U11_AAAA(head_out_aa) at position [] and matcher [ ]

U11_AAAA(head_out_aa)U12_AAAA(head_out_aa)
with rule U11_AAAA(head_out_aa) → U12_AAAA(head_out_aa) at position [] and matcher [ ]

U12_AAAA(head_out_aa)U13_AAAA(head_out_ag)
with rule U12_AAAA(head_out_aa) → U13_AAAA(head_out_ag) at position [] and matcher [ ]

U13_AAAA(head_out_ag)U14_AAAA(tail_out_aa)
with rule U13_AAAA(head_out_ag) → U14_AAAA(tail_out_aa) at position [] and matcher [ ]

U14_AAAA(tail_out_aa)U15_AAAA(tail_out_aa)
with rule U14_AAAA(tail_out_aa) → U15_AAAA(tail_out_aa) at position [] and matcher [ ]

U15_AAAA(tail_out_aa)U16_AAAA(tail_out_aa)
with rule U15_AAAA(tail_out_aa) → U16_AAAA(tail_out_aa) at position [] and matcher [ ]

U16_AAAA(tail_out_aa)U17_AAAA(head_out_aa)
with rule U16_AAAA(tail_out_aa) → U17_AAAA(head_out_aa) at position [] and matcher [ ]

U17_AAAA(head_out_aa)U18_AAAA(tail_out_aa)
with rule U17_AAAA(head_out_aa) → U18_AAAA(tail_out_aa) at position [] and matcher [ ]

U18_AAAA(tail_out_aa)U19_AAAA(tail_out_aa)
with rule U18_AAAA(tail_out_aa) → U19_AAAA(tail_out_aa) at position [] and matcher [ ]

U19_AAAA(tail_out_aa)ROW2COL_IN_AAAA
with rule U19_AAAA(tail_out_aa) → ROW2COL_IN_AAAA

Now applying the matcher to the start term leads to a term which is equal to the last term in the rewriting sequence


All these steps are and every following step will be a correct step w.r.t to Q.



(47) FALSE

(48) Obligation:

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

U4_GAA(R, X1, L, Rh, tail_out_ga(R, Rt)) → U5_GAA(R, X1, L, Rh, Rt, row2col_in_aaaa(Rh, L, Cols, Accm))
U5_GAA(R, X1, L, Rh, Rt, row2col_out_aaaa(Rh, L, Cols, Accm)) → TRANSPOSE_AUX_IN_GAA(Rt, Accm, Cols)
TRANSPOSE_AUX_IN_GAA(R, X1, L) → U3_GAA(R, X1, L, head_in_ga(R, Rh))
U3_GAA(R, X1, L, head_out_ga(R, Rh)) → U4_GAA(R, X1, L, Rh, tail_in_ga(R, Rt))

The TRS R consists of the following rules:

transpose_in_ga(A, B) → U1_ga(A, B, transpose_aux_in_gga(A, [], B))
transpose_aux_in_gga([], Y, Z) → U2_gga(Y, Z, eq_in_ga(Y, Z))
eq_in_ga(X, X) → eq_out_ga(X, X)
U2_gga(Y, Z, eq_out_ga(Y, Z)) → transpose_aux_out_gga([], Y, Z)
transpose_aux_in_gga(R, X1, L) → U3_gga(R, X1, L, head_in_ga(R, Rh))
head_in_ga([], X2) → head_out_ga([], X2)
head_in_ga(.(H, X3), H) → head_out_ga(.(H, X3), H)
U3_gga(R, X1, L, head_out_ga(R, Rh)) → U4_gga(R, X1, L, Rh, tail_in_ga(R, Rt))
tail_in_ga([], []) → tail_out_ga([], [])
tail_in_ga(.(X4, T), T) → tail_out_ga(.(X4, T), T)
U4_gga(R, X1, L, Rh, tail_out_ga(R, Rt)) → U5_gga(R, X1, L, Rh, Rt, row2col_in_aaaa(Rh, L, Cols, Accm))
row2col_in_aaaa([], X, Y, Z) → U7_aaaa(X, Y, Z, eq_in_ag(X, []))
eq_in_ag(X, X) → eq_out_ag(X, X)
U7_aaaa(X, Y, Z, eq_out_ag(X, [])) → U8_aaaa(X, Y, Z, eq_in_ag(Y, []))
U8_aaaa(X, Y, Z, eq_out_ag(Y, [])) → U9_aaaa(X, Y, Z, eq_in_ag(Z, []))
U9_aaaa(X, Y, Z, eq_out_ag(Z, [])) → row2col_out_aaaa([], X, Y, Z)
row2col_in_aaaa(X, Y, C, A) → U10_aaaa(X, Y, C, A, head_in_aa(X, Xh))
head_in_aa([], X2) → head_out_aa([], X2)
head_in_aa(.(H, X3), H) → head_out_aa(.(H, X3), H)
U10_aaaa(X, Y, C, A, head_out_aa(X, Xh)) → U11_aaaa(X, Y, C, A, Xh, head_in_aa(Y, Yh))
U11_aaaa(X, Y, C, A, Xh, head_out_aa(Y, Yh)) → U12_aaaa(X, Y, C, A, Xh, Yh, head_in_aa(Yh, Xh))
U12_aaaa(X, Y, C, A, Xh, Yh, head_out_aa(Yh, Xh)) → U13_aaaa(X, Y, C, A, Xh, Yh, head_in_ag(A, []))
head_in_ag([], X2) → head_out_ag([], X2)
head_in_ag(.(H, X3), H) → head_out_ag(.(H, X3), H)
U13_aaaa(X, Y, C, A, Xh, Yh, head_out_ag(A, [])) → U14_aaaa(X, Y, C, A, Xh, Yh, tail_in_aa(X, Xt))
tail_in_aa([], []) → tail_out_aa([], [])
tail_in_aa(.(X4, T), T) → tail_out_aa(.(X4, T), T)
U14_aaaa(X, Y, C, A, Xh, Yh, tail_out_aa(X, Xt)) → U15_aaaa(X, Y, C, A, Xh, Yh, Xt, tail_in_aa(Y, Yt))
U15_aaaa(X, Y, C, A, Xh, Yh, Xt, tail_out_aa(Y, Yt)) → U16_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, tail_in_aa(Yh, Yht))
U16_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, tail_out_aa(Yh, Yht)) → U17_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_in_aa(C, Yht))
U17_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_out_aa(C, Yht)) → U18_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_in_aa(C, Ct))
U18_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_out_aa(C, Ct)) → U19_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_in_aa(A, At))
U19_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_out_aa(A, At)) → U20_aaaa(X, Y, C, A, row2col_in_aaaa(Xt, Yt, Ct, At))
U20_aaaa(X, Y, C, A, row2col_out_aaaa(Xt, Yt, Ct, At)) → row2col_out_aaaa(X, Y, C, A)
U5_gga(R, X1, L, Rh, Rt, row2col_out_aaaa(Rh, L, Cols, Accm)) → U6_gga(R, X1, L, transpose_aux_in_gaa(Rt, Accm, Cols))
transpose_aux_in_gaa([], Y, Z) → U2_gaa(Y, Z, eq_in_aa(Y, Z))
eq_in_aa(X, X) → eq_out_aa(X, X)
U2_gaa(Y, Z, eq_out_aa(Y, Z)) → transpose_aux_out_gaa([], Y, Z)
transpose_aux_in_gaa(R, X1, L) → U3_gaa(R, X1, L, head_in_ga(R, Rh))
U3_gaa(R, X1, L, head_out_ga(R, Rh)) → U4_gaa(R, X1, L, Rh, tail_in_ga(R, Rt))
U4_gaa(R, X1, L, Rh, tail_out_ga(R, Rt)) → U5_gaa(R, X1, L, Rh, Rt, row2col_in_aaaa(Rh, L, Cols, Accm))
U5_gaa(R, X1, L, Rh, Rt, row2col_out_aaaa(Rh, L, Cols, Accm)) → U6_gaa(R, X1, L, transpose_aux_in_gaa(Rt, Accm, Cols))
U6_gaa(R, X1, L, transpose_aux_out_gaa(Rt, Accm, Cols)) → transpose_aux_out_gaa(R, X1, L)
U6_gga(R, X1, L, transpose_aux_out_gaa(Rt, Accm, Cols)) → transpose_aux_out_gga(R, X1, L)
U1_ga(A, B, transpose_aux_out_gga(A, [], B)) → transpose_out_ga(A, B)

The argument filtering Pi contains the following mapping:
transpose_in_ga(x1, x2)  =  transpose_in_ga(x1)
U1_ga(x1, x2, x3)  =  U1_ga(x3)
transpose_aux_in_gga(x1, x2, x3)  =  transpose_aux_in_gga(x1, x2)
[]  =  []
U2_gga(x1, x2, x3)  =  U2_gga(x3)
eq_in_ga(x1, x2)  =  eq_in_ga(x1)
eq_out_ga(x1, x2)  =  eq_out_ga(x2)
transpose_aux_out_gga(x1, x2, x3)  =  transpose_aux_out_gga
U3_gga(x1, x2, x3, x4)  =  U3_gga(x1, x4)
head_in_ga(x1, x2)  =  head_in_ga(x1)
head_out_ga(x1, x2)  =  head_out_ga
.(x1, x2)  =  .(x1, x2)
U4_gga(x1, x2, x3, x4, x5)  =  U4_gga(x5)
tail_in_ga(x1, x2)  =  tail_in_ga(x1)
tail_out_ga(x1, x2)  =  tail_out_ga(x2)
U5_gga(x1, x2, x3, x4, x5, x6)  =  U5_gga(x5, x6)
row2col_in_aaaa(x1, x2, x3, x4)  =  row2col_in_aaaa
U7_aaaa(x1, x2, x3, x4)  =  U7_aaaa(x4)
eq_in_ag(x1, x2)  =  eq_in_ag(x2)
eq_out_ag(x1, x2)  =  eq_out_ag(x1)
U8_aaaa(x1, x2, x3, x4)  =  U8_aaaa(x4)
U9_aaaa(x1, x2, x3, x4)  =  U9_aaaa(x4)
row2col_out_aaaa(x1, x2, x3, x4)  =  row2col_out_aaaa
U10_aaaa(x1, x2, x3, x4, x5)  =  U10_aaaa(x5)
head_in_aa(x1, x2)  =  head_in_aa
head_out_aa(x1, x2)  =  head_out_aa
U11_aaaa(x1, x2, x3, x4, x5, x6)  =  U11_aaaa(x6)
U12_aaaa(x1, x2, x3, x4, x5, x6, x7)  =  U12_aaaa(x7)
U13_aaaa(x1, x2, x3, x4, x5, x6, x7)  =  U13_aaaa(x7)
head_in_ag(x1, x2)  =  head_in_ag(x2)
head_out_ag(x1, x2)  =  head_out_ag
U14_aaaa(x1, x2, x3, x4, x5, x6, x7)  =  U14_aaaa(x7)
tail_in_aa(x1, x2)  =  tail_in_aa
tail_out_aa(x1, x2)  =  tail_out_aa
U15_aaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U15_aaaa(x8)
U16_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U16_aaaa(x9)
U17_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U17_aaaa(x10)
U18_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U18_aaaa(x10)
U19_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U19_aaaa(x11)
U20_aaaa(x1, x2, x3, x4, x5)  =  U20_aaaa(x5)
U6_gga(x1, x2, x3, x4)  =  U6_gga(x4)
transpose_aux_in_gaa(x1, x2, x3)  =  transpose_aux_in_gaa(x1)
U2_gaa(x1, x2, x3)  =  U2_gaa(x3)
eq_in_aa(x1, x2)  =  eq_in_aa
eq_out_aa(x1, x2)  =  eq_out_aa
transpose_aux_out_gaa(x1, x2, x3)  =  transpose_aux_out_gaa
U3_gaa(x1, x2, x3, x4)  =  U3_gaa(x1, x4)
U4_gaa(x1, x2, x3, x4, x5)  =  U4_gaa(x5)
U5_gaa(x1, x2, x3, x4, x5, x6)  =  U5_gaa(x5, x6)
U6_gaa(x1, x2, x3, x4)  =  U6_gaa(x4)
transpose_out_ga(x1, x2)  =  transpose_out_ga
TRANSPOSE_AUX_IN_GAA(x1, x2, x3)  =  TRANSPOSE_AUX_IN_GAA(x1)
U3_GAA(x1, x2, x3, x4)  =  U3_GAA(x1, x4)
U4_GAA(x1, x2, x3, x4, x5)  =  U4_GAA(x5)
U5_GAA(x1, x2, x3, x4, x5, x6)  =  U5_GAA(x5, x6)

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

(49) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(50) Obligation:

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

U4_GAA(R, X1, L, Rh, tail_out_ga(R, Rt)) → U5_GAA(R, X1, L, Rh, Rt, row2col_in_aaaa(Rh, L, Cols, Accm))
U5_GAA(R, X1, L, Rh, Rt, row2col_out_aaaa(Rh, L, Cols, Accm)) → TRANSPOSE_AUX_IN_GAA(Rt, Accm, Cols)
TRANSPOSE_AUX_IN_GAA(R, X1, L) → U3_GAA(R, X1, L, head_in_ga(R, Rh))
U3_GAA(R, X1, L, head_out_ga(R, Rh)) → U4_GAA(R, X1, L, Rh, tail_in_ga(R, Rt))

The TRS R consists of the following rules:

row2col_in_aaaa([], X, Y, Z) → U7_aaaa(X, Y, Z, eq_in_ag(X, []))
row2col_in_aaaa(X, Y, C, A) → U10_aaaa(X, Y, C, A, head_in_aa(X, Xh))
head_in_ga([], X2) → head_out_ga([], X2)
head_in_ga(.(H, X3), H) → head_out_ga(.(H, X3), H)
tail_in_ga([], []) → tail_out_ga([], [])
tail_in_ga(.(X4, T), T) → tail_out_ga(.(X4, T), T)
U7_aaaa(X, Y, Z, eq_out_ag(X, [])) → U8_aaaa(X, Y, Z, eq_in_ag(Y, []))
U10_aaaa(X, Y, C, A, head_out_aa(X, Xh)) → U11_aaaa(X, Y, C, A, Xh, head_in_aa(Y, Yh))
eq_in_ag(X, X) → eq_out_ag(X, X)
U8_aaaa(X, Y, Z, eq_out_ag(Y, [])) → U9_aaaa(X, Y, Z, eq_in_ag(Z, []))
head_in_aa([], X2) → head_out_aa([], X2)
head_in_aa(.(H, X3), H) → head_out_aa(.(H, X3), H)
U11_aaaa(X, Y, C, A, Xh, head_out_aa(Y, Yh)) → U12_aaaa(X, Y, C, A, Xh, Yh, head_in_aa(Yh, Xh))
U9_aaaa(X, Y, Z, eq_out_ag(Z, [])) → row2col_out_aaaa([], X, Y, Z)
U12_aaaa(X, Y, C, A, Xh, Yh, head_out_aa(Yh, Xh)) → U13_aaaa(X, Y, C, A, Xh, Yh, head_in_ag(A, []))
U13_aaaa(X, Y, C, A, Xh, Yh, head_out_ag(A, [])) → U14_aaaa(X, Y, C, A, Xh, Yh, tail_in_aa(X, Xt))
head_in_ag([], X2) → head_out_ag([], X2)
head_in_ag(.(H, X3), H) → head_out_ag(.(H, X3), H)
U14_aaaa(X, Y, C, A, Xh, Yh, tail_out_aa(X, Xt)) → U15_aaaa(X, Y, C, A, Xh, Yh, Xt, tail_in_aa(Y, Yt))
tail_in_aa([], []) → tail_out_aa([], [])
tail_in_aa(.(X4, T), T) → tail_out_aa(.(X4, T), T)
U15_aaaa(X, Y, C, A, Xh, Yh, Xt, tail_out_aa(Y, Yt)) → U16_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, tail_in_aa(Yh, Yht))
U16_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, tail_out_aa(Yh, Yht)) → U17_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_in_aa(C, Yht))
U17_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_out_aa(C, Yht)) → U18_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_in_aa(C, Ct))
U18_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_out_aa(C, Ct)) → U19_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_in_aa(A, At))
U19_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_out_aa(A, At)) → U20_aaaa(X, Y, C, A, row2col_in_aaaa(Xt, Yt, Ct, At))
U20_aaaa(X, Y, C, A, row2col_out_aaaa(Xt, Yt, Ct, At)) → row2col_out_aaaa(X, Y, C, A)

The argument filtering Pi contains the following mapping:
[]  =  []
head_in_ga(x1, x2)  =  head_in_ga(x1)
head_out_ga(x1, x2)  =  head_out_ga
.(x1, x2)  =  .(x1, x2)
tail_in_ga(x1, x2)  =  tail_in_ga(x1)
tail_out_ga(x1, x2)  =  tail_out_ga(x2)
row2col_in_aaaa(x1, x2, x3, x4)  =  row2col_in_aaaa
U7_aaaa(x1, x2, x3, x4)  =  U7_aaaa(x4)
eq_in_ag(x1, x2)  =  eq_in_ag(x2)
eq_out_ag(x1, x2)  =  eq_out_ag(x1)
U8_aaaa(x1, x2, x3, x4)  =  U8_aaaa(x4)
U9_aaaa(x1, x2, x3, x4)  =  U9_aaaa(x4)
row2col_out_aaaa(x1, x2, x3, x4)  =  row2col_out_aaaa
U10_aaaa(x1, x2, x3, x4, x5)  =  U10_aaaa(x5)
head_in_aa(x1, x2)  =  head_in_aa
head_out_aa(x1, x2)  =  head_out_aa
U11_aaaa(x1, x2, x3, x4, x5, x6)  =  U11_aaaa(x6)
U12_aaaa(x1, x2, x3, x4, x5, x6, x7)  =  U12_aaaa(x7)
U13_aaaa(x1, x2, x3, x4, x5, x6, x7)  =  U13_aaaa(x7)
head_in_ag(x1, x2)  =  head_in_ag(x2)
head_out_ag(x1, x2)  =  head_out_ag
U14_aaaa(x1, x2, x3, x4, x5, x6, x7)  =  U14_aaaa(x7)
tail_in_aa(x1, x2)  =  tail_in_aa
tail_out_aa(x1, x2)  =  tail_out_aa
U15_aaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U15_aaaa(x8)
U16_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U16_aaaa(x9)
U17_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U17_aaaa(x10)
U18_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U18_aaaa(x10)
U19_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U19_aaaa(x11)
U20_aaaa(x1, x2, x3, x4, x5)  =  U20_aaaa(x5)
TRANSPOSE_AUX_IN_GAA(x1, x2, x3)  =  TRANSPOSE_AUX_IN_GAA(x1)
U3_GAA(x1, x2, x3, x4)  =  U3_GAA(x1, x4)
U4_GAA(x1, x2, x3, x4, x5)  =  U4_GAA(x5)
U5_GAA(x1, x2, x3, x4, x5, x6)  =  U5_GAA(x5, x6)

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

(51) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(52) Obligation:

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

U4_GAA(tail_out_ga(Rt)) → U5_GAA(Rt, row2col_in_aaaa)
U5_GAA(Rt, row2col_out_aaaa) → TRANSPOSE_AUX_IN_GAA(Rt)
TRANSPOSE_AUX_IN_GAA(R) → U3_GAA(R, head_in_ga(R))
U3_GAA(R, head_out_ga) → U4_GAA(tail_in_ga(R))

The TRS R consists of the following rules:

row2col_in_aaaaU7_aaaa(eq_in_ag([]))
row2col_in_aaaaU10_aaaa(head_in_aa)
head_in_ga([]) → head_out_ga
head_in_ga(.(H, X3)) → head_out_ga
tail_in_ga([]) → tail_out_ga([])
tail_in_ga(.(X4, T)) → tail_out_ga(T)
U7_aaaa(eq_out_ag(X)) → U8_aaaa(eq_in_ag([]))
U10_aaaa(head_out_aa) → U11_aaaa(head_in_aa)
eq_in_ag(X) → eq_out_ag(X)
U8_aaaa(eq_out_ag(Y)) → U9_aaaa(eq_in_ag([]))
head_in_aahead_out_aa
U11_aaaa(head_out_aa) → U12_aaaa(head_in_aa)
U9_aaaa(eq_out_ag(Z)) → row2col_out_aaaa
U12_aaaa(head_out_aa) → U13_aaaa(head_in_ag([]))
U13_aaaa(head_out_ag) → U14_aaaa(tail_in_aa)
head_in_ag(X2) → head_out_ag
U14_aaaa(tail_out_aa) → U15_aaaa(tail_in_aa)
tail_in_aatail_out_aa
U15_aaaa(tail_out_aa) → U16_aaaa(tail_in_aa)
U16_aaaa(tail_out_aa) → U17_aaaa(head_in_aa)
U17_aaaa(head_out_aa) → U18_aaaa(tail_in_aa)
U18_aaaa(tail_out_aa) → U19_aaaa(tail_in_aa)
U19_aaaa(tail_out_aa) → U20_aaaa(row2col_in_aaaa)
U20_aaaa(row2col_out_aaaa) → row2col_out_aaaa

The set Q consists of the following terms:

row2col_in_aaaa
head_in_ga(x0)
tail_in_ga(x0)
U7_aaaa(x0)
U10_aaaa(x0)
eq_in_ag(x0)
U8_aaaa(x0)
head_in_aa
U11_aaaa(x0)
U9_aaaa(x0)
U12_aaaa(x0)
U13_aaaa(x0)
head_in_ag(x0)
U14_aaaa(x0)
tail_in_aa
U15_aaaa(x0)
U16_aaaa(x0)
U17_aaaa(x0)
U18_aaaa(x0)
U19_aaaa(x0)
U20_aaaa(x0)

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

(53) UsableRulesReductionPairsProof (EQUIVALENT transformation)

By using the usable rules with reduction pair processor [LPAR04] with a polynomial ordering [POLO], all dependency pairs and the corresponding usable rules [FROCOS05] can be oriented non-strictly. All non-usable rules are removed, and those dependency pairs and usable rules that have been oriented strictly or contain non-usable symbols in their left-hand side are removed as well.

No dependency pairs are removed.

The following rules are removed from R:

tail_in_ga(.(X4, T)) → tail_out_ga(T)
head_in_ga(.(H, X3)) → head_out_ga
Used ordering: POLO with Polynomial interpretation [POLO]:

POL(.(x1, x2)) = 1 + x1 + 2·x2   
POL(TRANSPOSE_AUX_IN_GAA(x1)) = 2·x1   
POL(U10_aaaa(x1)) = 2·x1   
POL(U11_aaaa(x1)) = 2·x1   
POL(U12_aaaa(x1)) = x1   
POL(U13_aaaa(x1)) = x1   
POL(U14_aaaa(x1)) = 2·x1   
POL(U15_aaaa(x1)) = 2·x1   
POL(U16_aaaa(x1)) = 2·x1   
POL(U17_aaaa(x1)) = 2·x1   
POL(U18_aaaa(x1)) = 2·x1   
POL(U19_aaaa(x1)) = 2·x1   
POL(U20_aaaa(x1)) = x1   
POL(U3_GAA(x1, x2)) = x1 + x2   
POL(U4_GAA(x1)) = x1   
POL(U5_GAA(x1, x2)) = 2·x1 + 2·x2   
POL(U7_aaaa(x1)) = 2·x1   
POL(U8_aaaa(x1)) = 2·x1   
POL(U9_aaaa(x1)) = 2·x1   
POL([]) = 0   
POL(eq_in_ag(x1)) = 2·x1   
POL(eq_out_ag(x1)) = x1   
POL(head_in_aa) = 0   
POL(head_in_ag(x1)) = x1   
POL(head_in_ga(x1)) = x1   
POL(head_out_aa) = 0   
POL(head_out_ag) = 0   
POL(head_out_ga) = 0   
POL(row2col_in_aaaa) = 0   
POL(row2col_out_aaaa) = 0   
POL(tail_in_aa) = 0   
POL(tail_in_ga(x1)) = x1   
POL(tail_out_aa) = 0   
POL(tail_out_ga(x1)) = 2·x1   

(54) Obligation:

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

U4_GAA(tail_out_ga(Rt)) → U5_GAA(Rt, row2col_in_aaaa)
U5_GAA(Rt, row2col_out_aaaa) → TRANSPOSE_AUX_IN_GAA(Rt)
TRANSPOSE_AUX_IN_GAA(R) → U3_GAA(R, head_in_ga(R))
U3_GAA(R, head_out_ga) → U4_GAA(tail_in_ga(R))

The TRS R consists of the following rules:

tail_in_ga([]) → tail_out_ga([])
head_in_ga([]) → head_out_ga
row2col_in_aaaaU7_aaaa(eq_in_ag([]))
row2col_in_aaaaU10_aaaa(head_in_aa)
head_in_aahead_out_aa
U10_aaaa(head_out_aa) → U11_aaaa(head_in_aa)
U11_aaaa(head_out_aa) → U12_aaaa(head_in_aa)
U12_aaaa(head_out_aa) → U13_aaaa(head_in_ag([]))
head_in_ag(X2) → head_out_ag
U13_aaaa(head_out_ag) → U14_aaaa(tail_in_aa)
tail_in_aatail_out_aa
U14_aaaa(tail_out_aa) → U15_aaaa(tail_in_aa)
U15_aaaa(tail_out_aa) → U16_aaaa(tail_in_aa)
U16_aaaa(tail_out_aa) → U17_aaaa(head_in_aa)
U17_aaaa(head_out_aa) → U18_aaaa(tail_in_aa)
U18_aaaa(tail_out_aa) → U19_aaaa(tail_in_aa)
U19_aaaa(tail_out_aa) → U20_aaaa(row2col_in_aaaa)
U20_aaaa(row2col_out_aaaa) → row2col_out_aaaa
eq_in_ag(X) → eq_out_ag(X)
U7_aaaa(eq_out_ag(X)) → U8_aaaa(eq_in_ag([]))
U8_aaaa(eq_out_ag(Y)) → U9_aaaa(eq_in_ag([]))
U9_aaaa(eq_out_ag(Z)) → row2col_out_aaaa

The set Q consists of the following terms:

row2col_in_aaaa
head_in_ga(x0)
tail_in_ga(x0)
U7_aaaa(x0)
U10_aaaa(x0)
eq_in_ag(x0)
U8_aaaa(x0)
head_in_aa
U11_aaaa(x0)
U9_aaaa(x0)
U12_aaaa(x0)
U13_aaaa(x0)
head_in_ag(x0)
U14_aaaa(x0)
tail_in_aa
U15_aaaa(x0)
U16_aaaa(x0)
U17_aaaa(x0)
U18_aaaa(x0)
U19_aaaa(x0)
U20_aaaa(x0)

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

(55) Narrowing (SOUND transformation)

By narrowing [LPAR04] the rule TRANSPOSE_AUX_IN_GAA(R) → U3_GAA(R, head_in_ga(R)) at position [1] we obtained the following new rules [LPAR04]:

TRANSPOSE_AUX_IN_GAA([]) → U3_GAA([], head_out_ga)

(56) Obligation:

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

U4_GAA(tail_out_ga(Rt)) → U5_GAA(Rt, row2col_in_aaaa)
U5_GAA(Rt, row2col_out_aaaa) → TRANSPOSE_AUX_IN_GAA(Rt)
U3_GAA(R, head_out_ga) → U4_GAA(tail_in_ga(R))
TRANSPOSE_AUX_IN_GAA([]) → U3_GAA([], head_out_ga)

The TRS R consists of the following rules:

tail_in_ga([]) → tail_out_ga([])
head_in_ga([]) → head_out_ga
row2col_in_aaaaU7_aaaa(eq_in_ag([]))
row2col_in_aaaaU10_aaaa(head_in_aa)
head_in_aahead_out_aa
U10_aaaa(head_out_aa) → U11_aaaa(head_in_aa)
U11_aaaa(head_out_aa) → U12_aaaa(head_in_aa)
U12_aaaa(head_out_aa) → U13_aaaa(head_in_ag([]))
head_in_ag(X2) → head_out_ag
U13_aaaa(head_out_ag) → U14_aaaa(tail_in_aa)
tail_in_aatail_out_aa
U14_aaaa(tail_out_aa) → U15_aaaa(tail_in_aa)
U15_aaaa(tail_out_aa) → U16_aaaa(tail_in_aa)
U16_aaaa(tail_out_aa) → U17_aaaa(head_in_aa)
U17_aaaa(head_out_aa) → U18_aaaa(tail_in_aa)
U18_aaaa(tail_out_aa) → U19_aaaa(tail_in_aa)
U19_aaaa(tail_out_aa) → U20_aaaa(row2col_in_aaaa)
U20_aaaa(row2col_out_aaaa) → row2col_out_aaaa
eq_in_ag(X) → eq_out_ag(X)
U7_aaaa(eq_out_ag(X)) → U8_aaaa(eq_in_ag([]))
U8_aaaa(eq_out_ag(Y)) → U9_aaaa(eq_in_ag([]))
U9_aaaa(eq_out_ag(Z)) → row2col_out_aaaa

The set Q consists of the following terms:

row2col_in_aaaa
head_in_ga(x0)
tail_in_ga(x0)
U7_aaaa(x0)
U10_aaaa(x0)
eq_in_ag(x0)
U8_aaaa(x0)
head_in_aa
U11_aaaa(x0)
U9_aaaa(x0)
U12_aaaa(x0)
U13_aaaa(x0)
head_in_ag(x0)
U14_aaaa(x0)
tail_in_aa
U15_aaaa(x0)
U16_aaaa(x0)
U17_aaaa(x0)
U18_aaaa(x0)
U19_aaaa(x0)
U20_aaaa(x0)

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

(57) UsableRulesProof (EQUIVALENT transformation)

As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.

(58) Obligation:

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

U4_GAA(tail_out_ga(Rt)) → U5_GAA(Rt, row2col_in_aaaa)
U5_GAA(Rt, row2col_out_aaaa) → TRANSPOSE_AUX_IN_GAA(Rt)
U3_GAA(R, head_out_ga) → U4_GAA(tail_in_ga(R))
TRANSPOSE_AUX_IN_GAA([]) → U3_GAA([], head_out_ga)

The TRS R consists of the following rules:

tail_in_ga([]) → tail_out_ga([])
row2col_in_aaaaU7_aaaa(eq_in_ag([]))
row2col_in_aaaaU10_aaaa(head_in_aa)
head_in_aahead_out_aa
U10_aaaa(head_out_aa) → U11_aaaa(head_in_aa)
U11_aaaa(head_out_aa) → U12_aaaa(head_in_aa)
U12_aaaa(head_out_aa) → U13_aaaa(head_in_ag([]))
head_in_ag(X2) → head_out_ag
U13_aaaa(head_out_ag) → U14_aaaa(tail_in_aa)
tail_in_aatail_out_aa
U14_aaaa(tail_out_aa) → U15_aaaa(tail_in_aa)
U15_aaaa(tail_out_aa) → U16_aaaa(tail_in_aa)
U16_aaaa(tail_out_aa) → U17_aaaa(head_in_aa)
U17_aaaa(head_out_aa) → U18_aaaa(tail_in_aa)
U18_aaaa(tail_out_aa) → U19_aaaa(tail_in_aa)
U19_aaaa(tail_out_aa) → U20_aaaa(row2col_in_aaaa)
U20_aaaa(row2col_out_aaaa) → row2col_out_aaaa
eq_in_ag(X) → eq_out_ag(X)
U7_aaaa(eq_out_ag(X)) → U8_aaaa(eq_in_ag([]))
U8_aaaa(eq_out_ag(Y)) → U9_aaaa(eq_in_ag([]))
U9_aaaa(eq_out_ag(Z)) → row2col_out_aaaa

The set Q consists of the following terms:

row2col_in_aaaa
head_in_ga(x0)
tail_in_ga(x0)
U7_aaaa(x0)
U10_aaaa(x0)
eq_in_ag(x0)
U8_aaaa(x0)
head_in_aa
U11_aaaa(x0)
U9_aaaa(x0)
U12_aaaa(x0)
U13_aaaa(x0)
head_in_ag(x0)
U14_aaaa(x0)
tail_in_aa
U15_aaaa(x0)
U16_aaaa(x0)
U17_aaaa(x0)
U18_aaaa(x0)
U19_aaaa(x0)
U20_aaaa(x0)

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

(59) QReductionProof (EQUIVALENT transformation)

We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN].

head_in_ga(x0)

(60) Obligation:

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

U4_GAA(tail_out_ga(Rt)) → U5_GAA(Rt, row2col_in_aaaa)
U5_GAA(Rt, row2col_out_aaaa) → TRANSPOSE_AUX_IN_GAA(Rt)
U3_GAA(R, head_out_ga) → U4_GAA(tail_in_ga(R))
TRANSPOSE_AUX_IN_GAA([]) → U3_GAA([], head_out_ga)

The TRS R consists of the following rules:

tail_in_ga([]) → tail_out_ga([])
row2col_in_aaaaU7_aaaa(eq_in_ag([]))
row2col_in_aaaaU10_aaaa(head_in_aa)
head_in_aahead_out_aa
U10_aaaa(head_out_aa) → U11_aaaa(head_in_aa)
U11_aaaa(head_out_aa) → U12_aaaa(head_in_aa)
U12_aaaa(head_out_aa) → U13_aaaa(head_in_ag([]))
head_in_ag(X2) → head_out_ag
U13_aaaa(head_out_ag) → U14_aaaa(tail_in_aa)
tail_in_aatail_out_aa
U14_aaaa(tail_out_aa) → U15_aaaa(tail_in_aa)
U15_aaaa(tail_out_aa) → U16_aaaa(tail_in_aa)
U16_aaaa(tail_out_aa) → U17_aaaa(head_in_aa)
U17_aaaa(head_out_aa) → U18_aaaa(tail_in_aa)
U18_aaaa(tail_out_aa) → U19_aaaa(tail_in_aa)
U19_aaaa(tail_out_aa) → U20_aaaa(row2col_in_aaaa)
U20_aaaa(row2col_out_aaaa) → row2col_out_aaaa
eq_in_ag(X) → eq_out_ag(X)
U7_aaaa(eq_out_ag(X)) → U8_aaaa(eq_in_ag([]))
U8_aaaa(eq_out_ag(Y)) → U9_aaaa(eq_in_ag([]))
U9_aaaa(eq_out_ag(Z)) → row2col_out_aaaa

The set Q consists of the following terms:

row2col_in_aaaa
tail_in_ga(x0)
U7_aaaa(x0)
U10_aaaa(x0)
eq_in_ag(x0)
U8_aaaa(x0)
head_in_aa
U11_aaaa(x0)
U9_aaaa(x0)
U12_aaaa(x0)
U13_aaaa(x0)
head_in_ag(x0)
U14_aaaa(x0)
tail_in_aa
U15_aaaa(x0)
U16_aaaa(x0)
U17_aaaa(x0)
U18_aaaa(x0)
U19_aaaa(x0)
U20_aaaa(x0)

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

(61) Narrowing (SOUND transformation)

By narrowing [LPAR04] the rule U3_GAA(R, head_out_ga) → U4_GAA(tail_in_ga(R)) at position [0] we obtained the following new rules [LPAR04]:

U3_GAA([], head_out_ga) → U4_GAA(tail_out_ga([]))

(62) Obligation:

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

U4_GAA(tail_out_ga(Rt)) → U5_GAA(Rt, row2col_in_aaaa)
U5_GAA(Rt, row2col_out_aaaa) → TRANSPOSE_AUX_IN_GAA(Rt)
TRANSPOSE_AUX_IN_GAA([]) → U3_GAA([], head_out_ga)
U3_GAA([], head_out_ga) → U4_GAA(tail_out_ga([]))

The TRS R consists of the following rules:

tail_in_ga([]) → tail_out_ga([])
row2col_in_aaaaU7_aaaa(eq_in_ag([]))
row2col_in_aaaaU10_aaaa(head_in_aa)
head_in_aahead_out_aa
U10_aaaa(head_out_aa) → U11_aaaa(head_in_aa)
U11_aaaa(head_out_aa) → U12_aaaa(head_in_aa)
U12_aaaa(head_out_aa) → U13_aaaa(head_in_ag([]))
head_in_ag(X2) → head_out_ag
U13_aaaa(head_out_ag) → U14_aaaa(tail_in_aa)
tail_in_aatail_out_aa
U14_aaaa(tail_out_aa) → U15_aaaa(tail_in_aa)
U15_aaaa(tail_out_aa) → U16_aaaa(tail_in_aa)
U16_aaaa(tail_out_aa) → U17_aaaa(head_in_aa)
U17_aaaa(head_out_aa) → U18_aaaa(tail_in_aa)
U18_aaaa(tail_out_aa) → U19_aaaa(tail_in_aa)
U19_aaaa(tail_out_aa) → U20_aaaa(row2col_in_aaaa)
U20_aaaa(row2col_out_aaaa) → row2col_out_aaaa
eq_in_ag(X) → eq_out_ag(X)
U7_aaaa(eq_out_ag(X)) → U8_aaaa(eq_in_ag([]))
U8_aaaa(eq_out_ag(Y)) → U9_aaaa(eq_in_ag([]))
U9_aaaa(eq_out_ag(Z)) → row2col_out_aaaa

The set Q consists of the following terms:

row2col_in_aaaa
tail_in_ga(x0)
U7_aaaa(x0)
U10_aaaa(x0)
eq_in_ag(x0)
U8_aaaa(x0)
head_in_aa
U11_aaaa(x0)
U9_aaaa(x0)
U12_aaaa(x0)
U13_aaaa(x0)
head_in_ag(x0)
U14_aaaa(x0)
tail_in_aa
U15_aaaa(x0)
U16_aaaa(x0)
U17_aaaa(x0)
U18_aaaa(x0)
U19_aaaa(x0)
U20_aaaa(x0)

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

(63) UsableRulesProof (EQUIVALENT transformation)

As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.

(64) Obligation:

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

U4_GAA(tail_out_ga(Rt)) → U5_GAA(Rt, row2col_in_aaaa)
U5_GAA(Rt, row2col_out_aaaa) → TRANSPOSE_AUX_IN_GAA(Rt)
TRANSPOSE_AUX_IN_GAA([]) → U3_GAA([], head_out_ga)
U3_GAA([], head_out_ga) → U4_GAA(tail_out_ga([]))

The TRS R consists of the following rules:

row2col_in_aaaaU7_aaaa(eq_in_ag([]))
row2col_in_aaaaU10_aaaa(head_in_aa)
head_in_aahead_out_aa
U10_aaaa(head_out_aa) → U11_aaaa(head_in_aa)
U11_aaaa(head_out_aa) → U12_aaaa(head_in_aa)
U12_aaaa(head_out_aa) → U13_aaaa(head_in_ag([]))
head_in_ag(X2) → head_out_ag
U13_aaaa(head_out_ag) → U14_aaaa(tail_in_aa)
tail_in_aatail_out_aa
U14_aaaa(tail_out_aa) → U15_aaaa(tail_in_aa)
U15_aaaa(tail_out_aa) → U16_aaaa(tail_in_aa)
U16_aaaa(tail_out_aa) → U17_aaaa(head_in_aa)
U17_aaaa(head_out_aa) → U18_aaaa(tail_in_aa)
U18_aaaa(tail_out_aa) → U19_aaaa(tail_in_aa)
U19_aaaa(tail_out_aa) → U20_aaaa(row2col_in_aaaa)
U20_aaaa(row2col_out_aaaa) → row2col_out_aaaa
eq_in_ag(X) → eq_out_ag(X)
U7_aaaa(eq_out_ag(X)) → U8_aaaa(eq_in_ag([]))
U8_aaaa(eq_out_ag(Y)) → U9_aaaa(eq_in_ag([]))
U9_aaaa(eq_out_ag(Z)) → row2col_out_aaaa

The set Q consists of the following terms:

row2col_in_aaaa
tail_in_ga(x0)
U7_aaaa(x0)
U10_aaaa(x0)
eq_in_ag(x0)
U8_aaaa(x0)
head_in_aa
U11_aaaa(x0)
U9_aaaa(x0)
U12_aaaa(x0)
U13_aaaa(x0)
head_in_ag(x0)
U14_aaaa(x0)
tail_in_aa
U15_aaaa(x0)
U16_aaaa(x0)
U17_aaaa(x0)
U18_aaaa(x0)
U19_aaaa(x0)
U20_aaaa(x0)

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

(65) QReductionProof (EQUIVALENT transformation)

We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN].

tail_in_ga(x0)

(66) Obligation:

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

U4_GAA(tail_out_ga(Rt)) → U5_GAA(Rt, row2col_in_aaaa)
U5_GAA(Rt, row2col_out_aaaa) → TRANSPOSE_AUX_IN_GAA(Rt)
TRANSPOSE_AUX_IN_GAA([]) → U3_GAA([], head_out_ga)
U3_GAA([], head_out_ga) → U4_GAA(tail_out_ga([]))

The TRS R consists of the following rules:

row2col_in_aaaaU7_aaaa(eq_in_ag([]))
row2col_in_aaaaU10_aaaa(head_in_aa)
head_in_aahead_out_aa
U10_aaaa(head_out_aa) → U11_aaaa(head_in_aa)
U11_aaaa(head_out_aa) → U12_aaaa(head_in_aa)
U12_aaaa(head_out_aa) → U13_aaaa(head_in_ag([]))
head_in_ag(X2) → head_out_ag
U13_aaaa(head_out_ag) → U14_aaaa(tail_in_aa)
tail_in_aatail_out_aa
U14_aaaa(tail_out_aa) → U15_aaaa(tail_in_aa)
U15_aaaa(tail_out_aa) → U16_aaaa(tail_in_aa)
U16_aaaa(tail_out_aa) → U17_aaaa(head_in_aa)
U17_aaaa(head_out_aa) → U18_aaaa(tail_in_aa)
U18_aaaa(tail_out_aa) → U19_aaaa(tail_in_aa)
U19_aaaa(tail_out_aa) → U20_aaaa(row2col_in_aaaa)
U20_aaaa(row2col_out_aaaa) → row2col_out_aaaa
eq_in_ag(X) → eq_out_ag(X)
U7_aaaa(eq_out_ag(X)) → U8_aaaa(eq_in_ag([]))
U8_aaaa(eq_out_ag(Y)) → U9_aaaa(eq_in_ag([]))
U9_aaaa(eq_out_ag(Z)) → row2col_out_aaaa

The set Q consists of the following terms:

row2col_in_aaaa
U7_aaaa(x0)
U10_aaaa(x0)
eq_in_ag(x0)
U8_aaaa(x0)
head_in_aa
U11_aaaa(x0)
U9_aaaa(x0)
U12_aaaa(x0)
U13_aaaa(x0)
head_in_ag(x0)
U14_aaaa(x0)
tail_in_aa
U15_aaaa(x0)
U16_aaaa(x0)
U17_aaaa(x0)
U18_aaaa(x0)
U19_aaaa(x0)
U20_aaaa(x0)

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

(67) Instantiation (EQUIVALENT transformation)

By instantiating [LPAR04] the rule U4_GAA(tail_out_ga(Rt)) → U5_GAA(Rt, row2col_in_aaaa) we obtained the following new rules [LPAR04]:

U4_GAA(tail_out_ga([])) → U5_GAA([], row2col_in_aaaa)

(68) Obligation:

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

U5_GAA(Rt, row2col_out_aaaa) → TRANSPOSE_AUX_IN_GAA(Rt)
TRANSPOSE_AUX_IN_GAA([]) → U3_GAA([], head_out_ga)
U3_GAA([], head_out_ga) → U4_GAA(tail_out_ga([]))
U4_GAA(tail_out_ga([])) → U5_GAA([], row2col_in_aaaa)

The TRS R consists of the following rules:

row2col_in_aaaaU7_aaaa(eq_in_ag([]))
row2col_in_aaaaU10_aaaa(head_in_aa)
head_in_aahead_out_aa
U10_aaaa(head_out_aa) → U11_aaaa(head_in_aa)
U11_aaaa(head_out_aa) → U12_aaaa(head_in_aa)
U12_aaaa(head_out_aa) → U13_aaaa(head_in_ag([]))
head_in_ag(X2) → head_out_ag
U13_aaaa(head_out_ag) → U14_aaaa(tail_in_aa)
tail_in_aatail_out_aa
U14_aaaa(tail_out_aa) → U15_aaaa(tail_in_aa)
U15_aaaa(tail_out_aa) → U16_aaaa(tail_in_aa)
U16_aaaa(tail_out_aa) → U17_aaaa(head_in_aa)
U17_aaaa(head_out_aa) → U18_aaaa(tail_in_aa)
U18_aaaa(tail_out_aa) → U19_aaaa(tail_in_aa)
U19_aaaa(tail_out_aa) → U20_aaaa(row2col_in_aaaa)
U20_aaaa(row2col_out_aaaa) → row2col_out_aaaa
eq_in_ag(X) → eq_out_ag(X)
U7_aaaa(eq_out_ag(X)) → U8_aaaa(eq_in_ag([]))
U8_aaaa(eq_out_ag(Y)) → U9_aaaa(eq_in_ag([]))
U9_aaaa(eq_out_ag(Z)) → row2col_out_aaaa

The set Q consists of the following terms:

row2col_in_aaaa
U7_aaaa(x0)
U10_aaaa(x0)
eq_in_ag(x0)
U8_aaaa(x0)
head_in_aa
U11_aaaa(x0)
U9_aaaa(x0)
U12_aaaa(x0)
U13_aaaa(x0)
head_in_ag(x0)
U14_aaaa(x0)
tail_in_aa
U15_aaaa(x0)
U16_aaaa(x0)
U17_aaaa(x0)
U18_aaaa(x0)
U19_aaaa(x0)
U20_aaaa(x0)

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

(69) Instantiation (EQUIVALENT transformation)

By instantiating [LPAR04] the rule U5_GAA(Rt, row2col_out_aaaa) → TRANSPOSE_AUX_IN_GAA(Rt) we obtained the following new rules [LPAR04]:

U5_GAA([], row2col_out_aaaa) → TRANSPOSE_AUX_IN_GAA([])

(70) Obligation:

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

TRANSPOSE_AUX_IN_GAA([]) → U3_GAA([], head_out_ga)
U3_GAA([], head_out_ga) → U4_GAA(tail_out_ga([]))
U4_GAA(tail_out_ga([])) → U5_GAA([], row2col_in_aaaa)
U5_GAA([], row2col_out_aaaa) → TRANSPOSE_AUX_IN_GAA([])

The TRS R consists of the following rules:

row2col_in_aaaaU7_aaaa(eq_in_ag([]))
row2col_in_aaaaU10_aaaa(head_in_aa)
head_in_aahead_out_aa
U10_aaaa(head_out_aa) → U11_aaaa(head_in_aa)
U11_aaaa(head_out_aa) → U12_aaaa(head_in_aa)
U12_aaaa(head_out_aa) → U13_aaaa(head_in_ag([]))
head_in_ag(X2) → head_out_ag
U13_aaaa(head_out_ag) → U14_aaaa(tail_in_aa)
tail_in_aatail_out_aa
U14_aaaa(tail_out_aa) → U15_aaaa(tail_in_aa)
U15_aaaa(tail_out_aa) → U16_aaaa(tail_in_aa)
U16_aaaa(tail_out_aa) → U17_aaaa(head_in_aa)
U17_aaaa(head_out_aa) → U18_aaaa(tail_in_aa)
U18_aaaa(tail_out_aa) → U19_aaaa(tail_in_aa)
U19_aaaa(tail_out_aa) → U20_aaaa(row2col_in_aaaa)
U20_aaaa(row2col_out_aaaa) → row2col_out_aaaa
eq_in_ag(X) → eq_out_ag(X)
U7_aaaa(eq_out_ag(X)) → U8_aaaa(eq_in_ag([]))
U8_aaaa(eq_out_ag(Y)) → U9_aaaa(eq_in_ag([]))
U9_aaaa(eq_out_ag(Z)) → row2col_out_aaaa

The set Q consists of the following terms:

row2col_in_aaaa
U7_aaaa(x0)
U10_aaaa(x0)
eq_in_ag(x0)
U8_aaaa(x0)
head_in_aa
U11_aaaa(x0)
U9_aaaa(x0)
U12_aaaa(x0)
U13_aaaa(x0)
head_in_ag(x0)
U14_aaaa(x0)
tail_in_aa
U15_aaaa(x0)
U16_aaaa(x0)
U17_aaaa(x0)
U18_aaaa(x0)
U19_aaaa(x0)
U20_aaaa(x0)

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

(71) Narrowing (SOUND transformation)

By narrowing [LPAR04] the rule U4_GAA(tail_out_ga([])) → U5_GAA([], row2col_in_aaaa) at position [1] we obtained the following new rules [LPAR04]:

U4_GAA(tail_out_ga([])) → U5_GAA([], U7_aaaa(eq_in_ag([])))
U4_GAA(tail_out_ga([])) → U5_GAA([], U10_aaaa(head_in_aa))

(72) Obligation:

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

TRANSPOSE_AUX_IN_GAA([]) → U3_GAA([], head_out_ga)
U3_GAA([], head_out_ga) → U4_GAA(tail_out_ga([]))
U5_GAA([], row2col_out_aaaa) → TRANSPOSE_AUX_IN_GAA([])
U4_GAA(tail_out_ga([])) → U5_GAA([], U7_aaaa(eq_in_ag([])))
U4_GAA(tail_out_ga([])) → U5_GAA([], U10_aaaa(head_in_aa))

The TRS R consists of the following rules:

row2col_in_aaaaU7_aaaa(eq_in_ag([]))
row2col_in_aaaaU10_aaaa(head_in_aa)
head_in_aahead_out_aa
U10_aaaa(head_out_aa) → U11_aaaa(head_in_aa)
U11_aaaa(head_out_aa) → U12_aaaa(head_in_aa)
U12_aaaa(head_out_aa) → U13_aaaa(head_in_ag([]))
head_in_ag(X2) → head_out_ag
U13_aaaa(head_out_ag) → U14_aaaa(tail_in_aa)
tail_in_aatail_out_aa
U14_aaaa(tail_out_aa) → U15_aaaa(tail_in_aa)
U15_aaaa(tail_out_aa) → U16_aaaa(tail_in_aa)
U16_aaaa(tail_out_aa) → U17_aaaa(head_in_aa)
U17_aaaa(head_out_aa) → U18_aaaa(tail_in_aa)
U18_aaaa(tail_out_aa) → U19_aaaa(tail_in_aa)
U19_aaaa(tail_out_aa) → U20_aaaa(row2col_in_aaaa)
U20_aaaa(row2col_out_aaaa) → row2col_out_aaaa
eq_in_ag(X) → eq_out_ag(X)
U7_aaaa(eq_out_ag(X)) → U8_aaaa(eq_in_ag([]))
U8_aaaa(eq_out_ag(Y)) → U9_aaaa(eq_in_ag([]))
U9_aaaa(eq_out_ag(Z)) → row2col_out_aaaa

The set Q consists of the following terms:

row2col_in_aaaa
U7_aaaa(x0)
U10_aaaa(x0)
eq_in_ag(x0)
U8_aaaa(x0)
head_in_aa
U11_aaaa(x0)
U9_aaaa(x0)
U12_aaaa(x0)
U13_aaaa(x0)
head_in_ag(x0)
U14_aaaa(x0)
tail_in_aa
U15_aaaa(x0)
U16_aaaa(x0)
U17_aaaa(x0)
U18_aaaa(x0)
U19_aaaa(x0)
U20_aaaa(x0)

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

(73) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule U4_GAA(tail_out_ga([])) → U5_GAA([], U7_aaaa(eq_in_ag([]))) at position [1,0] we obtained the following new rules [LPAR04]:

U4_GAA(tail_out_ga([])) → U5_GAA([], U7_aaaa(eq_out_ag([])))

(74) Obligation:

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

TRANSPOSE_AUX_IN_GAA([]) → U3_GAA([], head_out_ga)
U3_GAA([], head_out_ga) → U4_GAA(tail_out_ga([]))
U5_GAA([], row2col_out_aaaa) → TRANSPOSE_AUX_IN_GAA([])
U4_GAA(tail_out_ga([])) → U5_GAA([], U10_aaaa(head_in_aa))
U4_GAA(tail_out_ga([])) → U5_GAA([], U7_aaaa(eq_out_ag([])))

The TRS R consists of the following rules:

row2col_in_aaaaU7_aaaa(eq_in_ag([]))
row2col_in_aaaaU10_aaaa(head_in_aa)
head_in_aahead_out_aa
U10_aaaa(head_out_aa) → U11_aaaa(head_in_aa)
U11_aaaa(head_out_aa) → U12_aaaa(head_in_aa)
U12_aaaa(head_out_aa) → U13_aaaa(head_in_ag([]))
head_in_ag(X2) → head_out_ag
U13_aaaa(head_out_ag) → U14_aaaa(tail_in_aa)
tail_in_aatail_out_aa
U14_aaaa(tail_out_aa) → U15_aaaa(tail_in_aa)
U15_aaaa(tail_out_aa) → U16_aaaa(tail_in_aa)
U16_aaaa(tail_out_aa) → U17_aaaa(head_in_aa)
U17_aaaa(head_out_aa) → U18_aaaa(tail_in_aa)
U18_aaaa(tail_out_aa) → U19_aaaa(tail_in_aa)
U19_aaaa(tail_out_aa) → U20_aaaa(row2col_in_aaaa)
U20_aaaa(row2col_out_aaaa) → row2col_out_aaaa
eq_in_ag(X) → eq_out_ag(X)
U7_aaaa(eq_out_ag(X)) → U8_aaaa(eq_in_ag([]))
U8_aaaa(eq_out_ag(Y)) → U9_aaaa(eq_in_ag([]))
U9_aaaa(eq_out_ag(Z)) → row2col_out_aaaa

The set Q consists of the following terms:

row2col_in_aaaa
U7_aaaa(x0)
U10_aaaa(x0)
eq_in_ag(x0)
U8_aaaa(x0)
head_in_aa
U11_aaaa(x0)
U9_aaaa(x0)
U12_aaaa(x0)
U13_aaaa(x0)
head_in_ag(x0)
U14_aaaa(x0)
tail_in_aa
U15_aaaa(x0)
U16_aaaa(x0)
U17_aaaa(x0)
U18_aaaa(x0)
U19_aaaa(x0)
U20_aaaa(x0)

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

(75) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule U4_GAA(tail_out_ga([])) → U5_GAA([], U10_aaaa(head_in_aa)) at position [1,0] we obtained the following new rules [LPAR04]:

U4_GAA(tail_out_ga([])) → U5_GAA([], U10_aaaa(head_out_aa))

(76) Obligation:

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

TRANSPOSE_AUX_IN_GAA([]) → U3_GAA([], head_out_ga)
U3_GAA([], head_out_ga) → U4_GAA(tail_out_ga([]))
U5_GAA([], row2col_out_aaaa) → TRANSPOSE_AUX_IN_GAA([])
U4_GAA(tail_out_ga([])) → U5_GAA([], U7_aaaa(eq_out_ag([])))
U4_GAA(tail_out_ga([])) → U5_GAA([], U10_aaaa(head_out_aa))

The TRS R consists of the following rules:

row2col_in_aaaaU7_aaaa(eq_in_ag([]))
row2col_in_aaaaU10_aaaa(head_in_aa)
head_in_aahead_out_aa
U10_aaaa(head_out_aa) → U11_aaaa(head_in_aa)
U11_aaaa(head_out_aa) → U12_aaaa(head_in_aa)
U12_aaaa(head_out_aa) → U13_aaaa(head_in_ag([]))
head_in_ag(X2) → head_out_ag
U13_aaaa(head_out_ag) → U14_aaaa(tail_in_aa)
tail_in_aatail_out_aa
U14_aaaa(tail_out_aa) → U15_aaaa(tail_in_aa)
U15_aaaa(tail_out_aa) → U16_aaaa(tail_in_aa)
U16_aaaa(tail_out_aa) → U17_aaaa(head_in_aa)
U17_aaaa(head_out_aa) → U18_aaaa(tail_in_aa)
U18_aaaa(tail_out_aa) → U19_aaaa(tail_in_aa)
U19_aaaa(tail_out_aa) → U20_aaaa(row2col_in_aaaa)
U20_aaaa(row2col_out_aaaa) → row2col_out_aaaa
eq_in_ag(X) → eq_out_ag(X)
U7_aaaa(eq_out_ag(X)) → U8_aaaa(eq_in_ag([]))
U8_aaaa(eq_out_ag(Y)) → U9_aaaa(eq_in_ag([]))
U9_aaaa(eq_out_ag(Z)) → row2col_out_aaaa

The set Q consists of the following terms:

row2col_in_aaaa
U7_aaaa(x0)
U10_aaaa(x0)
eq_in_ag(x0)
U8_aaaa(x0)
head_in_aa
U11_aaaa(x0)
U9_aaaa(x0)
U12_aaaa(x0)
U13_aaaa(x0)
head_in_ag(x0)
U14_aaaa(x0)
tail_in_aa
U15_aaaa(x0)
U16_aaaa(x0)
U17_aaaa(x0)
U18_aaaa(x0)
U19_aaaa(x0)
U20_aaaa(x0)

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

(77) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule U4_GAA(tail_out_ga([])) → U5_GAA([], U7_aaaa(eq_out_ag([]))) at position [1] we obtained the following new rules [LPAR04]:

U4_GAA(tail_out_ga([])) → U5_GAA([], U8_aaaa(eq_in_ag([])))

(78) Obligation:

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

TRANSPOSE_AUX_IN_GAA([]) → U3_GAA([], head_out_ga)
U3_GAA([], head_out_ga) → U4_GAA(tail_out_ga([]))
U5_GAA([], row2col_out_aaaa) → TRANSPOSE_AUX_IN_GAA([])
U4_GAA(tail_out_ga([])) → U5_GAA([], U10_aaaa(head_out_aa))
U4_GAA(tail_out_ga([])) → U5_GAA([], U8_aaaa(eq_in_ag([])))

The TRS R consists of the following rules:

row2col_in_aaaaU7_aaaa(eq_in_ag([]))
row2col_in_aaaaU10_aaaa(head_in_aa)
head_in_aahead_out_aa
U10_aaaa(head_out_aa) → U11_aaaa(head_in_aa)
U11_aaaa(head_out_aa) → U12_aaaa(head_in_aa)
U12_aaaa(head_out_aa) → U13_aaaa(head_in_ag([]))
head_in_ag(X2) → head_out_ag
U13_aaaa(head_out_ag) → U14_aaaa(tail_in_aa)
tail_in_aatail_out_aa
U14_aaaa(tail_out_aa) → U15_aaaa(tail_in_aa)
U15_aaaa(tail_out_aa) → U16_aaaa(tail_in_aa)
U16_aaaa(tail_out_aa) → U17_aaaa(head_in_aa)
U17_aaaa(head_out_aa) → U18_aaaa(tail_in_aa)
U18_aaaa(tail_out_aa) → U19_aaaa(tail_in_aa)
U19_aaaa(tail_out_aa) → U20_aaaa(row2col_in_aaaa)
U20_aaaa(row2col_out_aaaa) → row2col_out_aaaa
eq_in_ag(X) → eq_out_ag(X)
U7_aaaa(eq_out_ag(X)) → U8_aaaa(eq_in_ag([]))
U8_aaaa(eq_out_ag(Y)) → U9_aaaa(eq_in_ag([]))
U9_aaaa(eq_out_ag(Z)) → row2col_out_aaaa

The set Q consists of the following terms:

row2col_in_aaaa
U7_aaaa(x0)
U10_aaaa(x0)
eq_in_ag(x0)
U8_aaaa(x0)
head_in_aa
U11_aaaa(x0)
U9_aaaa(x0)
U12_aaaa(x0)
U13_aaaa(x0)
head_in_ag(x0)
U14_aaaa(x0)
tail_in_aa
U15_aaaa(x0)
U16_aaaa(x0)
U17_aaaa(x0)
U18_aaaa(x0)
U19_aaaa(x0)
U20_aaaa(x0)

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

(79) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule U4_GAA(tail_out_ga([])) → U5_GAA([], U8_aaaa(eq_in_ag([]))) at position [1,0] we obtained the following new rules [LPAR04]:

U4_GAA(tail_out_ga([])) → U5_GAA([], U8_aaaa(eq_out_ag([])))

(80) Obligation:

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

TRANSPOSE_AUX_IN_GAA([]) → U3_GAA([], head_out_ga)
U3_GAA([], head_out_ga) → U4_GAA(tail_out_ga([]))
U5_GAA([], row2col_out_aaaa) → TRANSPOSE_AUX_IN_GAA([])
U4_GAA(tail_out_ga([])) → U5_GAA([], U10_aaaa(head_out_aa))
U4_GAA(tail_out_ga([])) → U5_GAA([], U8_aaaa(eq_out_ag([])))

The TRS R consists of the following rules:

row2col_in_aaaaU7_aaaa(eq_in_ag([]))
row2col_in_aaaaU10_aaaa(head_in_aa)
head_in_aahead_out_aa
U10_aaaa(head_out_aa) → U11_aaaa(head_in_aa)
U11_aaaa(head_out_aa) → U12_aaaa(head_in_aa)
U12_aaaa(head_out_aa) → U13_aaaa(head_in_ag([]))
head_in_ag(X2) → head_out_ag
U13_aaaa(head_out_ag) → U14_aaaa(tail_in_aa)
tail_in_aatail_out_aa
U14_aaaa(tail_out_aa) → U15_aaaa(tail_in_aa)
U15_aaaa(tail_out_aa) → U16_aaaa(tail_in_aa)
U16_aaaa(tail_out_aa) → U17_aaaa(head_in_aa)
U17_aaaa(head_out_aa) → U18_aaaa(tail_in_aa)
U18_aaaa(tail_out_aa) → U19_aaaa(tail_in_aa)
U19_aaaa(tail_out_aa) → U20_aaaa(row2col_in_aaaa)
U20_aaaa(row2col_out_aaaa) → row2col_out_aaaa
eq_in_ag(X) → eq_out_ag(X)
U7_aaaa(eq_out_ag(X)) → U8_aaaa(eq_in_ag([]))
U8_aaaa(eq_out_ag(Y)) → U9_aaaa(eq_in_ag([]))
U9_aaaa(eq_out_ag(Z)) → row2col_out_aaaa

The set Q consists of the following terms:

row2col_in_aaaa
U7_aaaa(x0)
U10_aaaa(x0)
eq_in_ag(x0)
U8_aaaa(x0)
head_in_aa
U11_aaaa(x0)
U9_aaaa(x0)
U12_aaaa(x0)
U13_aaaa(x0)
head_in_ag(x0)
U14_aaaa(x0)
tail_in_aa
U15_aaaa(x0)
U16_aaaa(x0)
U17_aaaa(x0)
U18_aaaa(x0)
U19_aaaa(x0)
U20_aaaa(x0)

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

(81) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule U4_GAA(tail_out_ga([])) → U5_GAA([], U8_aaaa(eq_out_ag([]))) at position [1] we obtained the following new rules [LPAR04]:

U4_GAA(tail_out_ga([])) → U5_GAA([], U9_aaaa(eq_in_ag([])))

(82) Obligation:

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

TRANSPOSE_AUX_IN_GAA([]) → U3_GAA([], head_out_ga)
U3_GAA([], head_out_ga) → U4_GAA(tail_out_ga([]))
U5_GAA([], row2col_out_aaaa) → TRANSPOSE_AUX_IN_GAA([])
U4_GAA(tail_out_ga([])) → U5_GAA([], U10_aaaa(head_out_aa))
U4_GAA(tail_out_ga([])) → U5_GAA([], U9_aaaa(eq_in_ag([])))

The TRS R consists of the following rules:

row2col_in_aaaaU7_aaaa(eq_in_ag([]))
row2col_in_aaaaU10_aaaa(head_in_aa)
head_in_aahead_out_aa
U10_aaaa(head_out_aa) → U11_aaaa(head_in_aa)
U11_aaaa(head_out_aa) → U12_aaaa(head_in_aa)
U12_aaaa(head_out_aa) → U13_aaaa(head_in_ag([]))
head_in_ag(X2) → head_out_ag
U13_aaaa(head_out_ag) → U14_aaaa(tail_in_aa)
tail_in_aatail_out_aa
U14_aaaa(tail_out_aa) → U15_aaaa(tail_in_aa)
U15_aaaa(tail_out_aa) → U16_aaaa(tail_in_aa)
U16_aaaa(tail_out_aa) → U17_aaaa(head_in_aa)
U17_aaaa(head_out_aa) → U18_aaaa(tail_in_aa)
U18_aaaa(tail_out_aa) → U19_aaaa(tail_in_aa)
U19_aaaa(tail_out_aa) → U20_aaaa(row2col_in_aaaa)
U20_aaaa(row2col_out_aaaa) → row2col_out_aaaa
eq_in_ag(X) → eq_out_ag(X)
U7_aaaa(eq_out_ag(X)) → U8_aaaa(eq_in_ag([]))
U8_aaaa(eq_out_ag(Y)) → U9_aaaa(eq_in_ag([]))
U9_aaaa(eq_out_ag(Z)) → row2col_out_aaaa

The set Q consists of the following terms:

row2col_in_aaaa
U7_aaaa(x0)
U10_aaaa(x0)
eq_in_ag(x0)
U8_aaaa(x0)
head_in_aa
U11_aaaa(x0)
U9_aaaa(x0)
U12_aaaa(x0)
U13_aaaa(x0)
head_in_ag(x0)
U14_aaaa(x0)
tail_in_aa
U15_aaaa(x0)
U16_aaaa(x0)
U17_aaaa(x0)
U18_aaaa(x0)
U19_aaaa(x0)
U20_aaaa(x0)

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

(83) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule U4_GAA(tail_out_ga([])) → U5_GAA([], U9_aaaa(eq_in_ag([]))) at position [1,0] we obtained the following new rules [LPAR04]:

U4_GAA(tail_out_ga([])) → U5_GAA([], U9_aaaa(eq_out_ag([])))

(84) Obligation:

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

TRANSPOSE_AUX_IN_GAA([]) → U3_GAA([], head_out_ga)
U3_GAA([], head_out_ga) → U4_GAA(tail_out_ga([]))
U5_GAA([], row2col_out_aaaa) → TRANSPOSE_AUX_IN_GAA([])
U4_GAA(tail_out_ga([])) → U5_GAA([], U10_aaaa(head_out_aa))
U4_GAA(tail_out_ga([])) → U5_GAA([], U9_aaaa(eq_out_ag([])))

The TRS R consists of the following rules:

row2col_in_aaaaU7_aaaa(eq_in_ag([]))
row2col_in_aaaaU10_aaaa(head_in_aa)
head_in_aahead_out_aa
U10_aaaa(head_out_aa) → U11_aaaa(head_in_aa)
U11_aaaa(head_out_aa) → U12_aaaa(head_in_aa)
U12_aaaa(head_out_aa) → U13_aaaa(head_in_ag([]))
head_in_ag(X2) → head_out_ag
U13_aaaa(head_out_ag) → U14_aaaa(tail_in_aa)
tail_in_aatail_out_aa
U14_aaaa(tail_out_aa) → U15_aaaa(tail_in_aa)
U15_aaaa(tail_out_aa) → U16_aaaa(tail_in_aa)
U16_aaaa(tail_out_aa) → U17_aaaa(head_in_aa)
U17_aaaa(head_out_aa) → U18_aaaa(tail_in_aa)
U18_aaaa(tail_out_aa) → U19_aaaa(tail_in_aa)
U19_aaaa(tail_out_aa) → U20_aaaa(row2col_in_aaaa)
U20_aaaa(row2col_out_aaaa) → row2col_out_aaaa
eq_in_ag(X) → eq_out_ag(X)
U7_aaaa(eq_out_ag(X)) → U8_aaaa(eq_in_ag([]))
U8_aaaa(eq_out_ag(Y)) → U9_aaaa(eq_in_ag([]))
U9_aaaa(eq_out_ag(Z)) → row2col_out_aaaa

The set Q consists of the following terms:

row2col_in_aaaa
U7_aaaa(x0)
U10_aaaa(x0)
eq_in_ag(x0)
U8_aaaa(x0)
head_in_aa
U11_aaaa(x0)
U9_aaaa(x0)
U12_aaaa(x0)
U13_aaaa(x0)
head_in_ag(x0)
U14_aaaa(x0)
tail_in_aa
U15_aaaa(x0)
U16_aaaa(x0)
U17_aaaa(x0)
U18_aaaa(x0)
U19_aaaa(x0)
U20_aaaa(x0)

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

(85) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule U4_GAA(tail_out_ga([])) → U5_GAA([], U9_aaaa(eq_out_ag([]))) at position [1] we obtained the following new rules [LPAR04]:

U4_GAA(tail_out_ga([])) → U5_GAA([], row2col_out_aaaa)

(86) Obligation:

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

TRANSPOSE_AUX_IN_GAA([]) → U3_GAA([], head_out_ga)
U3_GAA([], head_out_ga) → U4_GAA(tail_out_ga([]))
U5_GAA([], row2col_out_aaaa) → TRANSPOSE_AUX_IN_GAA([])
U4_GAA(tail_out_ga([])) → U5_GAA([], U10_aaaa(head_out_aa))
U4_GAA(tail_out_ga([])) → U5_GAA([], row2col_out_aaaa)

The TRS R consists of the following rules:

row2col_in_aaaaU7_aaaa(eq_in_ag([]))
row2col_in_aaaaU10_aaaa(head_in_aa)
head_in_aahead_out_aa
U10_aaaa(head_out_aa) → U11_aaaa(head_in_aa)
U11_aaaa(head_out_aa) → U12_aaaa(head_in_aa)
U12_aaaa(head_out_aa) → U13_aaaa(head_in_ag([]))
head_in_ag(X2) → head_out_ag
U13_aaaa(head_out_ag) → U14_aaaa(tail_in_aa)
tail_in_aatail_out_aa
U14_aaaa(tail_out_aa) → U15_aaaa(tail_in_aa)
U15_aaaa(tail_out_aa) → U16_aaaa(tail_in_aa)
U16_aaaa(tail_out_aa) → U17_aaaa(head_in_aa)
U17_aaaa(head_out_aa) → U18_aaaa(tail_in_aa)
U18_aaaa(tail_out_aa) → U19_aaaa(tail_in_aa)
U19_aaaa(tail_out_aa) → U20_aaaa(row2col_in_aaaa)
U20_aaaa(row2col_out_aaaa) → row2col_out_aaaa
eq_in_ag(X) → eq_out_ag(X)
U7_aaaa(eq_out_ag(X)) → U8_aaaa(eq_in_ag([]))
U8_aaaa(eq_out_ag(Y)) → U9_aaaa(eq_in_ag([]))
U9_aaaa(eq_out_ag(Z)) → row2col_out_aaaa

The set Q consists of the following terms:

row2col_in_aaaa
U7_aaaa(x0)
U10_aaaa(x0)
eq_in_ag(x0)
U8_aaaa(x0)
head_in_aa
U11_aaaa(x0)
U9_aaaa(x0)
U12_aaaa(x0)
U13_aaaa(x0)
head_in_ag(x0)
U14_aaaa(x0)
tail_in_aa
U15_aaaa(x0)
U16_aaaa(x0)
U17_aaaa(x0)
U18_aaaa(x0)
U19_aaaa(x0)
U20_aaaa(x0)

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

(87) NonTerminationProof (EQUIVALENT transformation)

We used the non-termination processor [FROCOS05] to show that the DP problem is infinite.
Found a loop by narrowing to the left:

s = U3_GAA([], head_out_ga) evaluates to t =U3_GAA([], head_out_ga)

Thus s starts an infinite chain as s semiunifies with t with the following substitutions:
  • Matcher: [ ]
  • Semiunifier: [ ]




Rewriting sequence

U3_GAA([], head_out_ga)U4_GAA(tail_out_ga([]))
with rule U3_GAA([], head_out_ga) → U4_GAA(tail_out_ga([])) at position [] and matcher [ ]

U4_GAA(tail_out_ga([]))U5_GAA([], row2col_out_aaaa)
with rule U4_GAA(tail_out_ga([])) → U5_GAA([], row2col_out_aaaa) at position [] and matcher [ ]

U5_GAA([], row2col_out_aaaa)TRANSPOSE_AUX_IN_GAA([])
with rule U5_GAA([], row2col_out_aaaa) → TRANSPOSE_AUX_IN_GAA([]) at position [] and matcher [ ]

TRANSPOSE_AUX_IN_GAA([])U3_GAA([], head_out_ga)
with rule TRANSPOSE_AUX_IN_GAA([]) → U3_GAA([], head_out_ga)

Now applying the matcher to the start term leads to a term which is equal to the last term in the rewriting sequence


All these steps are and every following step will be a correct step w.r.t to Q.



(88) FALSE

(89) PrologToPiTRSProof (SOUND transformation)

We use the technique of [LOPSTR]. With regard to the inferred argument filtering the predicates were used in the following modes:
transpose_in: (b,f)
transpose_aux_in: (b,b,f) (b,f,f)
row2col_in: (f,f,f,f)
Transforming Prolog into the following Term Rewriting System:
Pi-finite rewrite system:
The TRS R consists of the following rules:

transpose_in_ga(A, B) → U1_ga(A, B, transpose_aux_in_gga(A, [], B))
transpose_aux_in_gga([], Y, Z) → U2_gga(Y, Z, eq_in_ga(Y, Z))
eq_in_ga(X, X) → eq_out_ga(X, X)
U2_gga(Y, Z, eq_out_ga(Y, Z)) → transpose_aux_out_gga([], Y, Z)
transpose_aux_in_gga(R, X1, L) → U3_gga(R, X1, L, head_in_ga(R, Rh))
head_in_ga([], X2) → head_out_ga([], X2)
head_in_ga(.(H, X3), H) → head_out_ga(.(H, X3), H)
U3_gga(R, X1, L, head_out_ga(R, Rh)) → U4_gga(R, X1, L, Rh, tail_in_ga(R, Rt))
tail_in_ga([], []) → tail_out_ga([], [])
tail_in_ga(.(X4, T), T) → tail_out_ga(.(X4, T), T)
U4_gga(R, X1, L, Rh, tail_out_ga(R, Rt)) → U5_gga(R, X1, L, Rh, Rt, row2col_in_aaaa(Rh, L, Cols, Accm))
row2col_in_aaaa([], X, Y, Z) → U7_aaaa(X, Y, Z, eq_in_ag(X, []))
eq_in_ag(X, X) → eq_out_ag(X, X)
U7_aaaa(X, Y, Z, eq_out_ag(X, [])) → U8_aaaa(X, Y, Z, eq_in_ag(Y, []))
U8_aaaa(X, Y, Z, eq_out_ag(Y, [])) → U9_aaaa(X, Y, Z, eq_in_ag(Z, []))
U9_aaaa(X, Y, Z, eq_out_ag(Z, [])) → row2col_out_aaaa([], X, Y, Z)
row2col_in_aaaa(X, Y, C, A) → U10_aaaa(X, Y, C, A, head_in_aa(X, Xh))
head_in_aa([], X2) → head_out_aa([], X2)
head_in_aa(.(H, X3), H) → head_out_aa(.(H, X3), H)
U10_aaaa(X, Y, C, A, head_out_aa(X, Xh)) → U11_aaaa(X, Y, C, A, Xh, head_in_aa(Y, Yh))
U11_aaaa(X, Y, C, A, Xh, head_out_aa(Y, Yh)) → U12_aaaa(X, Y, C, A, Xh, Yh, head_in_aa(Yh, Xh))
U12_aaaa(X, Y, C, A, Xh, Yh, head_out_aa(Yh, Xh)) → U13_aaaa(X, Y, C, A, Xh, Yh, head_in_ag(A, []))
head_in_ag([], X2) → head_out_ag([], X2)
head_in_ag(.(H, X3), H) → head_out_ag(.(H, X3), H)
U13_aaaa(X, Y, C, A, Xh, Yh, head_out_ag(A, [])) → U14_aaaa(X, Y, C, A, Xh, Yh, tail_in_aa(X, Xt))
tail_in_aa([], []) → tail_out_aa([], [])
tail_in_aa(.(X4, T), T) → tail_out_aa(.(X4, T), T)
U14_aaaa(X, Y, C, A, Xh, Yh, tail_out_aa(X, Xt)) → U15_aaaa(X, Y, C, A, Xh, Yh, Xt, tail_in_aa(Y, Yt))
U15_aaaa(X, Y, C, A, Xh, Yh, Xt, tail_out_aa(Y, Yt)) → U16_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, tail_in_aa(Yh, Yht))
U16_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, tail_out_aa(Yh, Yht)) → U17_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_in_aa(C, Yht))
U17_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_out_aa(C, Yht)) → U18_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_in_aa(C, Ct))
U18_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_out_aa(C, Ct)) → U19_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_in_aa(A, At))
U19_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_out_aa(A, At)) → U20_aaaa(X, Y, C, A, row2col_in_aaaa(Xt, Yt, Ct, At))
U20_aaaa(X, Y, C, A, row2col_out_aaaa(Xt, Yt, Ct, At)) → row2col_out_aaaa(X, Y, C, A)
U5_gga(R, X1, L, Rh, Rt, row2col_out_aaaa(Rh, L, Cols, Accm)) → U6_gga(R, X1, L, transpose_aux_in_gaa(Rt, Accm, Cols))
transpose_aux_in_gaa([], Y, Z) → U2_gaa(Y, Z, eq_in_aa(Y, Z))
eq_in_aa(X, X) → eq_out_aa(X, X)
U2_gaa(Y, Z, eq_out_aa(Y, Z)) → transpose_aux_out_gaa([], Y, Z)
transpose_aux_in_gaa(R, X1, L) → U3_gaa(R, X1, L, head_in_ga(R, Rh))
U3_gaa(R, X1, L, head_out_ga(R, Rh)) → U4_gaa(R, X1, L, Rh, tail_in_ga(R, Rt))
U4_gaa(R, X1, L, Rh, tail_out_ga(R, Rt)) → U5_gaa(R, X1, L, Rh, Rt, row2col_in_aaaa(Rh, L, Cols, Accm))
U5_gaa(R, X1, L, Rh, Rt, row2col_out_aaaa(Rh, L, Cols, Accm)) → U6_gaa(R, X1, L, transpose_aux_in_gaa(Rt, Accm, Cols))
U6_gaa(R, X1, L, transpose_aux_out_gaa(Rt, Accm, Cols)) → transpose_aux_out_gaa(R, X1, L)
U6_gga(R, X1, L, transpose_aux_out_gaa(Rt, Accm, Cols)) → transpose_aux_out_gga(R, X1, L)
U1_ga(A, B, transpose_aux_out_gga(A, [], B)) → transpose_out_ga(A, B)

The argument filtering Pi contains the following mapping:
transpose_in_ga(x1, x2)  =  transpose_in_ga(x1)
U1_ga(x1, x2, x3)  =  U1_ga(x1, x3)
transpose_aux_in_gga(x1, x2, x3)  =  transpose_aux_in_gga(x1, x2)
[]  =  []
U2_gga(x1, x2, x3)  =  U2_gga(x1, x3)
eq_in_ga(x1, x2)  =  eq_in_ga(x1)
eq_out_ga(x1, x2)  =  eq_out_ga(x1, x2)
transpose_aux_out_gga(x1, x2, x3)  =  transpose_aux_out_gga(x1, x2)
U3_gga(x1, x2, x3, x4)  =  U3_gga(x1, x2, x4)
head_in_ga(x1, x2)  =  head_in_ga(x1)
head_out_ga(x1, x2)  =  head_out_ga(x1)
.(x1, x2)  =  .(x1, x2)
U4_gga(x1, x2, x3, x4, x5)  =  U4_gga(x1, x2, x5)
tail_in_ga(x1, x2)  =  tail_in_ga(x1)
tail_out_ga(x1, x2)  =  tail_out_ga(x1, x2)
U5_gga(x1, x2, x3, x4, x5, x6)  =  U5_gga(x1, x2, x5, x6)
row2col_in_aaaa(x1, x2, x3, x4)  =  row2col_in_aaaa
U7_aaaa(x1, x2, x3, x4)  =  U7_aaaa(x4)
eq_in_ag(x1, x2)  =  eq_in_ag(x2)
eq_out_ag(x1, x2)  =  eq_out_ag(x1, x2)
U8_aaaa(x1, x2, x3, x4)  =  U8_aaaa(x4)
U9_aaaa(x1, x2, x3, x4)  =  U9_aaaa(x4)
row2col_out_aaaa(x1, x2, x3, x4)  =  row2col_out_aaaa
U10_aaaa(x1, x2, x3, x4, x5)  =  U10_aaaa(x5)
head_in_aa(x1, x2)  =  head_in_aa
head_out_aa(x1, x2)  =  head_out_aa
U11_aaaa(x1, x2, x3, x4, x5, x6)  =  U11_aaaa(x6)
U12_aaaa(x1, x2, x3, x4, x5, x6, x7)  =  U12_aaaa(x7)
U13_aaaa(x1, x2, x3, x4, x5, x6, x7)  =  U13_aaaa(x7)
head_in_ag(x1, x2)  =  head_in_ag(x2)
head_out_ag(x1, x2)  =  head_out_ag(x2)
U14_aaaa(x1, x2, x3, x4, x5, x6, x7)  =  U14_aaaa(x7)
tail_in_aa(x1, x2)  =  tail_in_aa
tail_out_aa(x1, x2)  =  tail_out_aa
U15_aaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U15_aaaa(x8)
U16_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U16_aaaa(x9)
U17_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U17_aaaa(x10)
U18_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U18_aaaa(x10)
U19_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U19_aaaa(x11)
U20_aaaa(x1, x2, x3, x4, x5)  =  U20_aaaa(x5)
U6_gga(x1, x2, x3, x4)  =  U6_gga(x1, x2, x4)
transpose_aux_in_gaa(x1, x2, x3)  =  transpose_aux_in_gaa(x1)
U2_gaa(x1, x2, x3)  =  U2_gaa(x3)
eq_in_aa(x1, x2)  =  eq_in_aa
eq_out_aa(x1, x2)  =  eq_out_aa
transpose_aux_out_gaa(x1, x2, x3)  =  transpose_aux_out_gaa(x1)
U3_gaa(x1, x2, x3, x4)  =  U3_gaa(x1, x4)
U4_gaa(x1, x2, x3, x4, x5)  =  U4_gaa(x1, x5)
U5_gaa(x1, x2, x3, x4, x5, x6)  =  U5_gaa(x1, x5, x6)
U6_gaa(x1, x2, x3, x4)  =  U6_gaa(x1, x4)
transpose_out_ga(x1, x2)  =  transpose_out_ga(x1)

Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog

(90) Obligation:

Pi-finite rewrite system:
The TRS R consists of the following rules:

transpose_in_ga(A, B) → U1_ga(A, B, transpose_aux_in_gga(A, [], B))
transpose_aux_in_gga([], Y, Z) → U2_gga(Y, Z, eq_in_ga(Y, Z))
eq_in_ga(X, X) → eq_out_ga(X, X)
U2_gga(Y, Z, eq_out_ga(Y, Z)) → transpose_aux_out_gga([], Y, Z)
transpose_aux_in_gga(R, X1, L) → U3_gga(R, X1, L, head_in_ga(R, Rh))
head_in_ga([], X2) → head_out_ga([], X2)
head_in_ga(.(H, X3), H) → head_out_ga(.(H, X3), H)
U3_gga(R, X1, L, head_out_ga(R, Rh)) → U4_gga(R, X1, L, Rh, tail_in_ga(R, Rt))
tail_in_ga([], []) → tail_out_ga([], [])
tail_in_ga(.(X4, T), T) → tail_out_ga(.(X4, T), T)
U4_gga(R, X1, L, Rh, tail_out_ga(R, Rt)) → U5_gga(R, X1, L, Rh, Rt, row2col_in_aaaa(Rh, L, Cols, Accm))
row2col_in_aaaa([], X, Y, Z) → U7_aaaa(X, Y, Z, eq_in_ag(X, []))
eq_in_ag(X, X) → eq_out_ag(X, X)
U7_aaaa(X, Y, Z, eq_out_ag(X, [])) → U8_aaaa(X, Y, Z, eq_in_ag(Y, []))
U8_aaaa(X, Y, Z, eq_out_ag(Y, [])) → U9_aaaa(X, Y, Z, eq_in_ag(Z, []))
U9_aaaa(X, Y, Z, eq_out_ag(Z, [])) → row2col_out_aaaa([], X, Y, Z)
row2col_in_aaaa(X, Y, C, A) → U10_aaaa(X, Y, C, A, head_in_aa(X, Xh))
head_in_aa([], X2) → head_out_aa([], X2)
head_in_aa(.(H, X3), H) → head_out_aa(.(H, X3), H)
U10_aaaa(X, Y, C, A, head_out_aa(X, Xh)) → U11_aaaa(X, Y, C, A, Xh, head_in_aa(Y, Yh))
U11_aaaa(X, Y, C, A, Xh, head_out_aa(Y, Yh)) → U12_aaaa(X, Y, C, A, Xh, Yh, head_in_aa(Yh, Xh))
U12_aaaa(X, Y, C, A, Xh, Yh, head_out_aa(Yh, Xh)) → U13_aaaa(X, Y, C, A, Xh, Yh, head_in_ag(A, []))
head_in_ag([], X2) → head_out_ag([], X2)
head_in_ag(.(H, X3), H) → head_out_ag(.(H, X3), H)
U13_aaaa(X, Y, C, A, Xh, Yh, head_out_ag(A, [])) → U14_aaaa(X, Y, C, A, Xh, Yh, tail_in_aa(X, Xt))
tail_in_aa([], []) → tail_out_aa([], [])
tail_in_aa(.(X4, T), T) → tail_out_aa(.(X4, T), T)
U14_aaaa(X, Y, C, A, Xh, Yh, tail_out_aa(X, Xt)) → U15_aaaa(X, Y, C, A, Xh, Yh, Xt, tail_in_aa(Y, Yt))
U15_aaaa(X, Y, C, A, Xh, Yh, Xt, tail_out_aa(Y, Yt)) → U16_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, tail_in_aa(Yh, Yht))
U16_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, tail_out_aa(Yh, Yht)) → U17_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_in_aa(C, Yht))
U17_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_out_aa(C, Yht)) → U18_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_in_aa(C, Ct))
U18_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_out_aa(C, Ct)) → U19_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_in_aa(A, At))
U19_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_out_aa(A, At)) → U20_aaaa(X, Y, C, A, row2col_in_aaaa(Xt, Yt, Ct, At))
U20_aaaa(X, Y, C, A, row2col_out_aaaa(Xt, Yt, Ct, At)) → row2col_out_aaaa(X, Y, C, A)
U5_gga(R, X1, L, Rh, Rt, row2col_out_aaaa(Rh, L, Cols, Accm)) → U6_gga(R, X1, L, transpose_aux_in_gaa(Rt, Accm, Cols))
transpose_aux_in_gaa([], Y, Z) → U2_gaa(Y, Z, eq_in_aa(Y, Z))
eq_in_aa(X, X) → eq_out_aa(X, X)
U2_gaa(Y, Z, eq_out_aa(Y, Z)) → transpose_aux_out_gaa([], Y, Z)
transpose_aux_in_gaa(R, X1, L) → U3_gaa(R, X1, L, head_in_ga(R, Rh))
U3_gaa(R, X1, L, head_out_ga(R, Rh)) → U4_gaa(R, X1, L, Rh, tail_in_ga(R, Rt))
U4_gaa(R, X1, L, Rh, tail_out_ga(R, Rt)) → U5_gaa(R, X1, L, Rh, Rt, row2col_in_aaaa(Rh, L, Cols, Accm))
U5_gaa(R, X1, L, Rh, Rt, row2col_out_aaaa(Rh, L, Cols, Accm)) → U6_gaa(R, X1, L, transpose_aux_in_gaa(Rt, Accm, Cols))
U6_gaa(R, X1, L, transpose_aux_out_gaa(Rt, Accm, Cols)) → transpose_aux_out_gaa(R, X1, L)
U6_gga(R, X1, L, transpose_aux_out_gaa(Rt, Accm, Cols)) → transpose_aux_out_gga(R, X1, L)
U1_ga(A, B, transpose_aux_out_gga(A, [], B)) → transpose_out_ga(A, B)

The argument filtering Pi contains the following mapping:
transpose_in_ga(x1, x2)  =  transpose_in_ga(x1)
U1_ga(x1, x2, x3)  =  U1_ga(x1, x3)
transpose_aux_in_gga(x1, x2, x3)  =  transpose_aux_in_gga(x1, x2)
[]  =  []
U2_gga(x1, x2, x3)  =  U2_gga(x1, x3)
eq_in_ga(x1, x2)  =  eq_in_ga(x1)
eq_out_ga(x1, x2)  =  eq_out_ga(x1, x2)
transpose_aux_out_gga(x1, x2, x3)  =  transpose_aux_out_gga(x1, x2)
U3_gga(x1, x2, x3, x4)  =  U3_gga(x1, x2, x4)
head_in_ga(x1, x2)  =  head_in_ga(x1)
head_out_ga(x1, x2)  =  head_out_ga(x1)
.(x1, x2)  =  .(x1, x2)
U4_gga(x1, x2, x3, x4, x5)  =  U4_gga(x1, x2, x5)
tail_in_ga(x1, x2)  =  tail_in_ga(x1)
tail_out_ga(x1, x2)  =  tail_out_ga(x1, x2)
U5_gga(x1, x2, x3, x4, x5, x6)  =  U5_gga(x1, x2, x5, x6)
row2col_in_aaaa(x1, x2, x3, x4)  =  row2col_in_aaaa
U7_aaaa(x1, x2, x3, x4)  =  U7_aaaa(x4)
eq_in_ag(x1, x2)  =  eq_in_ag(x2)
eq_out_ag(x1, x2)  =  eq_out_ag(x1, x2)
U8_aaaa(x1, x2, x3, x4)  =  U8_aaaa(x4)
U9_aaaa(x1, x2, x3, x4)  =  U9_aaaa(x4)
row2col_out_aaaa(x1, x2, x3, x4)  =  row2col_out_aaaa
U10_aaaa(x1, x2, x3, x4, x5)  =  U10_aaaa(x5)
head_in_aa(x1, x2)  =  head_in_aa
head_out_aa(x1, x2)  =  head_out_aa
U11_aaaa(x1, x2, x3, x4, x5, x6)  =  U11_aaaa(x6)
U12_aaaa(x1, x2, x3, x4, x5, x6, x7)  =  U12_aaaa(x7)
U13_aaaa(x1, x2, x3, x4, x5, x6, x7)  =  U13_aaaa(x7)
head_in_ag(x1, x2)  =  head_in_ag(x2)
head_out_ag(x1, x2)  =  head_out_ag(x2)
U14_aaaa(x1, x2, x3, x4, x5, x6, x7)  =  U14_aaaa(x7)
tail_in_aa(x1, x2)  =  tail_in_aa
tail_out_aa(x1, x2)  =  tail_out_aa
U15_aaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U15_aaaa(x8)
U16_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U16_aaaa(x9)
U17_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U17_aaaa(x10)
U18_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U18_aaaa(x10)
U19_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U19_aaaa(x11)
U20_aaaa(x1, x2, x3, x4, x5)  =  U20_aaaa(x5)
U6_gga(x1, x2, x3, x4)  =  U6_gga(x1, x2, x4)
transpose_aux_in_gaa(x1, x2, x3)  =  transpose_aux_in_gaa(x1)
U2_gaa(x1, x2, x3)  =  U2_gaa(x3)
eq_in_aa(x1, x2)  =  eq_in_aa
eq_out_aa(x1, x2)  =  eq_out_aa
transpose_aux_out_gaa(x1, x2, x3)  =  transpose_aux_out_gaa(x1)
U3_gaa(x1, x2, x3, x4)  =  U3_gaa(x1, x4)
U4_gaa(x1, x2, x3, x4, x5)  =  U4_gaa(x1, x5)
U5_gaa(x1, x2, x3, x4, x5, x6)  =  U5_gaa(x1, x5, x6)
U6_gaa(x1, x2, x3, x4)  =  U6_gaa(x1, x4)
transpose_out_ga(x1, x2)  =  transpose_out_ga(x1)

(91) DependencyPairsProof (EQUIVALENT transformation)

Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem:
Pi DP problem:
The TRS P consists of the following rules:

TRANSPOSE_IN_GA(A, B) → U1_GA(A, B, transpose_aux_in_gga(A, [], B))
TRANSPOSE_IN_GA(A, B) → TRANSPOSE_AUX_IN_GGA(A, [], B)
TRANSPOSE_AUX_IN_GGA([], Y, Z) → U2_GGA(Y, Z, eq_in_ga(Y, Z))
TRANSPOSE_AUX_IN_GGA([], Y, Z) → EQ_IN_GA(Y, Z)
TRANSPOSE_AUX_IN_GGA(R, X1, L) → U3_GGA(R, X1, L, head_in_ga(R, Rh))
TRANSPOSE_AUX_IN_GGA(R, X1, L) → HEAD_IN_GA(R, Rh)
U3_GGA(R, X1, L, head_out_ga(R, Rh)) → U4_GGA(R, X1, L, Rh, tail_in_ga(R, Rt))
U3_GGA(R, X1, L, head_out_ga(R, Rh)) → TAIL_IN_GA(R, Rt)
U4_GGA(R, X1, L, Rh, tail_out_ga(R, Rt)) → U5_GGA(R, X1, L, Rh, Rt, row2col_in_aaaa(Rh, L, Cols, Accm))
U4_GGA(R, X1, L, Rh, tail_out_ga(R, Rt)) → ROW2COL_IN_AAAA(Rh, L, Cols, Accm)
ROW2COL_IN_AAAA([], X, Y, Z) → U7_AAAA(X, Y, Z, eq_in_ag(X, []))
ROW2COL_IN_AAAA([], X, Y, Z) → EQ_IN_AG(X, [])
U7_AAAA(X, Y, Z, eq_out_ag(X, [])) → U8_AAAA(X, Y, Z, eq_in_ag(Y, []))
U7_AAAA(X, Y, Z, eq_out_ag(X, [])) → EQ_IN_AG(Y, [])
U8_AAAA(X, Y, Z, eq_out_ag(Y, [])) → U9_AAAA(X, Y, Z, eq_in_ag(Z, []))
U8_AAAA(X, Y, Z, eq_out_ag(Y, [])) → EQ_IN_AG(Z, [])
ROW2COL_IN_AAAA(X, Y, C, A) → U10_AAAA(X, Y, C, A, head_in_aa(X, Xh))
ROW2COL_IN_AAAA(X, Y, C, A) → HEAD_IN_AA(X, Xh)
U10_AAAA(X, Y, C, A, head_out_aa(X, Xh)) → U11_AAAA(X, Y, C, A, Xh, head_in_aa(Y, Yh))
U10_AAAA(X, Y, C, A, head_out_aa(X, Xh)) → HEAD_IN_AA(Y, Yh)
U11_AAAA(X, Y, C, A, Xh, head_out_aa(Y, Yh)) → U12_AAAA(X, Y, C, A, Xh, Yh, head_in_aa(Yh, Xh))
U11_AAAA(X, Y, C, A, Xh, head_out_aa(Y, Yh)) → HEAD_IN_AA(Yh, Xh)
U12_AAAA(X, Y, C, A, Xh, Yh, head_out_aa(Yh, Xh)) → U13_AAAA(X, Y, C, A, Xh, Yh, head_in_ag(A, []))
U12_AAAA(X, Y, C, A, Xh, Yh, head_out_aa(Yh, Xh)) → HEAD_IN_AG(A, [])
U13_AAAA(X, Y, C, A, Xh, Yh, head_out_ag(A, [])) → U14_AAAA(X, Y, C, A, Xh, Yh, tail_in_aa(X, Xt))
U13_AAAA(X, Y, C, A, Xh, Yh, head_out_ag(A, [])) → TAIL_IN_AA(X, Xt)
U14_AAAA(X, Y, C, A, Xh, Yh, tail_out_aa(X, Xt)) → U15_AAAA(X, Y, C, A, Xh, Yh, Xt, tail_in_aa(Y, Yt))
U14_AAAA(X, Y, C, A, Xh, Yh, tail_out_aa(X, Xt)) → TAIL_IN_AA(Y, Yt)
U15_AAAA(X, Y, C, A, Xh, Yh, Xt, tail_out_aa(Y, Yt)) → U16_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, tail_in_aa(Yh, Yht))
U15_AAAA(X, Y, C, A, Xh, Yh, Xt, tail_out_aa(Y, Yt)) → TAIL_IN_AA(Yh, Yht)
U16_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, tail_out_aa(Yh, Yht)) → U17_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_in_aa(C, Yht))
U16_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, tail_out_aa(Yh, Yht)) → HEAD_IN_AA(C, Yht)
U17_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_out_aa(C, Yht)) → U18_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_in_aa(C, Ct))
U17_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_out_aa(C, Yht)) → TAIL_IN_AA(C, Ct)
U18_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_out_aa(C, Ct)) → U19_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_in_aa(A, At))
U18_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_out_aa(C, Ct)) → TAIL_IN_AA(A, At)
U19_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_out_aa(A, At)) → U20_AAAA(X, Y, C, A, row2col_in_aaaa(Xt, Yt, Ct, At))
U19_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_out_aa(A, At)) → ROW2COL_IN_AAAA(Xt, Yt, Ct, At)
U5_GGA(R, X1, L, Rh, Rt, row2col_out_aaaa(Rh, L, Cols, Accm)) → U6_GGA(R, X1, L, transpose_aux_in_gaa(Rt, Accm, Cols))
U5_GGA(R, X1, L, Rh, Rt, row2col_out_aaaa(Rh, L, Cols, Accm)) → TRANSPOSE_AUX_IN_GAA(Rt, Accm, Cols)
TRANSPOSE_AUX_IN_GAA([], Y, Z) → U2_GAA(Y, Z, eq_in_aa(Y, Z))
TRANSPOSE_AUX_IN_GAA([], Y, Z) → EQ_IN_AA(Y, Z)
TRANSPOSE_AUX_IN_GAA(R, X1, L) → U3_GAA(R, X1, L, head_in_ga(R, Rh))
TRANSPOSE_AUX_IN_GAA(R, X1, L) → HEAD_IN_GA(R, Rh)
U3_GAA(R, X1, L, head_out_ga(R, Rh)) → U4_GAA(R, X1, L, Rh, tail_in_ga(R, Rt))
U3_GAA(R, X1, L, head_out_ga(R, Rh)) → TAIL_IN_GA(R, Rt)
U4_GAA(R, X1, L, Rh, tail_out_ga(R, Rt)) → U5_GAA(R, X1, L, Rh, Rt, row2col_in_aaaa(Rh, L, Cols, Accm))
U4_GAA(R, X1, L, Rh, tail_out_ga(R, Rt)) → ROW2COL_IN_AAAA(Rh, L, Cols, Accm)
U5_GAA(R, X1, L, Rh, Rt, row2col_out_aaaa(Rh, L, Cols, Accm)) → U6_GAA(R, X1, L, transpose_aux_in_gaa(Rt, Accm, Cols))
U5_GAA(R, X1, L, Rh, Rt, row2col_out_aaaa(Rh, L, Cols, Accm)) → TRANSPOSE_AUX_IN_GAA(Rt, Accm, Cols)

The TRS R consists of the following rules:

transpose_in_ga(A, B) → U1_ga(A, B, transpose_aux_in_gga(A, [], B))
transpose_aux_in_gga([], Y, Z) → U2_gga(Y, Z, eq_in_ga(Y, Z))
eq_in_ga(X, X) → eq_out_ga(X, X)
U2_gga(Y, Z, eq_out_ga(Y, Z)) → transpose_aux_out_gga([], Y, Z)
transpose_aux_in_gga(R, X1, L) → U3_gga(R, X1, L, head_in_ga(R, Rh))
head_in_ga([], X2) → head_out_ga([], X2)
head_in_ga(.(H, X3), H) → head_out_ga(.(H, X3), H)
U3_gga(R, X1, L, head_out_ga(R, Rh)) → U4_gga(R, X1, L, Rh, tail_in_ga(R, Rt))
tail_in_ga([], []) → tail_out_ga([], [])
tail_in_ga(.(X4, T), T) → tail_out_ga(.(X4, T), T)
U4_gga(R, X1, L, Rh, tail_out_ga(R, Rt)) → U5_gga(R, X1, L, Rh, Rt, row2col_in_aaaa(Rh, L, Cols, Accm))
row2col_in_aaaa([], X, Y, Z) → U7_aaaa(X, Y, Z, eq_in_ag(X, []))
eq_in_ag(X, X) → eq_out_ag(X, X)
U7_aaaa(X, Y, Z, eq_out_ag(X, [])) → U8_aaaa(X, Y, Z, eq_in_ag(Y, []))
U8_aaaa(X, Y, Z, eq_out_ag(Y, [])) → U9_aaaa(X, Y, Z, eq_in_ag(Z, []))
U9_aaaa(X, Y, Z, eq_out_ag(Z, [])) → row2col_out_aaaa([], X, Y, Z)
row2col_in_aaaa(X, Y, C, A) → U10_aaaa(X, Y, C, A, head_in_aa(X, Xh))
head_in_aa([], X2) → head_out_aa([], X2)
head_in_aa(.(H, X3), H) → head_out_aa(.(H, X3), H)
U10_aaaa(X, Y, C, A, head_out_aa(X, Xh)) → U11_aaaa(X, Y, C, A, Xh, head_in_aa(Y, Yh))
U11_aaaa(X, Y, C, A, Xh, head_out_aa(Y, Yh)) → U12_aaaa(X, Y, C, A, Xh, Yh, head_in_aa(Yh, Xh))
U12_aaaa(X, Y, C, A, Xh, Yh, head_out_aa(Yh, Xh)) → U13_aaaa(X, Y, C, A, Xh, Yh, head_in_ag(A, []))
head_in_ag([], X2) → head_out_ag([], X2)
head_in_ag(.(H, X3), H) → head_out_ag(.(H, X3), H)
U13_aaaa(X, Y, C, A, Xh, Yh, head_out_ag(A, [])) → U14_aaaa(X, Y, C, A, Xh, Yh, tail_in_aa(X, Xt))
tail_in_aa([], []) → tail_out_aa([], [])
tail_in_aa(.(X4, T), T) → tail_out_aa(.(X4, T), T)
U14_aaaa(X, Y, C, A, Xh, Yh, tail_out_aa(X, Xt)) → U15_aaaa(X, Y, C, A, Xh, Yh, Xt, tail_in_aa(Y, Yt))
U15_aaaa(X, Y, C, A, Xh, Yh, Xt, tail_out_aa(Y, Yt)) → U16_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, tail_in_aa(Yh, Yht))
U16_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, tail_out_aa(Yh, Yht)) → U17_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_in_aa(C, Yht))
U17_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_out_aa(C, Yht)) → U18_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_in_aa(C, Ct))
U18_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_out_aa(C, Ct)) → U19_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_in_aa(A, At))
U19_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_out_aa(A, At)) → U20_aaaa(X, Y, C, A, row2col_in_aaaa(Xt, Yt, Ct, At))
U20_aaaa(X, Y, C, A, row2col_out_aaaa(Xt, Yt, Ct, At)) → row2col_out_aaaa(X, Y, C, A)
U5_gga(R, X1, L, Rh, Rt, row2col_out_aaaa(Rh, L, Cols, Accm)) → U6_gga(R, X1, L, transpose_aux_in_gaa(Rt, Accm, Cols))
transpose_aux_in_gaa([], Y, Z) → U2_gaa(Y, Z, eq_in_aa(Y, Z))
eq_in_aa(X, X) → eq_out_aa(X, X)
U2_gaa(Y, Z, eq_out_aa(Y, Z)) → transpose_aux_out_gaa([], Y, Z)
transpose_aux_in_gaa(R, X1, L) → U3_gaa(R, X1, L, head_in_ga(R, Rh))
U3_gaa(R, X1, L, head_out_ga(R, Rh)) → U4_gaa(R, X1, L, Rh, tail_in_ga(R, Rt))
U4_gaa(R, X1, L, Rh, tail_out_ga(R, Rt)) → U5_gaa(R, X1, L, Rh, Rt, row2col_in_aaaa(Rh, L, Cols, Accm))
U5_gaa(R, X1, L, Rh, Rt, row2col_out_aaaa(Rh, L, Cols, Accm)) → U6_gaa(R, X1, L, transpose_aux_in_gaa(Rt, Accm, Cols))
U6_gaa(R, X1, L, transpose_aux_out_gaa(Rt, Accm, Cols)) → transpose_aux_out_gaa(R, X1, L)
U6_gga(R, X1, L, transpose_aux_out_gaa(Rt, Accm, Cols)) → transpose_aux_out_gga(R, X1, L)
U1_ga(A, B, transpose_aux_out_gga(A, [], B)) → transpose_out_ga(A, B)

The argument filtering Pi contains the following mapping:
transpose_in_ga(x1, x2)  =  transpose_in_ga(x1)
U1_ga(x1, x2, x3)  =  U1_ga(x1, x3)
transpose_aux_in_gga(x1, x2, x3)  =  transpose_aux_in_gga(x1, x2)
[]  =  []
U2_gga(x1, x2, x3)  =  U2_gga(x1, x3)
eq_in_ga(x1, x2)  =  eq_in_ga(x1)
eq_out_ga(x1, x2)  =  eq_out_ga(x1, x2)
transpose_aux_out_gga(x1, x2, x3)  =  transpose_aux_out_gga(x1, x2)
U3_gga(x1, x2, x3, x4)  =  U3_gga(x1, x2, x4)
head_in_ga(x1, x2)  =  head_in_ga(x1)
head_out_ga(x1, x2)  =  head_out_ga(x1)
.(x1, x2)  =  .(x1, x2)
U4_gga(x1, x2, x3, x4, x5)  =  U4_gga(x1, x2, x5)
tail_in_ga(x1, x2)  =  tail_in_ga(x1)
tail_out_ga(x1, x2)  =  tail_out_ga(x1, x2)
U5_gga(x1, x2, x3, x4, x5, x6)  =  U5_gga(x1, x2, x5, x6)
row2col_in_aaaa(x1, x2, x3, x4)  =  row2col_in_aaaa
U7_aaaa(x1, x2, x3, x4)  =  U7_aaaa(x4)
eq_in_ag(x1, x2)  =  eq_in_ag(x2)
eq_out_ag(x1, x2)  =  eq_out_ag(x1, x2)
U8_aaaa(x1, x2, x3, x4)  =  U8_aaaa(x4)
U9_aaaa(x1, x2, x3, x4)  =  U9_aaaa(x4)
row2col_out_aaaa(x1, x2, x3, x4)  =  row2col_out_aaaa
U10_aaaa(x1, x2, x3, x4, x5)  =  U10_aaaa(x5)
head_in_aa(x1, x2)  =  head_in_aa
head_out_aa(x1, x2)  =  head_out_aa
U11_aaaa(x1, x2, x3, x4, x5, x6)  =  U11_aaaa(x6)
U12_aaaa(x1, x2, x3, x4, x5, x6, x7)  =  U12_aaaa(x7)
U13_aaaa(x1, x2, x3, x4, x5, x6, x7)  =  U13_aaaa(x7)
head_in_ag(x1, x2)  =  head_in_ag(x2)
head_out_ag(x1, x2)  =  head_out_ag(x2)
U14_aaaa(x1, x2, x3, x4, x5, x6, x7)  =  U14_aaaa(x7)
tail_in_aa(x1, x2)  =  tail_in_aa
tail_out_aa(x1, x2)  =  tail_out_aa
U15_aaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U15_aaaa(x8)
U16_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U16_aaaa(x9)
U17_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U17_aaaa(x10)
U18_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U18_aaaa(x10)
U19_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U19_aaaa(x11)
U20_aaaa(x1, x2, x3, x4, x5)  =  U20_aaaa(x5)
U6_gga(x1, x2, x3, x4)  =  U6_gga(x1, x2, x4)
transpose_aux_in_gaa(x1, x2, x3)  =  transpose_aux_in_gaa(x1)
U2_gaa(x1, x2, x3)  =  U2_gaa(x3)
eq_in_aa(x1, x2)  =  eq_in_aa
eq_out_aa(x1, x2)  =  eq_out_aa
transpose_aux_out_gaa(x1, x2, x3)  =  transpose_aux_out_gaa(x1)
U3_gaa(x1, x2, x3, x4)  =  U3_gaa(x1, x4)
U4_gaa(x1, x2, x3, x4, x5)  =  U4_gaa(x1, x5)
U5_gaa(x1, x2, x3, x4, x5, x6)  =  U5_gaa(x1, x5, x6)
U6_gaa(x1, x2, x3, x4)  =  U6_gaa(x1, x4)
transpose_out_ga(x1, x2)  =  transpose_out_ga(x1)
TRANSPOSE_IN_GA(x1, x2)  =  TRANSPOSE_IN_GA(x1)
U1_GA(x1, x2, x3)  =  U1_GA(x1, x3)
TRANSPOSE_AUX_IN_GGA(x1, x2, x3)  =  TRANSPOSE_AUX_IN_GGA(x1, x2)
U2_GGA(x1, x2, x3)  =  U2_GGA(x1, x3)
EQ_IN_GA(x1, x2)  =  EQ_IN_GA(x1)
U3_GGA(x1, x2, x3, x4)  =  U3_GGA(x1, x2, x4)
HEAD_IN_GA(x1, x2)  =  HEAD_IN_GA(x1)
U4_GGA(x1, x2, x3, x4, x5)  =  U4_GGA(x1, x2, x5)
TAIL_IN_GA(x1, x2)  =  TAIL_IN_GA(x1)
U5_GGA(x1, x2, x3, x4, x5, x6)  =  U5_GGA(x1, x2, x5, x6)
ROW2COL_IN_AAAA(x1, x2, x3, x4)  =  ROW2COL_IN_AAAA
U7_AAAA(x1, x2, x3, x4)  =  U7_AAAA(x4)
EQ_IN_AG(x1, x2)  =  EQ_IN_AG(x2)
U8_AAAA(x1, x2, x3, x4)  =  U8_AAAA(x4)
U9_AAAA(x1, x2, x3, x4)  =  U9_AAAA(x4)
U10_AAAA(x1, x2, x3, x4, x5)  =  U10_AAAA(x5)
HEAD_IN_AA(x1, x2)  =  HEAD_IN_AA
U11_AAAA(x1, x2, x3, x4, x5, x6)  =  U11_AAAA(x6)
U12_AAAA(x1, x2, x3, x4, x5, x6, x7)  =  U12_AAAA(x7)
U13_AAAA(x1, x2, x3, x4, x5, x6, x7)  =  U13_AAAA(x7)
HEAD_IN_AG(x1, x2)  =  HEAD_IN_AG(x2)
U14_AAAA(x1, x2, x3, x4, x5, x6, x7)  =  U14_AAAA(x7)
TAIL_IN_AA(x1, x2)  =  TAIL_IN_AA
U15_AAAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U15_AAAA(x8)
U16_AAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U16_AAAA(x9)
U17_AAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U17_AAAA(x10)
U18_AAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U18_AAAA(x10)
U19_AAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U19_AAAA(x11)
U20_AAAA(x1, x2, x3, x4, x5)  =  U20_AAAA(x5)
U6_GGA(x1, x2, x3, x4)  =  U6_GGA(x1, x2, x4)
TRANSPOSE_AUX_IN_GAA(x1, x2, x3)  =  TRANSPOSE_AUX_IN_GAA(x1)
U2_GAA(x1, x2, x3)  =  U2_GAA(x3)
EQ_IN_AA(x1, x2)  =  EQ_IN_AA
U3_GAA(x1, x2, x3, x4)  =  U3_GAA(x1, x4)
U4_GAA(x1, x2, x3, x4, x5)  =  U4_GAA(x1, x5)
U5_GAA(x1, x2, x3, x4, x5, x6)  =  U5_GAA(x1, x5, x6)
U6_GAA(x1, x2, x3, x4)  =  U6_GAA(x1, x4)

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

(92) Obligation:

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

TRANSPOSE_IN_GA(A, B) → U1_GA(A, B, transpose_aux_in_gga(A, [], B))
TRANSPOSE_IN_GA(A, B) → TRANSPOSE_AUX_IN_GGA(A, [], B)
TRANSPOSE_AUX_IN_GGA([], Y, Z) → U2_GGA(Y, Z, eq_in_ga(Y, Z))
TRANSPOSE_AUX_IN_GGA([], Y, Z) → EQ_IN_GA(Y, Z)
TRANSPOSE_AUX_IN_GGA(R, X1, L) → U3_GGA(R, X1, L, head_in_ga(R, Rh))
TRANSPOSE_AUX_IN_GGA(R, X1, L) → HEAD_IN_GA(R, Rh)
U3_GGA(R, X1, L, head_out_ga(R, Rh)) → U4_GGA(R, X1, L, Rh, tail_in_ga(R, Rt))
U3_GGA(R, X1, L, head_out_ga(R, Rh)) → TAIL_IN_GA(R, Rt)
U4_GGA(R, X1, L, Rh, tail_out_ga(R, Rt)) → U5_GGA(R, X1, L, Rh, Rt, row2col_in_aaaa(Rh, L, Cols, Accm))
U4_GGA(R, X1, L, Rh, tail_out_ga(R, Rt)) → ROW2COL_IN_AAAA(Rh, L, Cols, Accm)
ROW2COL_IN_AAAA([], X, Y, Z) → U7_AAAA(X, Y, Z, eq_in_ag(X, []))
ROW2COL_IN_AAAA([], X, Y, Z) → EQ_IN_AG(X, [])
U7_AAAA(X, Y, Z, eq_out_ag(X, [])) → U8_AAAA(X, Y, Z, eq_in_ag(Y, []))
U7_AAAA(X, Y, Z, eq_out_ag(X, [])) → EQ_IN_AG(Y, [])
U8_AAAA(X, Y, Z, eq_out_ag(Y, [])) → U9_AAAA(X, Y, Z, eq_in_ag(Z, []))
U8_AAAA(X, Y, Z, eq_out_ag(Y, [])) → EQ_IN_AG(Z, [])
ROW2COL_IN_AAAA(X, Y, C, A) → U10_AAAA(X, Y, C, A, head_in_aa(X, Xh))
ROW2COL_IN_AAAA(X, Y, C, A) → HEAD_IN_AA(X, Xh)
U10_AAAA(X, Y, C, A, head_out_aa(X, Xh)) → U11_AAAA(X, Y, C, A, Xh, head_in_aa(Y, Yh))
U10_AAAA(X, Y, C, A, head_out_aa(X, Xh)) → HEAD_IN_AA(Y, Yh)
U11_AAAA(X, Y, C, A, Xh, head_out_aa(Y, Yh)) → U12_AAAA(X, Y, C, A, Xh, Yh, head_in_aa(Yh, Xh))
U11_AAAA(X, Y, C, A, Xh, head_out_aa(Y, Yh)) → HEAD_IN_AA(Yh, Xh)
U12_AAAA(X, Y, C, A, Xh, Yh, head_out_aa(Yh, Xh)) → U13_AAAA(X, Y, C, A, Xh, Yh, head_in_ag(A, []))
U12_AAAA(X, Y, C, A, Xh, Yh, head_out_aa(Yh, Xh)) → HEAD_IN_AG(A, [])
U13_AAAA(X, Y, C, A, Xh, Yh, head_out_ag(A, [])) → U14_AAAA(X, Y, C, A, Xh, Yh, tail_in_aa(X, Xt))
U13_AAAA(X, Y, C, A, Xh, Yh, head_out_ag(A, [])) → TAIL_IN_AA(X, Xt)
U14_AAAA(X, Y, C, A, Xh, Yh, tail_out_aa(X, Xt)) → U15_AAAA(X, Y, C, A, Xh, Yh, Xt, tail_in_aa(Y, Yt))
U14_AAAA(X, Y, C, A, Xh, Yh, tail_out_aa(X, Xt)) → TAIL_IN_AA(Y, Yt)
U15_AAAA(X, Y, C, A, Xh, Yh, Xt, tail_out_aa(Y, Yt)) → U16_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, tail_in_aa(Yh, Yht))
U15_AAAA(X, Y, C, A, Xh, Yh, Xt, tail_out_aa(Y, Yt)) → TAIL_IN_AA(Yh, Yht)
U16_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, tail_out_aa(Yh, Yht)) → U17_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_in_aa(C, Yht))
U16_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, tail_out_aa(Yh, Yht)) → HEAD_IN_AA(C, Yht)
U17_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_out_aa(C, Yht)) → U18_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_in_aa(C, Ct))
U17_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_out_aa(C, Yht)) → TAIL_IN_AA(C, Ct)
U18_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_out_aa(C, Ct)) → U19_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_in_aa(A, At))
U18_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_out_aa(C, Ct)) → TAIL_IN_AA(A, At)
U19_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_out_aa(A, At)) → U20_AAAA(X, Y, C, A, row2col_in_aaaa(Xt, Yt, Ct, At))
U19_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_out_aa(A, At)) → ROW2COL_IN_AAAA(Xt, Yt, Ct, At)
U5_GGA(R, X1, L, Rh, Rt, row2col_out_aaaa(Rh, L, Cols, Accm)) → U6_GGA(R, X1, L, transpose_aux_in_gaa(Rt, Accm, Cols))
U5_GGA(R, X1, L, Rh, Rt, row2col_out_aaaa(Rh, L, Cols, Accm)) → TRANSPOSE_AUX_IN_GAA(Rt, Accm, Cols)
TRANSPOSE_AUX_IN_GAA([], Y, Z) → U2_GAA(Y, Z, eq_in_aa(Y, Z))
TRANSPOSE_AUX_IN_GAA([], Y, Z) → EQ_IN_AA(Y, Z)
TRANSPOSE_AUX_IN_GAA(R, X1, L) → U3_GAA(R, X1, L, head_in_ga(R, Rh))
TRANSPOSE_AUX_IN_GAA(R, X1, L) → HEAD_IN_GA(R, Rh)
U3_GAA(R, X1, L, head_out_ga(R, Rh)) → U4_GAA(R, X1, L, Rh, tail_in_ga(R, Rt))
U3_GAA(R, X1, L, head_out_ga(R, Rh)) → TAIL_IN_GA(R, Rt)
U4_GAA(R, X1, L, Rh, tail_out_ga(R, Rt)) → U5_GAA(R, X1, L, Rh, Rt, row2col_in_aaaa(Rh, L, Cols, Accm))
U4_GAA(R, X1, L, Rh, tail_out_ga(R, Rt)) → ROW2COL_IN_AAAA(Rh, L, Cols, Accm)
U5_GAA(R, X1, L, Rh, Rt, row2col_out_aaaa(Rh, L, Cols, Accm)) → U6_GAA(R, X1, L, transpose_aux_in_gaa(Rt, Accm, Cols))
U5_GAA(R, X1, L, Rh, Rt, row2col_out_aaaa(Rh, L, Cols, Accm)) → TRANSPOSE_AUX_IN_GAA(Rt, Accm, Cols)

The TRS R consists of the following rules:

transpose_in_ga(A, B) → U1_ga(A, B, transpose_aux_in_gga(A, [], B))
transpose_aux_in_gga([], Y, Z) → U2_gga(Y, Z, eq_in_ga(Y, Z))
eq_in_ga(X, X) → eq_out_ga(X, X)
U2_gga(Y, Z, eq_out_ga(Y, Z)) → transpose_aux_out_gga([], Y, Z)
transpose_aux_in_gga(R, X1, L) → U3_gga(R, X1, L, head_in_ga(R, Rh))
head_in_ga([], X2) → head_out_ga([], X2)
head_in_ga(.(H, X3), H) → head_out_ga(.(H, X3), H)
U3_gga(R, X1, L, head_out_ga(R, Rh)) → U4_gga(R, X1, L, Rh, tail_in_ga(R, Rt))
tail_in_ga([], []) → tail_out_ga([], [])
tail_in_ga(.(X4, T), T) → tail_out_ga(.(X4, T), T)
U4_gga(R, X1, L, Rh, tail_out_ga(R, Rt)) → U5_gga(R, X1, L, Rh, Rt, row2col_in_aaaa(Rh, L, Cols, Accm))
row2col_in_aaaa([], X, Y, Z) → U7_aaaa(X, Y, Z, eq_in_ag(X, []))
eq_in_ag(X, X) → eq_out_ag(X, X)
U7_aaaa(X, Y, Z, eq_out_ag(X, [])) → U8_aaaa(X, Y, Z, eq_in_ag(Y, []))
U8_aaaa(X, Y, Z, eq_out_ag(Y, [])) → U9_aaaa(X, Y, Z, eq_in_ag(Z, []))
U9_aaaa(X, Y, Z, eq_out_ag(Z, [])) → row2col_out_aaaa([], X, Y, Z)
row2col_in_aaaa(X, Y, C, A) → U10_aaaa(X, Y, C, A, head_in_aa(X, Xh))
head_in_aa([], X2) → head_out_aa([], X2)
head_in_aa(.(H, X3), H) → head_out_aa(.(H, X3), H)
U10_aaaa(X, Y, C, A, head_out_aa(X, Xh)) → U11_aaaa(X, Y, C, A, Xh, head_in_aa(Y, Yh))
U11_aaaa(X, Y, C, A, Xh, head_out_aa(Y, Yh)) → U12_aaaa(X, Y, C, A, Xh, Yh, head_in_aa(Yh, Xh))
U12_aaaa(X, Y, C, A, Xh, Yh, head_out_aa(Yh, Xh)) → U13_aaaa(X, Y, C, A, Xh, Yh, head_in_ag(A, []))
head_in_ag([], X2) → head_out_ag([], X2)
head_in_ag(.(H, X3), H) → head_out_ag(.(H, X3), H)
U13_aaaa(X, Y, C, A, Xh, Yh, head_out_ag(A, [])) → U14_aaaa(X, Y, C, A, Xh, Yh, tail_in_aa(X, Xt))
tail_in_aa([], []) → tail_out_aa([], [])
tail_in_aa(.(X4, T), T) → tail_out_aa(.(X4, T), T)
U14_aaaa(X, Y, C, A, Xh, Yh, tail_out_aa(X, Xt)) → U15_aaaa(X, Y, C, A, Xh, Yh, Xt, tail_in_aa(Y, Yt))
U15_aaaa(X, Y, C, A, Xh, Yh, Xt, tail_out_aa(Y, Yt)) → U16_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, tail_in_aa(Yh, Yht))
U16_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, tail_out_aa(Yh, Yht)) → U17_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_in_aa(C, Yht))
U17_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_out_aa(C, Yht)) → U18_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_in_aa(C, Ct))
U18_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_out_aa(C, Ct)) → U19_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_in_aa(A, At))
U19_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_out_aa(A, At)) → U20_aaaa(X, Y, C, A, row2col_in_aaaa(Xt, Yt, Ct, At))
U20_aaaa(X, Y, C, A, row2col_out_aaaa(Xt, Yt, Ct, At)) → row2col_out_aaaa(X, Y, C, A)
U5_gga(R, X1, L, Rh, Rt, row2col_out_aaaa(Rh, L, Cols, Accm)) → U6_gga(R, X1, L, transpose_aux_in_gaa(Rt, Accm, Cols))
transpose_aux_in_gaa([], Y, Z) → U2_gaa(Y, Z, eq_in_aa(Y, Z))
eq_in_aa(X, X) → eq_out_aa(X, X)
U2_gaa(Y, Z, eq_out_aa(Y, Z)) → transpose_aux_out_gaa([], Y, Z)
transpose_aux_in_gaa(R, X1, L) → U3_gaa(R, X1, L, head_in_ga(R, Rh))
U3_gaa(R, X1, L, head_out_ga(R, Rh)) → U4_gaa(R, X1, L, Rh, tail_in_ga(R, Rt))
U4_gaa(R, X1, L, Rh, tail_out_ga(R, Rt)) → U5_gaa(R, X1, L, Rh, Rt, row2col_in_aaaa(Rh, L, Cols, Accm))
U5_gaa(R, X1, L, Rh, Rt, row2col_out_aaaa(Rh, L, Cols, Accm)) → U6_gaa(R, X1, L, transpose_aux_in_gaa(Rt, Accm, Cols))
U6_gaa(R, X1, L, transpose_aux_out_gaa(Rt, Accm, Cols)) → transpose_aux_out_gaa(R, X1, L)
U6_gga(R, X1, L, transpose_aux_out_gaa(Rt, Accm, Cols)) → transpose_aux_out_gga(R, X1, L)
U1_ga(A, B, transpose_aux_out_gga(A, [], B)) → transpose_out_ga(A, B)

The argument filtering Pi contains the following mapping:
transpose_in_ga(x1, x2)  =  transpose_in_ga(x1)
U1_ga(x1, x2, x3)  =  U1_ga(x1, x3)
transpose_aux_in_gga(x1, x2, x3)  =  transpose_aux_in_gga(x1, x2)
[]  =  []
U2_gga(x1, x2, x3)  =  U2_gga(x1, x3)
eq_in_ga(x1, x2)  =  eq_in_ga(x1)
eq_out_ga(x1, x2)  =  eq_out_ga(x1, x2)
transpose_aux_out_gga(x1, x2, x3)  =  transpose_aux_out_gga(x1, x2)
U3_gga(x1, x2, x3, x4)  =  U3_gga(x1, x2, x4)
head_in_ga(x1, x2)  =  head_in_ga(x1)
head_out_ga(x1, x2)  =  head_out_ga(x1)
.(x1, x2)  =  .(x1, x2)
U4_gga(x1, x2, x3, x4, x5)  =  U4_gga(x1, x2, x5)
tail_in_ga(x1, x2)  =  tail_in_ga(x1)
tail_out_ga(x1, x2)  =  tail_out_ga(x1, x2)
U5_gga(x1, x2, x3, x4, x5, x6)  =  U5_gga(x1, x2, x5, x6)
row2col_in_aaaa(x1, x2, x3, x4)  =  row2col_in_aaaa
U7_aaaa(x1, x2, x3, x4)  =  U7_aaaa(x4)
eq_in_ag(x1, x2)  =  eq_in_ag(x2)
eq_out_ag(x1, x2)  =  eq_out_ag(x1, x2)
U8_aaaa(x1, x2, x3, x4)  =  U8_aaaa(x4)
U9_aaaa(x1, x2, x3, x4)  =  U9_aaaa(x4)
row2col_out_aaaa(x1, x2, x3, x4)  =  row2col_out_aaaa
U10_aaaa(x1, x2, x3, x4, x5)  =  U10_aaaa(x5)
head_in_aa(x1, x2)  =  head_in_aa
head_out_aa(x1, x2)  =  head_out_aa
U11_aaaa(x1, x2, x3, x4, x5, x6)  =  U11_aaaa(x6)
U12_aaaa(x1, x2, x3, x4, x5, x6, x7)  =  U12_aaaa(x7)
U13_aaaa(x1, x2, x3, x4, x5, x6, x7)  =  U13_aaaa(x7)
head_in_ag(x1, x2)  =  head_in_ag(x2)
head_out_ag(x1, x2)  =  head_out_ag(x2)
U14_aaaa(x1, x2, x3, x4, x5, x6, x7)  =  U14_aaaa(x7)
tail_in_aa(x1, x2)  =  tail_in_aa
tail_out_aa(x1, x2)  =  tail_out_aa
U15_aaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U15_aaaa(x8)
U16_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U16_aaaa(x9)
U17_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U17_aaaa(x10)
U18_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U18_aaaa(x10)
U19_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U19_aaaa(x11)
U20_aaaa(x1, x2, x3, x4, x5)  =  U20_aaaa(x5)
U6_gga(x1, x2, x3, x4)  =  U6_gga(x1, x2, x4)
transpose_aux_in_gaa(x1, x2, x3)  =  transpose_aux_in_gaa(x1)
U2_gaa(x1, x2, x3)  =  U2_gaa(x3)
eq_in_aa(x1, x2)  =  eq_in_aa
eq_out_aa(x1, x2)  =  eq_out_aa
transpose_aux_out_gaa(x1, x2, x3)  =  transpose_aux_out_gaa(x1)
U3_gaa(x1, x2, x3, x4)  =  U3_gaa(x1, x4)
U4_gaa(x1, x2, x3, x4, x5)  =  U4_gaa(x1, x5)
U5_gaa(x1, x2, x3, x4, x5, x6)  =  U5_gaa(x1, x5, x6)
U6_gaa(x1, x2, x3, x4)  =  U6_gaa(x1, x4)
transpose_out_ga(x1, x2)  =  transpose_out_ga(x1)
TRANSPOSE_IN_GA(x1, x2)  =  TRANSPOSE_IN_GA(x1)
U1_GA(x1, x2, x3)  =  U1_GA(x1, x3)
TRANSPOSE_AUX_IN_GGA(x1, x2, x3)  =  TRANSPOSE_AUX_IN_GGA(x1, x2)
U2_GGA(x1, x2, x3)  =  U2_GGA(x1, x3)
EQ_IN_GA(x1, x2)  =  EQ_IN_GA(x1)
U3_GGA(x1, x2, x3, x4)  =  U3_GGA(x1, x2, x4)
HEAD_IN_GA(x1, x2)  =  HEAD_IN_GA(x1)
U4_GGA(x1, x2, x3, x4, x5)  =  U4_GGA(x1, x2, x5)
TAIL_IN_GA(x1, x2)  =  TAIL_IN_GA(x1)
U5_GGA(x1, x2, x3, x4, x5, x6)  =  U5_GGA(x1, x2, x5, x6)
ROW2COL_IN_AAAA(x1, x2, x3, x4)  =  ROW2COL_IN_AAAA
U7_AAAA(x1, x2, x3, x4)  =  U7_AAAA(x4)
EQ_IN_AG(x1, x2)  =  EQ_IN_AG(x2)
U8_AAAA(x1, x2, x3, x4)  =  U8_AAAA(x4)
U9_AAAA(x1, x2, x3, x4)  =  U9_AAAA(x4)
U10_AAAA(x1, x2, x3, x4, x5)  =  U10_AAAA(x5)
HEAD_IN_AA(x1, x2)  =  HEAD_IN_AA
U11_AAAA(x1, x2, x3, x4, x5, x6)  =  U11_AAAA(x6)
U12_AAAA(x1, x2, x3, x4, x5, x6, x7)  =  U12_AAAA(x7)
U13_AAAA(x1, x2, x3, x4, x5, x6, x7)  =  U13_AAAA(x7)
HEAD_IN_AG(x1, x2)  =  HEAD_IN_AG(x2)
U14_AAAA(x1, x2, x3, x4, x5, x6, x7)  =  U14_AAAA(x7)
TAIL_IN_AA(x1, x2)  =  TAIL_IN_AA
U15_AAAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U15_AAAA(x8)
U16_AAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U16_AAAA(x9)
U17_AAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U17_AAAA(x10)
U18_AAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U18_AAAA(x10)
U19_AAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U19_AAAA(x11)
U20_AAAA(x1, x2, x3, x4, x5)  =  U20_AAAA(x5)
U6_GGA(x1, x2, x3, x4)  =  U6_GGA(x1, x2, x4)
TRANSPOSE_AUX_IN_GAA(x1, x2, x3)  =  TRANSPOSE_AUX_IN_GAA(x1)
U2_GAA(x1, x2, x3)  =  U2_GAA(x3)
EQ_IN_AA(x1, x2)  =  EQ_IN_AA
U3_GAA(x1, x2, x3, x4)  =  U3_GAA(x1, x4)
U4_GAA(x1, x2, x3, x4, x5)  =  U4_GAA(x1, x5)
U5_GAA(x1, x2, x3, x4, x5, x6)  =  U5_GAA(x1, x5, x6)
U6_GAA(x1, x2, x3, x4)  =  U6_GAA(x1, x4)

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

(93) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LOPSTR] contains 2 SCCs with 35 less nodes.

(94) Complex Obligation (AND)

(95) Obligation:

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

ROW2COL_IN_AAAA(X, Y, C, A) → U10_AAAA(X, Y, C, A, head_in_aa(X, Xh))
U10_AAAA(X, Y, C, A, head_out_aa(X, Xh)) → U11_AAAA(X, Y, C, A, Xh, head_in_aa(Y, Yh))
U11_AAAA(X, Y, C, A, Xh, head_out_aa(Y, Yh)) → U12_AAAA(X, Y, C, A, Xh, Yh, head_in_aa(Yh, Xh))
U12_AAAA(X, Y, C, A, Xh, Yh, head_out_aa(Yh, Xh)) → U13_AAAA(X, Y, C, A, Xh, Yh, head_in_ag(A, []))
U13_AAAA(X, Y, C, A, Xh, Yh, head_out_ag(A, [])) → U14_AAAA(X, Y, C, A, Xh, Yh, tail_in_aa(X, Xt))
U14_AAAA(X, Y, C, A, Xh, Yh, tail_out_aa(X, Xt)) → U15_AAAA(X, Y, C, A, Xh, Yh, Xt, tail_in_aa(Y, Yt))
U15_AAAA(X, Y, C, A, Xh, Yh, Xt, tail_out_aa(Y, Yt)) → U16_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, tail_in_aa(Yh, Yht))
U16_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, tail_out_aa(Yh, Yht)) → U17_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_in_aa(C, Yht))
U17_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_out_aa(C, Yht)) → U18_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_in_aa(C, Ct))
U18_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_out_aa(C, Ct)) → U19_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_in_aa(A, At))
U19_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_out_aa(A, At)) → ROW2COL_IN_AAAA(Xt, Yt, Ct, At)

The TRS R consists of the following rules:

transpose_in_ga(A, B) → U1_ga(A, B, transpose_aux_in_gga(A, [], B))
transpose_aux_in_gga([], Y, Z) → U2_gga(Y, Z, eq_in_ga(Y, Z))
eq_in_ga(X, X) → eq_out_ga(X, X)
U2_gga(Y, Z, eq_out_ga(Y, Z)) → transpose_aux_out_gga([], Y, Z)
transpose_aux_in_gga(R, X1, L) → U3_gga(R, X1, L, head_in_ga(R, Rh))
head_in_ga([], X2) → head_out_ga([], X2)
head_in_ga(.(H, X3), H) → head_out_ga(.(H, X3), H)
U3_gga(R, X1, L, head_out_ga(R, Rh)) → U4_gga(R, X1, L, Rh, tail_in_ga(R, Rt))
tail_in_ga([], []) → tail_out_ga([], [])
tail_in_ga(.(X4, T), T) → tail_out_ga(.(X4, T), T)
U4_gga(R, X1, L, Rh, tail_out_ga(R, Rt)) → U5_gga(R, X1, L, Rh, Rt, row2col_in_aaaa(Rh, L, Cols, Accm))
row2col_in_aaaa([], X, Y, Z) → U7_aaaa(X, Y, Z, eq_in_ag(X, []))
eq_in_ag(X, X) → eq_out_ag(X, X)
U7_aaaa(X, Y, Z, eq_out_ag(X, [])) → U8_aaaa(X, Y, Z, eq_in_ag(Y, []))
U8_aaaa(X, Y, Z, eq_out_ag(Y, [])) → U9_aaaa(X, Y, Z, eq_in_ag(Z, []))
U9_aaaa(X, Y, Z, eq_out_ag(Z, [])) → row2col_out_aaaa([], X, Y, Z)
row2col_in_aaaa(X, Y, C, A) → U10_aaaa(X, Y, C, A, head_in_aa(X, Xh))
head_in_aa([], X2) → head_out_aa([], X2)
head_in_aa(.(H, X3), H) → head_out_aa(.(H, X3), H)
U10_aaaa(X, Y, C, A, head_out_aa(X, Xh)) → U11_aaaa(X, Y, C, A, Xh, head_in_aa(Y, Yh))
U11_aaaa(X, Y, C, A, Xh, head_out_aa(Y, Yh)) → U12_aaaa(X, Y, C, A, Xh, Yh, head_in_aa(Yh, Xh))
U12_aaaa(X, Y, C, A, Xh, Yh, head_out_aa(Yh, Xh)) → U13_aaaa(X, Y, C, A, Xh, Yh, head_in_ag(A, []))
head_in_ag([], X2) → head_out_ag([], X2)
head_in_ag(.(H, X3), H) → head_out_ag(.(H, X3), H)
U13_aaaa(X, Y, C, A, Xh, Yh, head_out_ag(A, [])) → U14_aaaa(X, Y, C, A, Xh, Yh, tail_in_aa(X, Xt))
tail_in_aa([], []) → tail_out_aa([], [])
tail_in_aa(.(X4, T), T) → tail_out_aa(.(X4, T), T)
U14_aaaa(X, Y, C, A, Xh, Yh, tail_out_aa(X, Xt)) → U15_aaaa(X, Y, C, A, Xh, Yh, Xt, tail_in_aa(Y, Yt))
U15_aaaa(X, Y, C, A, Xh, Yh, Xt, tail_out_aa(Y, Yt)) → U16_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, tail_in_aa(Yh, Yht))
U16_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, tail_out_aa(Yh, Yht)) → U17_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_in_aa(C, Yht))
U17_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_out_aa(C, Yht)) → U18_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_in_aa(C, Ct))
U18_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_out_aa(C, Ct)) → U19_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_in_aa(A, At))
U19_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_out_aa(A, At)) → U20_aaaa(X, Y, C, A, row2col_in_aaaa(Xt, Yt, Ct, At))
U20_aaaa(X, Y, C, A, row2col_out_aaaa(Xt, Yt, Ct, At)) → row2col_out_aaaa(X, Y, C, A)
U5_gga(R, X1, L, Rh, Rt, row2col_out_aaaa(Rh, L, Cols, Accm)) → U6_gga(R, X1, L, transpose_aux_in_gaa(Rt, Accm, Cols))
transpose_aux_in_gaa([], Y, Z) → U2_gaa(Y, Z, eq_in_aa(Y, Z))
eq_in_aa(X, X) → eq_out_aa(X, X)
U2_gaa(Y, Z, eq_out_aa(Y, Z)) → transpose_aux_out_gaa([], Y, Z)
transpose_aux_in_gaa(R, X1, L) → U3_gaa(R, X1, L, head_in_ga(R, Rh))
U3_gaa(R, X1, L, head_out_ga(R, Rh)) → U4_gaa(R, X1, L, Rh, tail_in_ga(R, Rt))
U4_gaa(R, X1, L, Rh, tail_out_ga(R, Rt)) → U5_gaa(R, X1, L, Rh, Rt, row2col_in_aaaa(Rh, L, Cols, Accm))
U5_gaa(R, X1, L, Rh, Rt, row2col_out_aaaa(Rh, L, Cols, Accm)) → U6_gaa(R, X1, L, transpose_aux_in_gaa(Rt, Accm, Cols))
U6_gaa(R, X1, L, transpose_aux_out_gaa(Rt, Accm, Cols)) → transpose_aux_out_gaa(R, X1, L)
U6_gga(R, X1, L, transpose_aux_out_gaa(Rt, Accm, Cols)) → transpose_aux_out_gga(R, X1, L)
U1_ga(A, B, transpose_aux_out_gga(A, [], B)) → transpose_out_ga(A, B)

The argument filtering Pi contains the following mapping:
transpose_in_ga(x1, x2)  =  transpose_in_ga(x1)
U1_ga(x1, x2, x3)  =  U1_ga(x1, x3)
transpose_aux_in_gga(x1, x2, x3)  =  transpose_aux_in_gga(x1, x2)
[]  =  []
U2_gga(x1, x2, x3)  =  U2_gga(x1, x3)
eq_in_ga(x1, x2)  =  eq_in_ga(x1)
eq_out_ga(x1, x2)  =  eq_out_ga(x1, x2)
transpose_aux_out_gga(x1, x2, x3)  =  transpose_aux_out_gga(x1, x2)
U3_gga(x1, x2, x3, x4)  =  U3_gga(x1, x2, x4)
head_in_ga(x1, x2)  =  head_in_ga(x1)
head_out_ga(x1, x2)  =  head_out_ga(x1)
.(x1, x2)  =  .(x1, x2)
U4_gga(x1, x2, x3, x4, x5)  =  U4_gga(x1, x2, x5)
tail_in_ga(x1, x2)  =  tail_in_ga(x1)
tail_out_ga(x1, x2)  =  tail_out_ga(x1, x2)
U5_gga(x1, x2, x3, x4, x5, x6)  =  U5_gga(x1, x2, x5, x6)
row2col_in_aaaa(x1, x2, x3, x4)  =  row2col_in_aaaa
U7_aaaa(x1, x2, x3, x4)  =  U7_aaaa(x4)
eq_in_ag(x1, x2)  =  eq_in_ag(x2)
eq_out_ag(x1, x2)  =  eq_out_ag(x1, x2)
U8_aaaa(x1, x2, x3, x4)  =  U8_aaaa(x4)
U9_aaaa(x1, x2, x3, x4)  =  U9_aaaa(x4)
row2col_out_aaaa(x1, x2, x3, x4)  =  row2col_out_aaaa
U10_aaaa(x1, x2, x3, x4, x5)  =  U10_aaaa(x5)
head_in_aa(x1, x2)  =  head_in_aa
head_out_aa(x1, x2)  =  head_out_aa
U11_aaaa(x1, x2, x3, x4, x5, x6)  =  U11_aaaa(x6)
U12_aaaa(x1, x2, x3, x4, x5, x6, x7)  =  U12_aaaa(x7)
U13_aaaa(x1, x2, x3, x4, x5, x6, x7)  =  U13_aaaa(x7)
head_in_ag(x1, x2)  =  head_in_ag(x2)
head_out_ag(x1, x2)  =  head_out_ag(x2)
U14_aaaa(x1, x2, x3, x4, x5, x6, x7)  =  U14_aaaa(x7)
tail_in_aa(x1, x2)  =  tail_in_aa
tail_out_aa(x1, x2)  =  tail_out_aa
U15_aaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U15_aaaa(x8)
U16_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U16_aaaa(x9)
U17_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U17_aaaa(x10)
U18_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U18_aaaa(x10)
U19_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U19_aaaa(x11)
U20_aaaa(x1, x2, x3, x4, x5)  =  U20_aaaa(x5)
U6_gga(x1, x2, x3, x4)  =  U6_gga(x1, x2, x4)
transpose_aux_in_gaa(x1, x2, x3)  =  transpose_aux_in_gaa(x1)
U2_gaa(x1, x2, x3)  =  U2_gaa(x3)
eq_in_aa(x1, x2)  =  eq_in_aa
eq_out_aa(x1, x2)  =  eq_out_aa
transpose_aux_out_gaa(x1, x2, x3)  =  transpose_aux_out_gaa(x1)
U3_gaa(x1, x2, x3, x4)  =  U3_gaa(x1, x4)
U4_gaa(x1, x2, x3, x4, x5)  =  U4_gaa(x1, x5)
U5_gaa(x1, x2, x3, x4, x5, x6)  =  U5_gaa(x1, x5, x6)
U6_gaa(x1, x2, x3, x4)  =  U6_gaa(x1, x4)
transpose_out_ga(x1, x2)  =  transpose_out_ga(x1)
ROW2COL_IN_AAAA(x1, x2, x3, x4)  =  ROW2COL_IN_AAAA
U10_AAAA(x1, x2, x3, x4, x5)  =  U10_AAAA(x5)
U11_AAAA(x1, x2, x3, x4, x5, x6)  =  U11_AAAA(x6)
U12_AAAA(x1, x2, x3, x4, x5, x6, x7)  =  U12_AAAA(x7)
U13_AAAA(x1, x2, x3, x4, x5, x6, x7)  =  U13_AAAA(x7)
U14_AAAA(x1, x2, x3, x4, x5, x6, x7)  =  U14_AAAA(x7)
U15_AAAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U15_AAAA(x8)
U16_AAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U16_AAAA(x9)
U17_AAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U17_AAAA(x10)
U18_AAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U18_AAAA(x10)
U19_AAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U19_AAAA(x11)

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

(96) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(97) Obligation:

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

ROW2COL_IN_AAAA(X, Y, C, A) → U10_AAAA(X, Y, C, A, head_in_aa(X, Xh))
U10_AAAA(X, Y, C, A, head_out_aa(X, Xh)) → U11_AAAA(X, Y, C, A, Xh, head_in_aa(Y, Yh))
U11_AAAA(X, Y, C, A, Xh, head_out_aa(Y, Yh)) → U12_AAAA(X, Y, C, A, Xh, Yh, head_in_aa(Yh, Xh))
U12_AAAA(X, Y, C, A, Xh, Yh, head_out_aa(Yh, Xh)) → U13_AAAA(X, Y, C, A, Xh, Yh, head_in_ag(A, []))
U13_AAAA(X, Y, C, A, Xh, Yh, head_out_ag(A, [])) → U14_AAAA(X, Y, C, A, Xh, Yh, tail_in_aa(X, Xt))
U14_AAAA(X, Y, C, A, Xh, Yh, tail_out_aa(X, Xt)) → U15_AAAA(X, Y, C, A, Xh, Yh, Xt, tail_in_aa(Y, Yt))
U15_AAAA(X, Y, C, A, Xh, Yh, Xt, tail_out_aa(Y, Yt)) → U16_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, tail_in_aa(Yh, Yht))
U16_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, tail_out_aa(Yh, Yht)) → U17_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_in_aa(C, Yht))
U17_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_out_aa(C, Yht)) → U18_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_in_aa(C, Ct))
U18_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_out_aa(C, Ct)) → U19_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_in_aa(A, At))
U19_AAAA(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_out_aa(A, At)) → ROW2COL_IN_AAAA(Xt, Yt, Ct, At)

The TRS R consists of the following rules:

head_in_aa([], X2) → head_out_aa([], X2)
head_in_aa(.(H, X3), H) → head_out_aa(.(H, X3), H)
head_in_ag([], X2) → head_out_ag([], X2)
head_in_ag(.(H, X3), H) → head_out_ag(.(H, X3), H)
tail_in_aa([], []) → tail_out_aa([], [])
tail_in_aa(.(X4, T), T) → tail_out_aa(.(X4, T), T)

The argument filtering Pi contains the following mapping:
[]  =  []
.(x1, x2)  =  .(x1, x2)
head_in_aa(x1, x2)  =  head_in_aa
head_out_aa(x1, x2)  =  head_out_aa
head_in_ag(x1, x2)  =  head_in_ag(x2)
head_out_ag(x1, x2)  =  head_out_ag(x2)
tail_in_aa(x1, x2)  =  tail_in_aa
tail_out_aa(x1, x2)  =  tail_out_aa
ROW2COL_IN_AAAA(x1, x2, x3, x4)  =  ROW2COL_IN_AAAA
U10_AAAA(x1, x2, x3, x4, x5)  =  U10_AAAA(x5)
U11_AAAA(x1, x2, x3, x4, x5, x6)  =  U11_AAAA(x6)
U12_AAAA(x1, x2, x3, x4, x5, x6, x7)  =  U12_AAAA(x7)
U13_AAAA(x1, x2, x3, x4, x5, x6, x7)  =  U13_AAAA(x7)
U14_AAAA(x1, x2, x3, x4, x5, x6, x7)  =  U14_AAAA(x7)
U15_AAAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U15_AAAA(x8)
U16_AAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U16_AAAA(x9)
U17_AAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U17_AAAA(x10)
U18_AAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U18_AAAA(x10)
U19_AAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U19_AAAA(x11)

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

(98) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(99) Obligation:

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

ROW2COL_IN_AAAAU10_AAAA(head_in_aa)
U10_AAAA(head_out_aa) → U11_AAAA(head_in_aa)
U11_AAAA(head_out_aa) → U12_AAAA(head_in_aa)
U12_AAAA(head_out_aa) → U13_AAAA(head_in_ag([]))
U13_AAAA(head_out_ag([])) → U14_AAAA(tail_in_aa)
U14_AAAA(tail_out_aa) → U15_AAAA(tail_in_aa)
U15_AAAA(tail_out_aa) → U16_AAAA(tail_in_aa)
U16_AAAA(tail_out_aa) → U17_AAAA(head_in_aa)
U17_AAAA(head_out_aa) → U18_AAAA(tail_in_aa)
U18_AAAA(tail_out_aa) → U19_AAAA(tail_in_aa)
U19_AAAA(tail_out_aa) → ROW2COL_IN_AAAA

The TRS R consists of the following rules:

head_in_aahead_out_aa
head_in_ag(X2) → head_out_ag(X2)
tail_in_aatail_out_aa

The set Q consists of the following terms:

head_in_aa
head_in_ag(x0)
tail_in_aa

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

(100) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule ROW2COL_IN_AAAAU10_AAAA(head_in_aa) at position [0] we obtained the following new rules [LPAR04]:

ROW2COL_IN_AAAAU10_AAAA(head_out_aa)

(101) Obligation:

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

U10_AAAA(head_out_aa) → U11_AAAA(head_in_aa)
U11_AAAA(head_out_aa) → U12_AAAA(head_in_aa)
U12_AAAA(head_out_aa) → U13_AAAA(head_in_ag([]))
U13_AAAA(head_out_ag([])) → U14_AAAA(tail_in_aa)
U14_AAAA(tail_out_aa) → U15_AAAA(tail_in_aa)
U15_AAAA(tail_out_aa) → U16_AAAA(tail_in_aa)
U16_AAAA(tail_out_aa) → U17_AAAA(head_in_aa)
U17_AAAA(head_out_aa) → U18_AAAA(tail_in_aa)
U18_AAAA(tail_out_aa) → U19_AAAA(tail_in_aa)
U19_AAAA(tail_out_aa) → ROW2COL_IN_AAAA
ROW2COL_IN_AAAAU10_AAAA(head_out_aa)

The TRS R consists of the following rules:

head_in_aahead_out_aa
head_in_ag(X2) → head_out_ag(X2)
tail_in_aatail_out_aa

The set Q consists of the following terms:

head_in_aa
head_in_ag(x0)
tail_in_aa

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

(102) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule U10_AAAA(head_out_aa) → U11_AAAA(head_in_aa) at position [0] we obtained the following new rules [LPAR04]:

U10_AAAA(head_out_aa) → U11_AAAA(head_out_aa)

(103) Obligation:

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

U11_AAAA(head_out_aa) → U12_AAAA(head_in_aa)
U12_AAAA(head_out_aa) → U13_AAAA(head_in_ag([]))
U13_AAAA(head_out_ag([])) → U14_AAAA(tail_in_aa)
U14_AAAA(tail_out_aa) → U15_AAAA(tail_in_aa)
U15_AAAA(tail_out_aa) → U16_AAAA(tail_in_aa)
U16_AAAA(tail_out_aa) → U17_AAAA(head_in_aa)
U17_AAAA(head_out_aa) → U18_AAAA(tail_in_aa)
U18_AAAA(tail_out_aa) → U19_AAAA(tail_in_aa)
U19_AAAA(tail_out_aa) → ROW2COL_IN_AAAA
ROW2COL_IN_AAAAU10_AAAA(head_out_aa)
U10_AAAA(head_out_aa) → U11_AAAA(head_out_aa)

The TRS R consists of the following rules:

head_in_aahead_out_aa
head_in_ag(X2) → head_out_ag(X2)
tail_in_aatail_out_aa

The set Q consists of the following terms:

head_in_aa
head_in_ag(x0)
tail_in_aa

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

(104) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule U11_AAAA(head_out_aa) → U12_AAAA(head_in_aa) at position [0] we obtained the following new rules [LPAR04]:

U11_AAAA(head_out_aa) → U12_AAAA(head_out_aa)

(105) Obligation:

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

U12_AAAA(head_out_aa) → U13_AAAA(head_in_ag([]))
U13_AAAA(head_out_ag([])) → U14_AAAA(tail_in_aa)
U14_AAAA(tail_out_aa) → U15_AAAA(tail_in_aa)
U15_AAAA(tail_out_aa) → U16_AAAA(tail_in_aa)
U16_AAAA(tail_out_aa) → U17_AAAA(head_in_aa)
U17_AAAA(head_out_aa) → U18_AAAA(tail_in_aa)
U18_AAAA(tail_out_aa) → U19_AAAA(tail_in_aa)
U19_AAAA(tail_out_aa) → ROW2COL_IN_AAAA
ROW2COL_IN_AAAAU10_AAAA(head_out_aa)
U10_AAAA(head_out_aa) → U11_AAAA(head_out_aa)
U11_AAAA(head_out_aa) → U12_AAAA(head_out_aa)

The TRS R consists of the following rules:

head_in_aahead_out_aa
head_in_ag(X2) → head_out_ag(X2)
tail_in_aatail_out_aa

The set Q consists of the following terms:

head_in_aa
head_in_ag(x0)
tail_in_aa

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

(106) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule U12_AAAA(head_out_aa) → U13_AAAA(head_in_ag([])) at position [0] we obtained the following new rules [LPAR04]:

U12_AAAA(head_out_aa) → U13_AAAA(head_out_ag([]))

(107) Obligation:

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

U13_AAAA(head_out_ag([])) → U14_AAAA(tail_in_aa)
U14_AAAA(tail_out_aa) → U15_AAAA(tail_in_aa)
U15_AAAA(tail_out_aa) → U16_AAAA(tail_in_aa)
U16_AAAA(tail_out_aa) → U17_AAAA(head_in_aa)
U17_AAAA(head_out_aa) → U18_AAAA(tail_in_aa)
U18_AAAA(tail_out_aa) → U19_AAAA(tail_in_aa)
U19_AAAA(tail_out_aa) → ROW2COL_IN_AAAA
ROW2COL_IN_AAAAU10_AAAA(head_out_aa)
U10_AAAA(head_out_aa) → U11_AAAA(head_out_aa)
U11_AAAA(head_out_aa) → U12_AAAA(head_out_aa)
U12_AAAA(head_out_aa) → U13_AAAA(head_out_ag([]))

The TRS R consists of the following rules:

head_in_aahead_out_aa
head_in_ag(X2) → head_out_ag(X2)
tail_in_aatail_out_aa

The set Q consists of the following terms:

head_in_aa
head_in_ag(x0)
tail_in_aa

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

(108) UsableRulesProof (EQUIVALENT transformation)

As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.

(109) Obligation:

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

U13_AAAA(head_out_ag([])) → U14_AAAA(tail_in_aa)
U14_AAAA(tail_out_aa) → U15_AAAA(tail_in_aa)
U15_AAAA(tail_out_aa) → U16_AAAA(tail_in_aa)
U16_AAAA(tail_out_aa) → U17_AAAA(head_in_aa)
U17_AAAA(head_out_aa) → U18_AAAA(tail_in_aa)
U18_AAAA(tail_out_aa) → U19_AAAA(tail_in_aa)
U19_AAAA(tail_out_aa) → ROW2COL_IN_AAAA
ROW2COL_IN_AAAAU10_AAAA(head_out_aa)
U10_AAAA(head_out_aa) → U11_AAAA(head_out_aa)
U11_AAAA(head_out_aa) → U12_AAAA(head_out_aa)
U12_AAAA(head_out_aa) → U13_AAAA(head_out_ag([]))

The TRS R consists of the following rules:

tail_in_aatail_out_aa
head_in_aahead_out_aa

The set Q consists of the following terms:

head_in_aa
head_in_ag(x0)
tail_in_aa

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

(110) QReductionProof (EQUIVALENT transformation)

We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN].

head_in_ag(x0)

(111) Obligation:

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

U13_AAAA(head_out_ag([])) → U14_AAAA(tail_in_aa)
U14_AAAA(tail_out_aa) → U15_AAAA(tail_in_aa)
U15_AAAA(tail_out_aa) → U16_AAAA(tail_in_aa)
U16_AAAA(tail_out_aa) → U17_AAAA(head_in_aa)
U17_AAAA(head_out_aa) → U18_AAAA(tail_in_aa)
U18_AAAA(tail_out_aa) → U19_AAAA(tail_in_aa)
U19_AAAA(tail_out_aa) → ROW2COL_IN_AAAA
ROW2COL_IN_AAAAU10_AAAA(head_out_aa)
U10_AAAA(head_out_aa) → U11_AAAA(head_out_aa)
U11_AAAA(head_out_aa) → U12_AAAA(head_out_aa)
U12_AAAA(head_out_aa) → U13_AAAA(head_out_ag([]))

The TRS R consists of the following rules:

tail_in_aatail_out_aa
head_in_aahead_out_aa

The set Q consists of the following terms:

head_in_aa
tail_in_aa

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

(112) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule U13_AAAA(head_out_ag([])) → U14_AAAA(tail_in_aa) at position [0] we obtained the following new rules [LPAR04]:

U13_AAAA(head_out_ag([])) → U14_AAAA(tail_out_aa)

(113) Obligation:

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

U14_AAAA(tail_out_aa) → U15_AAAA(tail_in_aa)
U15_AAAA(tail_out_aa) → U16_AAAA(tail_in_aa)
U16_AAAA(tail_out_aa) → U17_AAAA(head_in_aa)
U17_AAAA(head_out_aa) → U18_AAAA(tail_in_aa)
U18_AAAA(tail_out_aa) → U19_AAAA(tail_in_aa)
U19_AAAA(tail_out_aa) → ROW2COL_IN_AAAA
ROW2COL_IN_AAAAU10_AAAA(head_out_aa)
U10_AAAA(head_out_aa) → U11_AAAA(head_out_aa)
U11_AAAA(head_out_aa) → U12_AAAA(head_out_aa)
U12_AAAA(head_out_aa) → U13_AAAA(head_out_ag([]))
U13_AAAA(head_out_ag([])) → U14_AAAA(tail_out_aa)

The TRS R consists of the following rules:

tail_in_aatail_out_aa
head_in_aahead_out_aa

The set Q consists of the following terms:

head_in_aa
tail_in_aa

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

(114) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule U14_AAAA(tail_out_aa) → U15_AAAA(tail_in_aa) at position [0] we obtained the following new rules [LPAR04]:

U14_AAAA(tail_out_aa) → U15_AAAA(tail_out_aa)

(115) Obligation:

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

U15_AAAA(tail_out_aa) → U16_AAAA(tail_in_aa)
U16_AAAA(tail_out_aa) → U17_AAAA(head_in_aa)
U17_AAAA(head_out_aa) → U18_AAAA(tail_in_aa)
U18_AAAA(tail_out_aa) → U19_AAAA(tail_in_aa)
U19_AAAA(tail_out_aa) → ROW2COL_IN_AAAA
ROW2COL_IN_AAAAU10_AAAA(head_out_aa)
U10_AAAA(head_out_aa) → U11_AAAA(head_out_aa)
U11_AAAA(head_out_aa) → U12_AAAA(head_out_aa)
U12_AAAA(head_out_aa) → U13_AAAA(head_out_ag([]))
U13_AAAA(head_out_ag([])) → U14_AAAA(tail_out_aa)
U14_AAAA(tail_out_aa) → U15_AAAA(tail_out_aa)

The TRS R consists of the following rules:

tail_in_aatail_out_aa
head_in_aahead_out_aa

The set Q consists of the following terms:

head_in_aa
tail_in_aa

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

(116) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule U15_AAAA(tail_out_aa) → U16_AAAA(tail_in_aa) at position [0] we obtained the following new rules [LPAR04]:

U15_AAAA(tail_out_aa) → U16_AAAA(tail_out_aa)

(117) Obligation:

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

U16_AAAA(tail_out_aa) → U17_AAAA(head_in_aa)
U17_AAAA(head_out_aa) → U18_AAAA(tail_in_aa)
U18_AAAA(tail_out_aa) → U19_AAAA(tail_in_aa)
U19_AAAA(tail_out_aa) → ROW2COL_IN_AAAA
ROW2COL_IN_AAAAU10_AAAA(head_out_aa)
U10_AAAA(head_out_aa) → U11_AAAA(head_out_aa)
U11_AAAA(head_out_aa) → U12_AAAA(head_out_aa)
U12_AAAA(head_out_aa) → U13_AAAA(head_out_ag([]))
U13_AAAA(head_out_ag([])) → U14_AAAA(tail_out_aa)
U14_AAAA(tail_out_aa) → U15_AAAA(tail_out_aa)
U15_AAAA(tail_out_aa) → U16_AAAA(tail_out_aa)

The TRS R consists of the following rules:

tail_in_aatail_out_aa
head_in_aahead_out_aa

The set Q consists of the following terms:

head_in_aa
tail_in_aa

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

(118) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule U16_AAAA(tail_out_aa) → U17_AAAA(head_in_aa) at position [0] we obtained the following new rules [LPAR04]:

U16_AAAA(tail_out_aa) → U17_AAAA(head_out_aa)

(119) Obligation:

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

U17_AAAA(head_out_aa) → U18_AAAA(tail_in_aa)
U18_AAAA(tail_out_aa) → U19_AAAA(tail_in_aa)
U19_AAAA(tail_out_aa) → ROW2COL_IN_AAAA
ROW2COL_IN_AAAAU10_AAAA(head_out_aa)
U10_AAAA(head_out_aa) → U11_AAAA(head_out_aa)
U11_AAAA(head_out_aa) → U12_AAAA(head_out_aa)
U12_AAAA(head_out_aa) → U13_AAAA(head_out_ag([]))
U13_AAAA(head_out_ag([])) → U14_AAAA(tail_out_aa)
U14_AAAA(tail_out_aa) → U15_AAAA(tail_out_aa)
U15_AAAA(tail_out_aa) → U16_AAAA(tail_out_aa)
U16_AAAA(tail_out_aa) → U17_AAAA(head_out_aa)

The TRS R consists of the following rules:

tail_in_aatail_out_aa
head_in_aahead_out_aa

The set Q consists of the following terms:

head_in_aa
tail_in_aa

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

(120) UsableRulesProof (EQUIVALENT transformation)

As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.

(121) Obligation:

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

U17_AAAA(head_out_aa) → U18_AAAA(tail_in_aa)
U18_AAAA(tail_out_aa) → U19_AAAA(tail_in_aa)
U19_AAAA(tail_out_aa) → ROW2COL_IN_AAAA
ROW2COL_IN_AAAAU10_AAAA(head_out_aa)
U10_AAAA(head_out_aa) → U11_AAAA(head_out_aa)
U11_AAAA(head_out_aa) → U12_AAAA(head_out_aa)
U12_AAAA(head_out_aa) → U13_AAAA(head_out_ag([]))
U13_AAAA(head_out_ag([])) → U14_AAAA(tail_out_aa)
U14_AAAA(tail_out_aa) → U15_AAAA(tail_out_aa)
U15_AAAA(tail_out_aa) → U16_AAAA(tail_out_aa)
U16_AAAA(tail_out_aa) → U17_AAAA(head_out_aa)

The TRS R consists of the following rules:

tail_in_aatail_out_aa

The set Q consists of the following terms:

head_in_aa
tail_in_aa

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

(122) QReductionProof (EQUIVALENT transformation)

We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN].

head_in_aa

(123) Obligation:

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

U17_AAAA(head_out_aa) → U18_AAAA(tail_in_aa)
U18_AAAA(tail_out_aa) → U19_AAAA(tail_in_aa)
U19_AAAA(tail_out_aa) → ROW2COL_IN_AAAA
ROW2COL_IN_AAAAU10_AAAA(head_out_aa)
U10_AAAA(head_out_aa) → U11_AAAA(head_out_aa)
U11_AAAA(head_out_aa) → U12_AAAA(head_out_aa)
U12_AAAA(head_out_aa) → U13_AAAA(head_out_ag([]))
U13_AAAA(head_out_ag([])) → U14_AAAA(tail_out_aa)
U14_AAAA(tail_out_aa) → U15_AAAA(tail_out_aa)
U15_AAAA(tail_out_aa) → U16_AAAA(tail_out_aa)
U16_AAAA(tail_out_aa) → U17_AAAA(head_out_aa)

The TRS R consists of the following rules:

tail_in_aatail_out_aa

The set Q consists of the following terms:

tail_in_aa

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

(124) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule U17_AAAA(head_out_aa) → U18_AAAA(tail_in_aa) at position [0] we obtained the following new rules [LPAR04]:

U17_AAAA(head_out_aa) → U18_AAAA(tail_out_aa)

(125) Obligation:

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

U18_AAAA(tail_out_aa) → U19_AAAA(tail_in_aa)
U19_AAAA(tail_out_aa) → ROW2COL_IN_AAAA
ROW2COL_IN_AAAAU10_AAAA(head_out_aa)
U10_AAAA(head_out_aa) → U11_AAAA(head_out_aa)
U11_AAAA(head_out_aa) → U12_AAAA(head_out_aa)
U12_AAAA(head_out_aa) → U13_AAAA(head_out_ag([]))
U13_AAAA(head_out_ag([])) → U14_AAAA(tail_out_aa)
U14_AAAA(tail_out_aa) → U15_AAAA(tail_out_aa)
U15_AAAA(tail_out_aa) → U16_AAAA(tail_out_aa)
U16_AAAA(tail_out_aa) → U17_AAAA(head_out_aa)
U17_AAAA(head_out_aa) → U18_AAAA(tail_out_aa)

The TRS R consists of the following rules:

tail_in_aatail_out_aa

The set Q consists of the following terms:

tail_in_aa

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

(126) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule U18_AAAA(tail_out_aa) → U19_AAAA(tail_in_aa) at position [0] we obtained the following new rules [LPAR04]:

U18_AAAA(tail_out_aa) → U19_AAAA(tail_out_aa)

(127) Obligation:

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

U19_AAAA(tail_out_aa) → ROW2COL_IN_AAAA
ROW2COL_IN_AAAAU10_AAAA(head_out_aa)
U10_AAAA(head_out_aa) → U11_AAAA(head_out_aa)
U11_AAAA(head_out_aa) → U12_AAAA(head_out_aa)
U12_AAAA(head_out_aa) → U13_AAAA(head_out_ag([]))
U13_AAAA(head_out_ag([])) → U14_AAAA(tail_out_aa)
U14_AAAA(tail_out_aa) → U15_AAAA(tail_out_aa)
U15_AAAA(tail_out_aa) → U16_AAAA(tail_out_aa)
U16_AAAA(tail_out_aa) → U17_AAAA(head_out_aa)
U17_AAAA(head_out_aa) → U18_AAAA(tail_out_aa)
U18_AAAA(tail_out_aa) → U19_AAAA(tail_out_aa)

The TRS R consists of the following rules:

tail_in_aatail_out_aa

The set Q consists of the following terms:

tail_in_aa

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

(128) UsableRulesProof (EQUIVALENT transformation)

As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.

(129) Obligation:

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

U19_AAAA(tail_out_aa) → ROW2COL_IN_AAAA
ROW2COL_IN_AAAAU10_AAAA(head_out_aa)
U10_AAAA(head_out_aa) → U11_AAAA(head_out_aa)
U11_AAAA(head_out_aa) → U12_AAAA(head_out_aa)
U12_AAAA(head_out_aa) → U13_AAAA(head_out_ag([]))
U13_AAAA(head_out_ag([])) → U14_AAAA(tail_out_aa)
U14_AAAA(tail_out_aa) → U15_AAAA(tail_out_aa)
U15_AAAA(tail_out_aa) → U16_AAAA(tail_out_aa)
U16_AAAA(tail_out_aa) → U17_AAAA(head_out_aa)
U17_AAAA(head_out_aa) → U18_AAAA(tail_out_aa)
U18_AAAA(tail_out_aa) → U19_AAAA(tail_out_aa)

R is empty.
The set Q consists of the following terms:

tail_in_aa

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

(130) QReductionProof (EQUIVALENT transformation)

We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN].

tail_in_aa

(131) Obligation:

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

U19_AAAA(tail_out_aa) → ROW2COL_IN_AAAA
ROW2COL_IN_AAAAU10_AAAA(head_out_aa)
U10_AAAA(head_out_aa) → U11_AAAA(head_out_aa)
U11_AAAA(head_out_aa) → U12_AAAA(head_out_aa)
U12_AAAA(head_out_aa) → U13_AAAA(head_out_ag([]))
U13_AAAA(head_out_ag([])) → U14_AAAA(tail_out_aa)
U14_AAAA(tail_out_aa) → U15_AAAA(tail_out_aa)
U15_AAAA(tail_out_aa) → U16_AAAA(tail_out_aa)
U16_AAAA(tail_out_aa) → U17_AAAA(head_out_aa)
U17_AAAA(head_out_aa) → U18_AAAA(tail_out_aa)
U18_AAAA(tail_out_aa) → U19_AAAA(tail_out_aa)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(132) NonTerminationProof (EQUIVALENT transformation)

We used the non-termination processor [FROCOS05] to show that the DP problem is infinite.
Found a loop by narrowing to the left:

s = ROW2COL_IN_AAAA evaluates to t =ROW2COL_IN_AAAA

Thus s starts an infinite chain as s semiunifies with t with the following substitutions:
  • Semiunifier: [ ]
  • Matcher: [ ]




Rewriting sequence

ROW2COL_IN_AAAAU10_AAAA(head_out_aa)
with rule ROW2COL_IN_AAAAU10_AAAA(head_out_aa) at position [] and matcher [ ]

U10_AAAA(head_out_aa)U11_AAAA(head_out_aa)
with rule U10_AAAA(head_out_aa) → U11_AAAA(head_out_aa) at position [] and matcher [ ]

U11_AAAA(head_out_aa)U12_AAAA(head_out_aa)
with rule U11_AAAA(head_out_aa) → U12_AAAA(head_out_aa) at position [] and matcher [ ]

U12_AAAA(head_out_aa)U13_AAAA(head_out_ag([]))
with rule U12_AAAA(head_out_aa) → U13_AAAA(head_out_ag([])) at position [] and matcher [ ]

U13_AAAA(head_out_ag([]))U14_AAAA(tail_out_aa)
with rule U13_AAAA(head_out_ag([])) → U14_AAAA(tail_out_aa) at position [] and matcher [ ]

U14_AAAA(tail_out_aa)U15_AAAA(tail_out_aa)
with rule U14_AAAA(tail_out_aa) → U15_AAAA(tail_out_aa) at position [] and matcher [ ]

U15_AAAA(tail_out_aa)U16_AAAA(tail_out_aa)
with rule U15_AAAA(tail_out_aa) → U16_AAAA(tail_out_aa) at position [] and matcher [ ]

U16_AAAA(tail_out_aa)U17_AAAA(head_out_aa)
with rule U16_AAAA(tail_out_aa) → U17_AAAA(head_out_aa) at position [] and matcher [ ]

U17_AAAA(head_out_aa)U18_AAAA(tail_out_aa)
with rule U17_AAAA(head_out_aa) → U18_AAAA(tail_out_aa) at position [] and matcher [ ]

U18_AAAA(tail_out_aa)U19_AAAA(tail_out_aa)
with rule U18_AAAA(tail_out_aa) → U19_AAAA(tail_out_aa) at position [] and matcher [ ]

U19_AAAA(tail_out_aa)ROW2COL_IN_AAAA
with rule U19_AAAA(tail_out_aa) → ROW2COL_IN_AAAA

Now applying the matcher to the start term leads to a term which is equal to the last term in the rewriting sequence


All these steps are and every following step will be a correct step w.r.t to Q.



(133) FALSE

(134) Obligation:

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

U4_GAA(R, X1, L, Rh, tail_out_ga(R, Rt)) → U5_GAA(R, X1, L, Rh, Rt, row2col_in_aaaa(Rh, L, Cols, Accm))
U5_GAA(R, X1, L, Rh, Rt, row2col_out_aaaa(Rh, L, Cols, Accm)) → TRANSPOSE_AUX_IN_GAA(Rt, Accm, Cols)
TRANSPOSE_AUX_IN_GAA(R, X1, L) → U3_GAA(R, X1, L, head_in_ga(R, Rh))
U3_GAA(R, X1, L, head_out_ga(R, Rh)) → U4_GAA(R, X1, L, Rh, tail_in_ga(R, Rt))

The TRS R consists of the following rules:

transpose_in_ga(A, B) → U1_ga(A, B, transpose_aux_in_gga(A, [], B))
transpose_aux_in_gga([], Y, Z) → U2_gga(Y, Z, eq_in_ga(Y, Z))
eq_in_ga(X, X) → eq_out_ga(X, X)
U2_gga(Y, Z, eq_out_ga(Y, Z)) → transpose_aux_out_gga([], Y, Z)
transpose_aux_in_gga(R, X1, L) → U3_gga(R, X1, L, head_in_ga(R, Rh))
head_in_ga([], X2) → head_out_ga([], X2)
head_in_ga(.(H, X3), H) → head_out_ga(.(H, X3), H)
U3_gga(R, X1, L, head_out_ga(R, Rh)) → U4_gga(R, X1, L, Rh, tail_in_ga(R, Rt))
tail_in_ga([], []) → tail_out_ga([], [])
tail_in_ga(.(X4, T), T) → tail_out_ga(.(X4, T), T)
U4_gga(R, X1, L, Rh, tail_out_ga(R, Rt)) → U5_gga(R, X1, L, Rh, Rt, row2col_in_aaaa(Rh, L, Cols, Accm))
row2col_in_aaaa([], X, Y, Z) → U7_aaaa(X, Y, Z, eq_in_ag(X, []))
eq_in_ag(X, X) → eq_out_ag(X, X)
U7_aaaa(X, Y, Z, eq_out_ag(X, [])) → U8_aaaa(X, Y, Z, eq_in_ag(Y, []))
U8_aaaa(X, Y, Z, eq_out_ag(Y, [])) → U9_aaaa(X, Y, Z, eq_in_ag(Z, []))
U9_aaaa(X, Y, Z, eq_out_ag(Z, [])) → row2col_out_aaaa([], X, Y, Z)
row2col_in_aaaa(X, Y, C, A) → U10_aaaa(X, Y, C, A, head_in_aa(X, Xh))
head_in_aa([], X2) → head_out_aa([], X2)
head_in_aa(.(H, X3), H) → head_out_aa(.(H, X3), H)
U10_aaaa(X, Y, C, A, head_out_aa(X, Xh)) → U11_aaaa(X, Y, C, A, Xh, head_in_aa(Y, Yh))
U11_aaaa(X, Y, C, A, Xh, head_out_aa(Y, Yh)) → U12_aaaa(X, Y, C, A, Xh, Yh, head_in_aa(Yh, Xh))
U12_aaaa(X, Y, C, A, Xh, Yh, head_out_aa(Yh, Xh)) → U13_aaaa(X, Y, C, A, Xh, Yh, head_in_ag(A, []))
head_in_ag([], X2) → head_out_ag([], X2)
head_in_ag(.(H, X3), H) → head_out_ag(.(H, X3), H)
U13_aaaa(X, Y, C, A, Xh, Yh, head_out_ag(A, [])) → U14_aaaa(X, Y, C, A, Xh, Yh, tail_in_aa(X, Xt))
tail_in_aa([], []) → tail_out_aa([], [])
tail_in_aa(.(X4, T), T) → tail_out_aa(.(X4, T), T)
U14_aaaa(X, Y, C, A, Xh, Yh, tail_out_aa(X, Xt)) → U15_aaaa(X, Y, C, A, Xh, Yh, Xt, tail_in_aa(Y, Yt))
U15_aaaa(X, Y, C, A, Xh, Yh, Xt, tail_out_aa(Y, Yt)) → U16_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, tail_in_aa(Yh, Yht))
U16_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, tail_out_aa(Yh, Yht)) → U17_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_in_aa(C, Yht))
U17_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_out_aa(C, Yht)) → U18_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_in_aa(C, Ct))
U18_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_out_aa(C, Ct)) → U19_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_in_aa(A, At))
U19_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_out_aa(A, At)) → U20_aaaa(X, Y, C, A, row2col_in_aaaa(Xt, Yt, Ct, At))
U20_aaaa(X, Y, C, A, row2col_out_aaaa(Xt, Yt, Ct, At)) → row2col_out_aaaa(X, Y, C, A)
U5_gga(R, X1, L, Rh, Rt, row2col_out_aaaa(Rh, L, Cols, Accm)) → U6_gga(R, X1, L, transpose_aux_in_gaa(Rt, Accm, Cols))
transpose_aux_in_gaa([], Y, Z) → U2_gaa(Y, Z, eq_in_aa(Y, Z))
eq_in_aa(X, X) → eq_out_aa(X, X)
U2_gaa(Y, Z, eq_out_aa(Y, Z)) → transpose_aux_out_gaa([], Y, Z)
transpose_aux_in_gaa(R, X1, L) → U3_gaa(R, X1, L, head_in_ga(R, Rh))
U3_gaa(R, X1, L, head_out_ga(R, Rh)) → U4_gaa(R, X1, L, Rh, tail_in_ga(R, Rt))
U4_gaa(R, X1, L, Rh, tail_out_ga(R, Rt)) → U5_gaa(R, X1, L, Rh, Rt, row2col_in_aaaa(Rh, L, Cols, Accm))
U5_gaa(R, X1, L, Rh, Rt, row2col_out_aaaa(Rh, L, Cols, Accm)) → U6_gaa(R, X1, L, transpose_aux_in_gaa(Rt, Accm, Cols))
U6_gaa(R, X1, L, transpose_aux_out_gaa(Rt, Accm, Cols)) → transpose_aux_out_gaa(R, X1, L)
U6_gga(R, X1, L, transpose_aux_out_gaa(Rt, Accm, Cols)) → transpose_aux_out_gga(R, X1, L)
U1_ga(A, B, transpose_aux_out_gga(A, [], B)) → transpose_out_ga(A, B)

The argument filtering Pi contains the following mapping:
transpose_in_ga(x1, x2)  =  transpose_in_ga(x1)
U1_ga(x1, x2, x3)  =  U1_ga(x1, x3)
transpose_aux_in_gga(x1, x2, x3)  =  transpose_aux_in_gga(x1, x2)
[]  =  []
U2_gga(x1, x2, x3)  =  U2_gga(x1, x3)
eq_in_ga(x1, x2)  =  eq_in_ga(x1)
eq_out_ga(x1, x2)  =  eq_out_ga(x1, x2)
transpose_aux_out_gga(x1, x2, x3)  =  transpose_aux_out_gga(x1, x2)
U3_gga(x1, x2, x3, x4)  =  U3_gga(x1, x2, x4)
head_in_ga(x1, x2)  =  head_in_ga(x1)
head_out_ga(x1, x2)  =  head_out_ga(x1)
.(x1, x2)  =  .(x1, x2)
U4_gga(x1, x2, x3, x4, x5)  =  U4_gga(x1, x2, x5)
tail_in_ga(x1, x2)  =  tail_in_ga(x1)
tail_out_ga(x1, x2)  =  tail_out_ga(x1, x2)
U5_gga(x1, x2, x3, x4, x5, x6)  =  U5_gga(x1, x2, x5, x6)
row2col_in_aaaa(x1, x2, x3, x4)  =  row2col_in_aaaa
U7_aaaa(x1, x2, x3, x4)  =  U7_aaaa(x4)
eq_in_ag(x1, x2)  =  eq_in_ag(x2)
eq_out_ag(x1, x2)  =  eq_out_ag(x1, x2)
U8_aaaa(x1, x2, x3, x4)  =  U8_aaaa(x4)
U9_aaaa(x1, x2, x3, x4)  =  U9_aaaa(x4)
row2col_out_aaaa(x1, x2, x3, x4)  =  row2col_out_aaaa
U10_aaaa(x1, x2, x3, x4, x5)  =  U10_aaaa(x5)
head_in_aa(x1, x2)  =  head_in_aa
head_out_aa(x1, x2)  =  head_out_aa
U11_aaaa(x1, x2, x3, x4, x5, x6)  =  U11_aaaa(x6)
U12_aaaa(x1, x2, x3, x4, x5, x6, x7)  =  U12_aaaa(x7)
U13_aaaa(x1, x2, x3, x4, x5, x6, x7)  =  U13_aaaa(x7)
head_in_ag(x1, x2)  =  head_in_ag(x2)
head_out_ag(x1, x2)  =  head_out_ag(x2)
U14_aaaa(x1, x2, x3, x4, x5, x6, x7)  =  U14_aaaa(x7)
tail_in_aa(x1, x2)  =  tail_in_aa
tail_out_aa(x1, x2)  =  tail_out_aa
U15_aaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U15_aaaa(x8)
U16_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U16_aaaa(x9)
U17_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U17_aaaa(x10)
U18_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U18_aaaa(x10)
U19_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U19_aaaa(x11)
U20_aaaa(x1, x2, x3, x4, x5)  =  U20_aaaa(x5)
U6_gga(x1, x2, x3, x4)  =  U6_gga(x1, x2, x4)
transpose_aux_in_gaa(x1, x2, x3)  =  transpose_aux_in_gaa(x1)
U2_gaa(x1, x2, x3)  =  U2_gaa(x3)
eq_in_aa(x1, x2)  =  eq_in_aa
eq_out_aa(x1, x2)  =  eq_out_aa
transpose_aux_out_gaa(x1, x2, x3)  =  transpose_aux_out_gaa(x1)
U3_gaa(x1, x2, x3, x4)  =  U3_gaa(x1, x4)
U4_gaa(x1, x2, x3, x4, x5)  =  U4_gaa(x1, x5)
U5_gaa(x1, x2, x3, x4, x5, x6)  =  U5_gaa(x1, x5, x6)
U6_gaa(x1, x2, x3, x4)  =  U6_gaa(x1, x4)
transpose_out_ga(x1, x2)  =  transpose_out_ga(x1)
TRANSPOSE_AUX_IN_GAA(x1, x2, x3)  =  TRANSPOSE_AUX_IN_GAA(x1)
U3_GAA(x1, x2, x3, x4)  =  U3_GAA(x1, x4)
U4_GAA(x1, x2, x3, x4, x5)  =  U4_GAA(x1, x5)
U5_GAA(x1, x2, x3, x4, x5, x6)  =  U5_GAA(x1, x5, x6)

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

(135) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(136) Obligation:

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

U4_GAA(R, X1, L, Rh, tail_out_ga(R, Rt)) → U5_GAA(R, X1, L, Rh, Rt, row2col_in_aaaa(Rh, L, Cols, Accm))
U5_GAA(R, X1, L, Rh, Rt, row2col_out_aaaa(Rh, L, Cols, Accm)) → TRANSPOSE_AUX_IN_GAA(Rt, Accm, Cols)
TRANSPOSE_AUX_IN_GAA(R, X1, L) → U3_GAA(R, X1, L, head_in_ga(R, Rh))
U3_GAA(R, X1, L, head_out_ga(R, Rh)) → U4_GAA(R, X1, L, Rh, tail_in_ga(R, Rt))

The TRS R consists of the following rules:

row2col_in_aaaa([], X, Y, Z) → U7_aaaa(X, Y, Z, eq_in_ag(X, []))
row2col_in_aaaa(X, Y, C, A) → U10_aaaa(X, Y, C, A, head_in_aa(X, Xh))
head_in_ga([], X2) → head_out_ga([], X2)
head_in_ga(.(H, X3), H) → head_out_ga(.(H, X3), H)
tail_in_ga([], []) → tail_out_ga([], [])
tail_in_ga(.(X4, T), T) → tail_out_ga(.(X4, T), T)
U7_aaaa(X, Y, Z, eq_out_ag(X, [])) → U8_aaaa(X, Y, Z, eq_in_ag(Y, []))
U10_aaaa(X, Y, C, A, head_out_aa(X, Xh)) → U11_aaaa(X, Y, C, A, Xh, head_in_aa(Y, Yh))
eq_in_ag(X, X) → eq_out_ag(X, X)
U8_aaaa(X, Y, Z, eq_out_ag(Y, [])) → U9_aaaa(X, Y, Z, eq_in_ag(Z, []))
head_in_aa([], X2) → head_out_aa([], X2)
head_in_aa(.(H, X3), H) → head_out_aa(.(H, X3), H)
U11_aaaa(X, Y, C, A, Xh, head_out_aa(Y, Yh)) → U12_aaaa(X, Y, C, A, Xh, Yh, head_in_aa(Yh, Xh))
U9_aaaa(X, Y, Z, eq_out_ag(Z, [])) → row2col_out_aaaa([], X, Y, Z)
U12_aaaa(X, Y, C, A, Xh, Yh, head_out_aa(Yh, Xh)) → U13_aaaa(X, Y, C, A, Xh, Yh, head_in_ag(A, []))
U13_aaaa(X, Y, C, A, Xh, Yh, head_out_ag(A, [])) → U14_aaaa(X, Y, C, A, Xh, Yh, tail_in_aa(X, Xt))
head_in_ag([], X2) → head_out_ag([], X2)
head_in_ag(.(H, X3), H) → head_out_ag(.(H, X3), H)
U14_aaaa(X, Y, C, A, Xh, Yh, tail_out_aa(X, Xt)) → U15_aaaa(X, Y, C, A, Xh, Yh, Xt, tail_in_aa(Y, Yt))
tail_in_aa([], []) → tail_out_aa([], [])
tail_in_aa(.(X4, T), T) → tail_out_aa(.(X4, T), T)
U15_aaaa(X, Y, C, A, Xh, Yh, Xt, tail_out_aa(Y, Yt)) → U16_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, tail_in_aa(Yh, Yht))
U16_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, tail_out_aa(Yh, Yht)) → U17_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_in_aa(C, Yht))
U17_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, head_out_aa(C, Yht)) → U18_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_in_aa(C, Ct))
U18_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, tail_out_aa(C, Ct)) → U19_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_in_aa(A, At))
U19_aaaa(X, Y, C, A, Xh, Yh, Xt, Yt, Yht, Ct, tail_out_aa(A, At)) → U20_aaaa(X, Y, C, A, row2col_in_aaaa(Xt, Yt, Ct, At))
U20_aaaa(X, Y, C, A, row2col_out_aaaa(Xt, Yt, Ct, At)) → row2col_out_aaaa(X, Y, C, A)

The argument filtering Pi contains the following mapping:
[]  =  []
head_in_ga(x1, x2)  =  head_in_ga(x1)
head_out_ga(x1, x2)  =  head_out_ga(x1)
.(x1, x2)  =  .(x1, x2)
tail_in_ga(x1, x2)  =  tail_in_ga(x1)
tail_out_ga(x1, x2)  =  tail_out_ga(x1, x2)
row2col_in_aaaa(x1, x2, x3, x4)  =  row2col_in_aaaa
U7_aaaa(x1, x2, x3, x4)  =  U7_aaaa(x4)
eq_in_ag(x1, x2)  =  eq_in_ag(x2)
eq_out_ag(x1, x2)  =  eq_out_ag(x1, x2)
U8_aaaa(x1, x2, x3, x4)  =  U8_aaaa(x4)
U9_aaaa(x1, x2, x3, x4)  =  U9_aaaa(x4)
row2col_out_aaaa(x1, x2, x3, x4)  =  row2col_out_aaaa
U10_aaaa(x1, x2, x3, x4, x5)  =  U10_aaaa(x5)
head_in_aa(x1, x2)  =  head_in_aa
head_out_aa(x1, x2)  =  head_out_aa
U11_aaaa(x1, x2, x3, x4, x5, x6)  =  U11_aaaa(x6)
U12_aaaa(x1, x2, x3, x4, x5, x6, x7)  =  U12_aaaa(x7)
U13_aaaa(x1, x2, x3, x4, x5, x6, x7)  =  U13_aaaa(x7)
head_in_ag(x1, x2)  =  head_in_ag(x2)
head_out_ag(x1, x2)  =  head_out_ag(x2)
U14_aaaa(x1, x2, x3, x4, x5, x6, x7)  =  U14_aaaa(x7)
tail_in_aa(x1, x2)  =  tail_in_aa
tail_out_aa(x1, x2)  =  tail_out_aa
U15_aaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U15_aaaa(x8)
U16_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U16_aaaa(x9)
U17_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U17_aaaa(x10)
U18_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U18_aaaa(x10)
U19_aaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U19_aaaa(x11)
U20_aaaa(x1, x2, x3, x4, x5)  =  U20_aaaa(x5)
TRANSPOSE_AUX_IN_GAA(x1, x2, x3)  =  TRANSPOSE_AUX_IN_GAA(x1)
U3_GAA(x1, x2, x3, x4)  =  U3_GAA(x1, x4)
U4_GAA(x1, x2, x3, x4, x5)  =  U4_GAA(x1, x5)
U5_GAA(x1, x2, x3, x4, x5, x6)  =  U5_GAA(x1, x5, x6)

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

(137) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(138) Obligation:

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

U4_GAA(R, tail_out_ga(R, Rt)) → U5_GAA(R, Rt, row2col_in_aaaa)
U5_GAA(R, Rt, row2col_out_aaaa) → TRANSPOSE_AUX_IN_GAA(Rt)
TRANSPOSE_AUX_IN_GAA(R) → U3_GAA(R, head_in_ga(R))
U3_GAA(R, head_out_ga(R)) → U4_GAA(R, tail_in_ga(R))

The TRS R consists of the following rules:

row2col_in_aaaaU7_aaaa(eq_in_ag([]))
row2col_in_aaaaU10_aaaa(head_in_aa)
head_in_ga([]) → head_out_ga([])
head_in_ga(.(H, X3)) → head_out_ga(.(H, X3))
tail_in_ga([]) → tail_out_ga([], [])
tail_in_ga(.(X4, T)) → tail_out_ga(.(X4, T), T)
U7_aaaa(eq_out_ag(X, [])) → U8_aaaa(eq_in_ag([]))
U10_aaaa(head_out_aa) → U11_aaaa(head_in_aa)
eq_in_ag(X) → eq_out_ag(X, X)
U8_aaaa(eq_out_ag(Y, [])) → U9_aaaa(eq_in_ag([]))
head_in_aahead_out_aa
U11_aaaa(head_out_aa) → U12_aaaa(head_in_aa)
U9_aaaa(eq_out_ag(Z, [])) → row2col_out_aaaa
U12_aaaa(head_out_aa) → U13_aaaa(head_in_ag([]))
U13_aaaa(head_out_ag([])) → U14_aaaa(tail_in_aa)
head_in_ag(X2) → head_out_ag(X2)
U14_aaaa(tail_out_aa) → U15_aaaa(tail_in_aa)
tail_in_aatail_out_aa
U15_aaaa(tail_out_aa) → U16_aaaa(tail_in_aa)
U16_aaaa(tail_out_aa) → U17_aaaa(head_in_aa)
U17_aaaa(head_out_aa) → U18_aaaa(tail_in_aa)
U18_aaaa(tail_out_aa) → U19_aaaa(tail_in_aa)
U19_aaaa(tail_out_aa) → U20_aaaa(row2col_in_aaaa)
U20_aaaa(row2col_out_aaaa) → row2col_out_aaaa

The set Q consists of the following terms:

row2col_in_aaaa
head_in_ga(x0)
tail_in_ga(x0)
U7_aaaa(x0)
U10_aaaa(x0)
eq_in_ag(x0)
U8_aaaa(x0)
head_in_aa
U11_aaaa(x0)
U9_aaaa(x0)
U12_aaaa(x0)
U13_aaaa(x0)
head_in_ag(x0)
U14_aaaa(x0)
tail_in_aa
U15_aaaa(x0)
U16_aaaa(x0)
U17_aaaa(x0)
U18_aaaa(x0)
U19_aaaa(x0)
U20_aaaa(x0)

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

(139) Narrowing (SOUND transformation)

By narrowing [LPAR04] the rule TRANSPOSE_AUX_IN_GAA(R) → U3_GAA(R, head_in_ga(R)) at position [1] we obtained the following new rules [LPAR04]:

TRANSPOSE_AUX_IN_GAA([]) → U3_GAA([], head_out_ga([]))
TRANSPOSE_AUX_IN_GAA(.(x0, x1)) → U3_GAA(.(x0, x1), head_out_ga(.(x0, x1)))

(140) Obligation:

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

U4_GAA(R, tail_out_ga(R, Rt)) → U5_GAA(R, Rt, row2col_in_aaaa)
U5_GAA(R, Rt, row2col_out_aaaa) → TRANSPOSE_AUX_IN_GAA(Rt)
U3_GAA(R, head_out_ga(R)) → U4_GAA(R, tail_in_ga(R))
TRANSPOSE_AUX_IN_GAA([]) → U3_GAA([], head_out_ga([]))
TRANSPOSE_AUX_IN_GAA(.(x0, x1)) → U3_GAA(.(x0, x1), head_out_ga(.(x0, x1)))

The TRS R consists of the following rules:

row2col_in_aaaaU7_aaaa(eq_in_ag([]))
row2col_in_aaaaU10_aaaa(head_in_aa)
head_in_ga([]) → head_out_ga([])
head_in_ga(.(H, X3)) → head_out_ga(.(H, X3))
tail_in_ga([]) → tail_out_ga([], [])
tail_in_ga(.(X4, T)) → tail_out_ga(.(X4, T), T)
U7_aaaa(eq_out_ag(X, [])) → U8_aaaa(eq_in_ag([]))
U10_aaaa(head_out_aa) → U11_aaaa(head_in_aa)
eq_in_ag(X) → eq_out_ag(X, X)
U8_aaaa(eq_out_ag(Y, [])) → U9_aaaa(eq_in_ag([]))
head_in_aahead_out_aa
U11_aaaa(head_out_aa) → U12_aaaa(head_in_aa)
U9_aaaa(eq_out_ag(Z, [])) → row2col_out_aaaa
U12_aaaa(head_out_aa) → U13_aaaa(head_in_ag([]))
U13_aaaa(head_out_ag([])) → U14_aaaa(tail_in_aa)
head_in_ag(X2) → head_out_ag(X2)
U14_aaaa(tail_out_aa) → U15_aaaa(tail_in_aa)
tail_in_aatail_out_aa
U15_aaaa(tail_out_aa) → U16_aaaa(tail_in_aa)
U16_aaaa(tail_out_aa) → U17_aaaa(head_in_aa)
U17_aaaa(head_out_aa) → U18_aaaa(tail_in_aa)
U18_aaaa(tail_out_aa) → U19_aaaa(tail_in_aa)
U19_aaaa(tail_out_aa) → U20_aaaa(row2col_in_aaaa)
U20_aaaa(row2col_out_aaaa) → row2col_out_aaaa

The set Q consists of the following terms:

row2col_in_aaaa
head_in_ga(x0)
tail_in_ga(x0)
U7_aaaa(x0)
U10_aaaa(x0)
eq_in_ag(x0)
U8_aaaa(x0)
head_in_aa
U11_aaaa(x0)
U9_aaaa(x0)
U12_aaaa(x0)
U13_aaaa(x0)
head_in_ag(x0)
U14_aaaa(x0)
tail_in_aa
U15_aaaa(x0)
U16_aaaa(x0)
U17_aaaa(x0)
U18_aaaa(x0)
U19_aaaa(x0)
U20_aaaa(x0)

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

(141) UsableRulesProof (EQUIVALENT transformation)

As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.

(142) Obligation:

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

U4_GAA(R, tail_out_ga(R, Rt)) → U5_GAA(R, Rt, row2col_in_aaaa)
U5_GAA(R, Rt, row2col_out_aaaa) → TRANSPOSE_AUX_IN_GAA(Rt)
U3_GAA(R, head_out_ga(R)) → U4_GAA(R, tail_in_ga(R))
TRANSPOSE_AUX_IN_GAA([]) → U3_GAA([], head_out_ga([]))
TRANSPOSE_AUX_IN_GAA(.(x0, x1)) → U3_GAA(.(x0, x1), head_out_ga(.(x0, x1)))

The TRS R consists of the following rules:

tail_in_ga([]) → tail_out_ga([], [])
tail_in_ga(.(X4, T)) → tail_out_ga(.(X4, T), T)
row2col_in_aaaaU7_aaaa(eq_in_ag([]))
row2col_in_aaaaU10_aaaa(head_in_aa)
head_in_aahead_out_aa
U10_aaaa(head_out_aa) → U11_aaaa(head_in_aa)
U11_aaaa(head_out_aa) → U12_aaaa(head_in_aa)
U12_aaaa(head_out_aa) → U13_aaaa(head_in_ag([]))
head_in_ag(X2) → head_out_ag(X2)
U13_aaaa(head_out_ag([])) → U14_aaaa(tail_in_aa)
tail_in_aatail_out_aa
U14_aaaa(tail_out_aa) → U15_aaaa(tail_in_aa)
U15_aaaa(tail_out_aa) → U16_aaaa(tail_in_aa)
U16_aaaa(tail_out_aa) → U17_aaaa(head_in_aa)
U17_aaaa(head_out_aa) → U18_aaaa(tail_in_aa)
U18_aaaa(tail_out_aa) → U19_aaaa(tail_in_aa)
U19_aaaa(tail_out_aa) → U20_aaaa(row2col_in_aaaa)
U20_aaaa(row2col_out_aaaa) → row2col_out_aaaa
eq_in_ag(X) → eq_out_ag(X, X)
U7_aaaa(eq_out_ag(X, [])) → U8_aaaa(eq_in_ag([]))
U8_aaaa(eq_out_ag(Y, [])) → U9_aaaa(eq_in_ag([]))
U9_aaaa(eq_out_ag(Z, [])) → row2col_out_aaaa

The set Q consists of the following terms:

row2col_in_aaaa
head_in_ga(x0)
tail_in_ga(x0)
U7_aaaa(x0)
U10_aaaa(x0)
eq_in_ag(x0)
U8_aaaa(x0)
head_in_aa
U11_aaaa(x0)
U9_aaaa(x0)
U12_aaaa(x0)
U13_aaaa(x0)
head_in_ag(x0)
U14_aaaa(x0)
tail_in_aa
U15_aaaa(x0)
U16_aaaa(x0)
U17_aaaa(x0)
U18_aaaa(x0)
U19_aaaa(x0)
U20_aaaa(x0)

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

(143) QReductionProof (EQUIVALENT transformation)

We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN].

head_in_ga(x0)

(144) Obligation:

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

U4_GAA(R, tail_out_ga(R, Rt)) → U5_GAA(R, Rt, row2col_in_aaaa)
U5_GAA(R, Rt, row2col_out_aaaa) → TRANSPOSE_AUX_IN_GAA(Rt)
U3_GAA(R, head_out_ga(R)) → U4_GAA(R, tail_in_ga(R))
TRANSPOSE_AUX_IN_GAA([]) → U3_GAA([], head_out_ga([]))
TRANSPOSE_AUX_IN_GAA(.(x0, x1)) → U3_GAA(.(x0, x1), head_out_ga(.(x0, x1)))

The TRS R consists of the following rules:

tail_in_ga([]) → tail_out_ga([], [])
tail_in_ga(.(X4, T)) → tail_out_ga(.(X4, T), T)
row2col_in_aaaaU7_aaaa(eq_in_ag([]))
row2col_in_aaaaU10_aaaa(head_in_aa)
head_in_aahead_out_aa
U10_aaaa(head_out_aa) → U11_aaaa(head_in_aa)
U11_aaaa(head_out_aa) → U12_aaaa(head_in_aa)
U12_aaaa(head_out_aa) → U13_aaaa(head_in_ag([]))
head_in_ag(X2) → head_out_ag(X2)
U13_aaaa(head_out_ag([])) → U14_aaaa(tail_in_aa)
tail_in_aatail_out_aa
U14_aaaa(tail_out_aa) → U15_aaaa(tail_in_aa)
U15_aaaa(tail_out_aa) → U16_aaaa(tail_in_aa)
U16_aaaa(tail_out_aa) → U17_aaaa(head_in_aa)
U17_aaaa(head_out_aa) → U18_aaaa(tail_in_aa)
U18_aaaa(tail_out_aa) → U19_aaaa(tail_in_aa)
U19_aaaa(tail_out_aa) → U20_aaaa(row2col_in_aaaa)
U20_aaaa(row2col_out_aaaa) → row2col_out_aaaa
eq_in_ag(X) → eq_out_ag(X, X)
U7_aaaa(eq_out_ag(X, [])) → U8_aaaa(eq_in_ag([]))
U8_aaaa(eq_out_ag(Y, [])) → U9_aaaa(eq_in_ag([]))
U9_aaaa(eq_out_ag(Z, [])) → row2col_out_aaaa

The set Q consists of the following terms:

row2col_in_aaaa
tail_in_ga(x0)
U7_aaaa(x0)
U10_aaaa(x0)
eq_in_ag(x0)
U8_aaaa(x0)
head_in_aa
U11_aaaa(x0)
U9_aaaa(x0)
U12_aaaa(x0)
U13_aaaa(x0)
head_in_ag(x0)
U14_aaaa(x0)
tail_in_aa
U15_aaaa(x0)
U16_aaaa(x0)
U17_aaaa(x0)
U18_aaaa(x0)
U19_aaaa(x0)
U20_aaaa(x0)

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

(145) Narrowing (SOUND transformation)

By narrowing [LPAR04] the rule U3_GAA(R, head_out_ga(R)) → U4_GAA(R, tail_in_ga(R)) at position [1] we obtained the following new rules [LPAR04]:

U3_GAA([], head_out_ga([])) → U4_GAA([], tail_out_ga([], []))
U3_GAA(.(x0, x1), head_out_ga(.(x0, x1))) → U4_GAA(.(x0, x1), tail_out_ga(.(x0, x1), x1))

(146) Obligation:

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

U4_GAA(R, tail_out_ga(R, Rt)) → U5_GAA(R, Rt, row2col_in_aaaa)
U5_GAA(R, Rt, row2col_out_aaaa) → TRANSPOSE_AUX_IN_GAA(Rt)
TRANSPOSE_AUX_IN_GAA([]) → U3_GAA([], head_out_ga([]))
TRANSPOSE_AUX_IN_GAA(.(x0, x1)) → U3_GAA(.(x0, x1), head_out_ga(.(x0, x1)))
U3_GAA([], head_out_ga([])) → U4_GAA([], tail_out_ga([], []))
U3_GAA(.(x0, x1), head_out_ga(.(x0, x1))) → U4_GAA(.(x0, x1), tail_out_ga(.(x0, x1), x1))

The TRS R consists of the following rules:

tail_in_ga([]) → tail_out_ga([], [])
tail_in_ga(.(X4, T)) → tail_out_ga(.(X4, T), T)
row2col_in_aaaaU7_aaaa(eq_in_ag([]))
row2col_in_aaaaU10_aaaa(head_in_aa)
head_in_aahead_out_aa
U10_aaaa(head_out_aa) → U11_aaaa(head_in_aa)
U11_aaaa(head_out_aa) → U12_aaaa(head_in_aa)
U12_aaaa(head_out_aa) → U13_aaaa(head_in_ag([]))
head_in_ag(X2) → head_out_ag(X2)
U13_aaaa(head_out_ag([])) → U14_aaaa(tail_in_aa)
tail_in_aatail_out_aa
U14_aaaa(tail_out_aa) → U15_aaaa(tail_in_aa)
U15_aaaa(tail_out_aa) → U16_aaaa(tail_in_aa)
U16_aaaa(tail_out_aa) → U17_aaaa(head_in_aa)
U17_aaaa(head_out_aa) → U18_aaaa(tail_in_aa)
U18_aaaa(tail_out_aa) → U19_aaaa(tail_in_aa)
U19_aaaa(tail_out_aa) → U20_aaaa(row2col_in_aaaa)
U20_aaaa(row2col_out_aaaa) → row2col_out_aaaa
eq_in_ag(X) → eq_out_ag(X, X)
U7_aaaa(eq_out_ag(X, [])) → U8_aaaa(eq_in_ag([]))
U8_aaaa(eq_out_ag(Y, [])) → U9_aaaa(eq_in_ag([]))
U9_aaaa(eq_out_ag(Z, [])) → row2col_out_aaaa

The set Q consists of the following terms:

row2col_in_aaaa
tail_in_ga(x0)
U7_aaaa(x0)
U10_aaaa(x0)
eq_in_ag(x0)
U8_aaaa(x0)
head_in_aa
U11_aaaa(x0)
U9_aaaa(x0)
U12_aaaa(x0)
U13_aaaa(x0)
head_in_ag(x0)
U14_aaaa(x0)
tail_in_aa
U15_aaaa(x0)
U16_aaaa(x0)
U17_aaaa(x0)
U18_aaaa(x0)
U19_aaaa(x0)
U20_aaaa(x0)

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

(147) UsableRulesProof (EQUIVALENT transformation)

As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.

(148) Obligation:

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

U4_GAA(R, tail_out_ga(R, Rt)) → U5_GAA(R, Rt, row2col_in_aaaa)
U5_GAA(R, Rt, row2col_out_aaaa) → TRANSPOSE_AUX_IN_GAA(Rt)
TRANSPOSE_AUX_IN_GAA([]) → U3_GAA([], head_out_ga([]))
TRANSPOSE_AUX_IN_GAA(.(x0, x1)) → U3_GAA(.(x0, x1), head_out_ga(.(x0, x1)))
U3_GAA([], head_out_ga([])) → U4_GAA([], tail_out_ga([], []))
U3_GAA(.(x0, x1), head_out_ga(.(x0, x1))) → U4_GAA(.(x0, x1), tail_out_ga(.(x0, x1), x1))

The TRS R consists of the following rules:

row2col_in_aaaaU7_aaaa(eq_in_ag([]))
row2col_in_aaaaU10_aaaa(head_in_aa)
head_in_aahead_out_aa
U10_aaaa(head_out_aa) → U11_aaaa(head_in_aa)
U11_aaaa(head_out_aa) → U12_aaaa(head_in_aa)
U12_aaaa(head_out_aa) → U13_aaaa(head_in_ag([]))
head_in_ag(X2) → head_out_ag(X2)
U13_aaaa(head_out_ag([])) → U14_aaaa(tail_in_aa)
tail_in_aatail_out_aa
U14_aaaa(tail_out_aa) → U15_aaaa(tail_in_aa)
U15_aaaa(tail_out_aa) → U16_aaaa(tail_in_aa)
U16_aaaa(tail_out_aa) → U17_aaaa(head_in_aa)
U17_aaaa(head_out_aa) → U18_aaaa(tail_in_aa)
U18_aaaa(tail_out_aa) → U19_aaaa(tail_in_aa)
U19_aaaa(tail_out_aa) → U20_aaaa(row2col_in_aaaa)
U20_aaaa(row2col_out_aaaa) → row2col_out_aaaa
eq_in_ag(X) → eq_out_ag(X, X)
U7_aaaa(eq_out_ag(X, [])) → U8_aaaa(eq_in_ag([]))
U8_aaaa(eq_out_ag(Y, [])) → U9_aaaa(eq_in_ag([]))
U9_aaaa(eq_out_ag(Z, [])) → row2col_out_aaaa

The set Q consists of the following terms:

row2col_in_aaaa
tail_in_ga(x0)
U7_aaaa(x0)
U10_aaaa(x0)
eq_in_ag(x0)
U8_aaaa(x0)
head_in_aa
U11_aaaa(x0)
U9_aaaa(x0)
U12_aaaa(x0)
U13_aaaa(x0)
head_in_ag(x0)
U14_aaaa(x0)
tail_in_aa
U15_aaaa(x0)
U16_aaaa(x0)
U17_aaaa(x0)
U18_aaaa(x0)
U19_aaaa(x0)
U20_aaaa(x0)

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

(149) QReductionProof (EQUIVALENT transformation)

We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN].

tail_in_ga(x0)

(150) Obligation:

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

U4_GAA(R, tail_out_ga(R, Rt)) → U5_GAA(R, Rt, row2col_in_aaaa)
U5_GAA(R, Rt, row2col_out_aaaa) → TRANSPOSE_AUX_IN_GAA(Rt)
TRANSPOSE_AUX_IN_GAA([]) → U3_GAA([], head_out_ga([]))
TRANSPOSE_AUX_IN_GAA(.(x0, x1)) → U3_GAA(.(x0, x1), head_out_ga(.(x0, x1)))
U3_GAA([], head_out_ga([])) → U4_GAA([], tail_out_ga([], []))
U3_GAA(.(x0, x1), head_out_ga(.(x0, x1))) → U4_GAA(.(x0, x1), tail_out_ga(.(x0, x1), x1))

The TRS R consists of the following rules:

row2col_in_aaaaU7_aaaa(eq_in_ag([]))
row2col_in_aaaaU10_aaaa(head_in_aa)
head_in_aahead_out_aa
U10_aaaa(head_out_aa) → U11_aaaa(head_in_aa)
U11_aaaa(head_out_aa) → U12_aaaa(head_in_aa)
U12_aaaa(head_out_aa) → U13_aaaa(head_in_ag([]))
head_in_ag(X2) → head_out_ag(X2)
U13_aaaa(head_out_ag([])) → U14_aaaa(tail_in_aa)
tail_in_aatail_out_aa
U14_aaaa(tail_out_aa) → U15_aaaa(tail_in_aa)
U15_aaaa(tail_out_aa) → U16_aaaa(tail_in_aa)
U16_aaaa(tail_out_aa) → U17_aaaa(head_in_aa)
U17_aaaa(head_out_aa) → U18_aaaa(tail_in_aa)
U18_aaaa(tail_out_aa) → U19_aaaa(tail_in_aa)
U19_aaaa(tail_out_aa) → U20_aaaa(row2col_in_aaaa)
U20_aaaa(row2col_out_aaaa) → row2col_out_aaaa
eq_in_ag(X) → eq_out_ag(X, X)
U7_aaaa(eq_out_ag(X, [])) → U8_aaaa(eq_in_ag([]))
U8_aaaa(eq_out_ag(Y, [])) → U9_aaaa(eq_in_ag([]))
U9_aaaa(eq_out_ag(Z, [])) → row2col_out_aaaa

The set Q consists of the following terms:

row2col_in_aaaa
U7_aaaa(x0)
U10_aaaa(x0)
eq_in_ag(x0)
U8_aaaa(x0)
head_in_aa
U11_aaaa(x0)
U9_aaaa(x0)
U12_aaaa(x0)
U13_aaaa(x0)
head_in_ag(x0)
U14_aaaa(x0)
tail_in_aa
U15_aaaa(x0)
U16_aaaa(x0)
U17_aaaa(x0)
U18_aaaa(x0)
U19_aaaa(x0)
U20_aaaa(x0)

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

(151) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


U3_GAA(.(x0, x1), head_out_ga(.(x0, x1))) → U4_GAA(.(x0, x1), tail_out_ga(.(x0, x1), x1))
The remaining pairs can at least be oriented weakly.
Used ordering: Matrix interpretation [MATRO]:

POL(U4_GAA(x1, x2)) = 0 +
[0,0]
·x1 +
[1,0]
·x2

POL(tail_out_ga(x1, x2)) =
/0\
\0/
+
/00\
\00/
·x1 +
/01\
\00/
·x2

POL(U5_GAA(x1, x2, x3)) = 0 +
[0,0]
·x1 +
[0,1]
·x2 +
[0,0]
·x3

POL(row2col_in_aaaa) =
/1\
\1/

POL(row2col_out_aaaa) =
/0\
\0/

POL(TRANSPOSE_AUX_IN_GAA(x1)) = 0 +
[0,1]
·x1

POL([]) =
/0\
\0/

POL(U3_GAA(x1, x2)) = 0 +
[0,0]
·x1 +
[0,1]
·x2

POL(head_out_ga(x1)) =
/0\
\0/
+
/00\
\01/
·x1

POL(.(x1, x2)) =
/0\
\1/
+
/00\
\01/
·x1 +
/00\
\01/
·x2

POL(U7_aaaa(x1)) =
/0\
\0/
+
/00\
\00/
·x1

POL(eq_in_ag(x1)) =
/0\
\0/
+
/00\
\00/
·x1

POL(U10_aaaa(x1)) =
/0\
\0/
+
/10\
\11/
·x1

POL(head_in_aa) =
/1\
\1/

POL(head_out_aa) =
/0\
\0/

POL(U11_aaaa(x1)) =
/0\
\0/
+
/00\
\00/
·x1

POL(U12_aaaa(x1)) =
/1\
\0/
+
/10\
\11/
·x1

POL(U13_aaaa(x1)) =
/0\
\0/
+
/00\
\11/
·x1

POL(head_in_ag(x1)) =
/1\
\1/
+
/00\
\00/
·x1

POL(head_out_ag(x1)) =
/1\
\0/
+
/01\
\11/
·x1

POL(U14_aaaa(x1)) =
/0\
\0/
+
/11\
\00/
·x1

POL(tail_in_aa) =
/1\
\1/

POL(tail_out_aa) =
/0\
\0/

POL(U15_aaaa(x1)) =
/0\
\0/
+
/10\
\00/
·x1

POL(U16_aaaa(x1)) =
/1\
\0/
+
/10\
\01/
·x1

POL(U17_aaaa(x1)) =
/0\
\0/
+
/00\
\00/
·x1

POL(U18_aaaa(x1)) =
/0\
\0/
+
/11\
\10/
·x1

POL(U19_aaaa(x1)) =
/0\
\0/
+
/11\
\11/
·x1

POL(U20_aaaa(x1)) =
/0\
\0/
+
/11\
\11/
·x1

POL(eq_out_ag(x1, x2)) =
/1\
\1/
+
/11\
\00/
·x1 +
/00\
\10/
·x2

POL(U8_aaaa(x1)) =
/1\
\1/
+
/00\
\00/
·x1

POL(U9_aaaa(x1)) =
/0\
\0/
+
/00\
\00/
·x1

The following usable rules [FROCOS05] were oriented: none

(152) Obligation:

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

U4_GAA(R, tail_out_ga(R, Rt)) → U5_GAA(R, Rt, row2col_in_aaaa)
U5_GAA(R, Rt, row2col_out_aaaa) → TRANSPOSE_AUX_IN_GAA(Rt)
TRANSPOSE_AUX_IN_GAA([]) → U3_GAA([], head_out_ga([]))
TRANSPOSE_AUX_IN_GAA(.(x0, x1)) → U3_GAA(.(x0, x1), head_out_ga(.(x0, x1)))
U3_GAA([], head_out_ga([])) → U4_GAA([], tail_out_ga([], []))

The TRS R consists of the following rules:

row2col_in_aaaaU7_aaaa(eq_in_ag([]))
row2col_in_aaaaU10_aaaa(head_in_aa)
head_in_aahead_out_aa
U10_aaaa(head_out_aa) → U11_aaaa(head_in_aa)
U11_aaaa(head_out_aa) → U12_aaaa(head_in_aa)
U12_aaaa(head_out_aa) → U13_aaaa(head_in_ag([]))
head_in_ag(X2) → head_out_ag(X2)
U13_aaaa(head_out_ag([])) → U14_aaaa(tail_in_aa)
tail_in_aatail_out_aa
U14_aaaa(tail_out_aa) → U15_aaaa(tail_in_aa)
U15_aaaa(tail_out_aa) → U16_aaaa(tail_in_aa)
U16_aaaa(tail_out_aa) → U17_aaaa(head_in_aa)
U17_aaaa(head_out_aa) → U18_aaaa(tail_in_aa)
U18_aaaa(tail_out_aa) → U19_aaaa(tail_in_aa)
U19_aaaa(tail_out_aa) → U20_aaaa(row2col_in_aaaa)
U20_aaaa(row2col_out_aaaa) → row2col_out_aaaa
eq_in_ag(X) → eq_out_ag(X, X)
U7_aaaa(eq_out_ag(X, [])) → U8_aaaa(eq_in_ag([]))
U8_aaaa(eq_out_ag(Y, [])) → U9_aaaa(eq_in_ag([]))
U9_aaaa(eq_out_ag(Z, [])) → row2col_out_aaaa

The set Q consists of the following terms:

row2col_in_aaaa
U7_aaaa(x0)
U10_aaaa(x0)
eq_in_ag(x0)
U8_aaaa(x0)
head_in_aa
U11_aaaa(x0)
U9_aaaa(x0)
U12_aaaa(x0)
U13_aaaa(x0)
head_in_ag(x0)
U14_aaaa(x0)
tail_in_aa
U15_aaaa(x0)
U16_aaaa(x0)
U17_aaaa(x0)
U18_aaaa(x0)
U19_aaaa(x0)
U20_aaaa(x0)

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

(153) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node.

(154) Obligation:

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

U5_GAA(R, Rt, row2col_out_aaaa) → TRANSPOSE_AUX_IN_GAA(Rt)
TRANSPOSE_AUX_IN_GAA([]) → U3_GAA([], head_out_ga([]))
U3_GAA([], head_out_ga([])) → U4_GAA([], tail_out_ga([], []))
U4_GAA(R, tail_out_ga(R, Rt)) → U5_GAA(R, Rt, row2col_in_aaaa)

The TRS R consists of the following rules:

row2col_in_aaaaU7_aaaa(eq_in_ag([]))
row2col_in_aaaaU10_aaaa(head_in_aa)
head_in_aahead_out_aa
U10_aaaa(head_out_aa) → U11_aaaa(head_in_aa)
U11_aaaa(head_out_aa) → U12_aaaa(head_in_aa)
U12_aaaa(head_out_aa) → U13_aaaa(head_in_ag([]))
head_in_ag(X2) → head_out_ag(X2)
U13_aaaa(head_out_ag([])) → U14_aaaa(tail_in_aa)
tail_in_aatail_out_aa
U14_aaaa(tail_out_aa) → U15_aaaa(tail_in_aa)
U15_aaaa(tail_out_aa) → U16_aaaa(tail_in_aa)
U16_aaaa(tail_out_aa) → U17_aaaa(head_in_aa)
U17_aaaa(head_out_aa) → U18_aaaa(tail_in_aa)
U18_aaaa(tail_out_aa) → U19_aaaa(tail_in_aa)
U19_aaaa(tail_out_aa) → U20_aaaa(row2col_in_aaaa)
U20_aaaa(row2col_out_aaaa) → row2col_out_aaaa
eq_in_ag(X) → eq_out_ag(X, X)
U7_aaaa(eq_out_ag(X, [])) → U8_aaaa(eq_in_ag([]))
U8_aaaa(eq_out_ag(Y, [])) → U9_aaaa(eq_in_ag([]))
U9_aaaa(eq_out_ag(Z, [])) → row2col_out_aaaa

The set Q consists of the following terms:

row2col_in_aaaa
U7_aaaa(x0)
U10_aaaa(x0)
eq_in_ag(x0)
U8_aaaa(x0)
head_in_aa
U11_aaaa(x0)
U9_aaaa(x0)
U12_aaaa(x0)
U13_aaaa(x0)
head_in_ag(x0)
U14_aaaa(x0)
tail_in_aa
U15_aaaa(x0)
U16_aaaa(x0)
U17_aaaa(x0)
U18_aaaa(x0)
U19_aaaa(x0)
U20_aaaa(x0)

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

(155) Instantiation (EQUIVALENT transformation)

By instantiating [LPAR04] the rule U4_GAA(R, tail_out_ga(R, Rt)) → U5_GAA(R, Rt, row2col_in_aaaa) we obtained the following new rules [LPAR04]:

U4_GAA([], tail_out_ga([], [])) → U5_GAA([], [], row2col_in_aaaa)

(156) Obligation:

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

U5_GAA(R, Rt, row2col_out_aaaa) → TRANSPOSE_AUX_IN_GAA(Rt)
TRANSPOSE_AUX_IN_GAA([]) → U3_GAA([], head_out_ga([]))
U3_GAA([], head_out_ga([])) → U4_GAA([], tail_out_ga([], []))
U4_GAA([], tail_out_ga([], [])) → U5_GAA([], [], row2col_in_aaaa)

The TRS R consists of the following rules:

row2col_in_aaaaU7_aaaa(eq_in_ag([]))
row2col_in_aaaaU10_aaaa(head_in_aa)
head_in_aahead_out_aa
U10_aaaa(head_out_aa) → U11_aaaa(head_in_aa)
U11_aaaa(head_out_aa) → U12_aaaa(head_in_aa)
U12_aaaa(head_out_aa) → U13_aaaa(head_in_ag([]))
head_in_ag(X2) → head_out_ag(X2)
U13_aaaa(head_out_ag([])) → U14_aaaa(tail_in_aa)
tail_in_aatail_out_aa
U14_aaaa(tail_out_aa) → U15_aaaa(tail_in_aa)
U15_aaaa(tail_out_aa) → U16_aaaa(tail_in_aa)
U16_aaaa(tail_out_aa) → U17_aaaa(head_in_aa)
U17_aaaa(head_out_aa) → U18_aaaa(tail_in_aa)
U18_aaaa(tail_out_aa) → U19_aaaa(tail_in_aa)
U19_aaaa(tail_out_aa) → U20_aaaa(row2col_in_aaaa)
U20_aaaa(row2col_out_aaaa) → row2col_out_aaaa
eq_in_ag(X) → eq_out_ag(X, X)
U7_aaaa(eq_out_ag(X, [])) → U8_aaaa(eq_in_ag([]))
U8_aaaa(eq_out_ag(Y, [])) → U9_aaaa(eq_in_ag([]))
U9_aaaa(eq_out_ag(Z, [])) → row2col_out_aaaa

The set Q consists of the following terms:

row2col_in_aaaa
U7_aaaa(x0)
U10_aaaa(x0)
eq_in_ag(x0)
U8_aaaa(x0)
head_in_aa
U11_aaaa(x0)
U9_aaaa(x0)
U12_aaaa(x0)
U13_aaaa(x0)
head_in_ag(x0)
U14_aaaa(x0)
tail_in_aa
U15_aaaa(x0)
U16_aaaa(x0)
U17_aaaa(x0)
U18_aaaa(x0)
U19_aaaa(x0)
U20_aaaa(x0)

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

(157) Instantiation (EQUIVALENT transformation)

By instantiating [LPAR04] the rule U4_GAA(R, tail_out_ga(R, Rt)) → U5_GAA(R, Rt, row2col_in_aaaa) we obtained the following new rules [LPAR04]:

U4_GAA([], tail_out_ga([], [])) → U5_GAA([], [], row2col_in_aaaa)

(158) Obligation:

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

U5_GAA(R, Rt, row2col_out_aaaa) → TRANSPOSE_AUX_IN_GAA(Rt)
TRANSPOSE_AUX_IN_GAA([]) → U3_GAA([], head_out_ga([]))
U3_GAA([], head_out_ga([])) → U4_GAA([], tail_out_ga([], []))
U4_GAA([], tail_out_ga([], [])) → U5_GAA([], [], row2col_in_aaaa)

The TRS R consists of the following rules:

row2col_in_aaaaU7_aaaa(eq_in_ag([]))
row2col_in_aaaaU10_aaaa(head_in_aa)
head_in_aahead_out_aa
U10_aaaa(head_out_aa) → U11_aaaa(head_in_aa)
U11_aaaa(head_out_aa) → U12_aaaa(head_in_aa)
U12_aaaa(head_out_aa) → U13_aaaa(head_in_ag([]))
head_in_ag(X2) → head_out_ag(X2)
U13_aaaa(head_out_ag([])) → U14_aaaa(tail_in_aa)
tail_in_aatail_out_aa
U14_aaaa(tail_out_aa) → U15_aaaa(tail_in_aa)
U15_aaaa(tail_out_aa) → U16_aaaa(tail_in_aa)
U16_aaaa(tail_out_aa) → U17_aaaa(head_in_aa)
U17_aaaa(head_out_aa) → U18_aaaa(tail_in_aa)
U18_aaaa(tail_out_aa) → U19_aaaa(tail_in_aa)
U19_aaaa(tail_out_aa) → U20_aaaa(row2col_in_aaaa)
U20_aaaa(row2col_out_aaaa) → row2col_out_aaaa
eq_in_ag(X) → eq_out_ag(X, X)
U7_aaaa(eq_out_ag(X, [])) → U8_aaaa(eq_in_ag([]))
U8_aaaa(eq_out_ag(Y, [])) → U9_aaaa(eq_in_ag([]))
U9_aaaa(eq_out_ag(Z, [])) → row2col_out_aaaa

The set Q consists of the following terms:

row2col_in_aaaa
U7_aaaa(x0)
U10_aaaa(x0)
eq_in_ag(x0)
U8_aaaa(x0)
head_in_aa
U11_aaaa(x0)
U9_aaaa(x0)
U12_aaaa(x0)
U13_aaaa(x0)
head_in_ag(x0)
U14_aaaa(x0)
tail_in_aa
U15_aaaa(x0)
U16_aaaa(x0)
U17_aaaa(x0)
U18_aaaa(x0)
U19_aaaa(x0)
U20_aaaa(x0)

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

(159) Instantiation (EQUIVALENT transformation)

By instantiating [LPAR04] the rule U5_GAA(R, Rt, row2col_out_aaaa) → TRANSPOSE_AUX_IN_GAA(Rt) we obtained the following new rules [LPAR04]:

U5_GAA([], [], row2col_out_aaaa) → TRANSPOSE_AUX_IN_GAA([])

(160) Obligation:

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

TRANSPOSE_AUX_IN_GAA([]) → U3_GAA([], head_out_ga([]))
U3_GAA([], head_out_ga([])) → U4_GAA([], tail_out_ga([], []))
U4_GAA([], tail_out_ga([], [])) → U5_GAA([], [], row2col_in_aaaa)
U5_GAA([], [], row2col_out_aaaa) → TRANSPOSE_AUX_IN_GAA([])

The TRS R consists of the following rules:

row2col_in_aaaaU7_aaaa(eq_in_ag([]))
row2col_in_aaaaU10_aaaa(head_in_aa)
head_in_aahead_out_aa
U10_aaaa(head_out_aa) → U11_aaaa(head_in_aa)
U11_aaaa(head_out_aa) → U12_aaaa(head_in_aa)
U12_aaaa(head_out_aa) → U13_aaaa(head_in_ag([]))
head_in_ag(X2) → head_out_ag(X2)
U13_aaaa(head_out_ag([])) → U14_aaaa(tail_in_aa)
tail_in_aatail_out_aa
U14_aaaa(tail_out_aa) → U15_aaaa(tail_in_aa)
U15_aaaa(tail_out_aa) → U16_aaaa(tail_in_aa)
U16_aaaa(tail_out_aa) → U17_aaaa(head_in_aa)
U17_aaaa(head_out_aa) → U18_aaaa(tail_in_aa)
U18_aaaa(tail_out_aa) → U19_aaaa(tail_in_aa)
U19_aaaa(tail_out_aa) → U20_aaaa(row2col_in_aaaa)
U20_aaaa(row2col_out_aaaa) → row2col_out_aaaa
eq_in_ag(X) → eq_out_ag(X, X)
U7_aaaa(eq_out_ag(X, [])) → U8_aaaa(eq_in_ag([]))
U8_aaaa(eq_out_ag(Y, [])) → U9_aaaa(eq_in_ag([]))
U9_aaaa(eq_out_ag(Z, [])) → row2col_out_aaaa

The set Q consists of the following terms:

row2col_in_aaaa
U7_aaaa(x0)
U10_aaaa(x0)
eq_in_ag(x0)
U8_aaaa(x0)
head_in_aa
U11_aaaa(x0)
U9_aaaa(x0)
U12_aaaa(x0)
U13_aaaa(x0)
head_in_ag(x0)
U14_aaaa(x0)
tail_in_aa
U15_aaaa(x0)
U16_aaaa(x0)
U17_aaaa(x0)
U18_aaaa(x0)
U19_aaaa(x0)
U20_aaaa(x0)

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

(161) Narrowing (SOUND transformation)

By narrowing [LPAR04] the rule U4_GAA([], tail_out_ga([], [])) → U5_GAA([], [], row2col_in_aaaa) at position [2] we obtained the following new rules [LPAR04]:

U4_GAA([], tail_out_ga([], [])) → U5_GAA([], [], U7_aaaa(eq_in_ag([])))
U4_GAA([], tail_out_ga([], [])) → U5_GAA([], [], U10_aaaa(head_in_aa))

(162) Obligation:

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

TRANSPOSE_AUX_IN_GAA([]) → U3_GAA([], head_out_ga([]))
U3_GAA([], head_out_ga([])) → U4_GAA([], tail_out_ga([], []))
U5_GAA([], [], row2col_out_aaaa) → TRANSPOSE_AUX_IN_GAA([])
U4_GAA([], tail_out_ga([], [])) → U5_GAA([], [], U7_aaaa(eq_in_ag([])))
U4_GAA([], tail_out_ga([], [])) → U5_GAA([], [], U10_aaaa(head_in_aa))

The TRS R consists of the following rules:

row2col_in_aaaaU7_aaaa(eq_in_ag([]))
row2col_in_aaaaU10_aaaa(head_in_aa)
head_in_aahead_out_aa
U10_aaaa(head_out_aa) → U11_aaaa(head_in_aa)
U11_aaaa(head_out_aa) → U12_aaaa(head_in_aa)
U12_aaaa(head_out_aa) → U13_aaaa(head_in_ag([]))
head_in_ag(X2) → head_out_ag(X2)
U13_aaaa(head_out_ag([])) → U14_aaaa(tail_in_aa)
tail_in_aatail_out_aa
U14_aaaa(tail_out_aa) → U15_aaaa(tail_in_aa)
U15_aaaa(tail_out_aa) → U16_aaaa(tail_in_aa)
U16_aaaa(tail_out_aa) → U17_aaaa(head_in_aa)
U17_aaaa(head_out_aa) → U18_aaaa(tail_in_aa)
U18_aaaa(tail_out_aa) → U19_aaaa(tail_in_aa)
U19_aaaa(tail_out_aa) → U20_aaaa(row2col_in_aaaa)
U20_aaaa(row2col_out_aaaa) → row2col_out_aaaa
eq_in_ag(X) → eq_out_ag(X, X)
U7_aaaa(eq_out_ag(X, [])) → U8_aaaa(eq_in_ag([]))
U8_aaaa(eq_out_ag(Y, [])) → U9_aaaa(eq_in_ag([]))
U9_aaaa(eq_out_ag(Z, [])) → row2col_out_aaaa

The set Q consists of the following terms:

row2col_in_aaaa
U7_aaaa(x0)
U10_aaaa(x0)
eq_in_ag(x0)
U8_aaaa(x0)
head_in_aa
U11_aaaa(x0)
U9_aaaa(x0)
U12_aaaa(x0)
U13_aaaa(x0)
head_in_ag(x0)
U14_aaaa(x0)
tail_in_aa
U15_aaaa(x0)
U16_aaaa(x0)
U17_aaaa(x0)
U18_aaaa(x0)
U19_aaaa(x0)
U20_aaaa(x0)

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

(163) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule U4_GAA([], tail_out_ga([], [])) → U5_GAA([], [], U7_aaaa(eq_in_ag([]))) at position [2,0] we obtained the following new rules [LPAR04]:

U4_GAA([], tail_out_ga([], [])) → U5_GAA([], [], U7_aaaa(eq_out_ag([], [])))

(164) Obligation:

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

TRANSPOSE_AUX_IN_GAA([]) → U3_GAA([], head_out_ga([]))
U3_GAA([], head_out_ga([])) → U4_GAA([], tail_out_ga([], []))
U5_GAA([], [], row2col_out_aaaa) → TRANSPOSE_AUX_IN_GAA([])
U4_GAA([], tail_out_ga([], [])) → U5_GAA([], [], U10_aaaa(head_in_aa))
U4_GAA([], tail_out_ga([], [])) → U5_GAA([], [], U7_aaaa(eq_out_ag([], [])))

The TRS R consists of the following rules:

row2col_in_aaaaU7_aaaa(eq_in_ag([]))
row2col_in_aaaaU10_aaaa(head_in_aa)
head_in_aahead_out_aa
U10_aaaa(head_out_aa) → U11_aaaa(head_in_aa)
U11_aaaa(head_out_aa) → U12_aaaa(head_in_aa)
U12_aaaa(head_out_aa) → U13_aaaa(head_in_ag([]))
head_in_ag(X2) → head_out_ag(X2)
U13_aaaa(head_out_ag([])) → U14_aaaa(tail_in_aa)
tail_in_aatail_out_aa
U14_aaaa(tail_out_aa) → U15_aaaa(tail_in_aa)
U15_aaaa(tail_out_aa) → U16_aaaa(tail_in_aa)
U16_aaaa(tail_out_aa) → U17_aaaa(head_in_aa)
U17_aaaa(head_out_aa) → U18_aaaa(tail_in_aa)
U18_aaaa(tail_out_aa) → U19_aaaa(tail_in_aa)
U19_aaaa(tail_out_aa) → U20_aaaa(row2col_in_aaaa)
U20_aaaa(row2col_out_aaaa) → row2col_out_aaaa
eq_in_ag(X) → eq_out_ag(X, X)
U7_aaaa(eq_out_ag(X, [])) → U8_aaaa(eq_in_ag([]))
U8_aaaa(eq_out_ag(Y, [])) → U9_aaaa(eq_in_ag([]))
U9_aaaa(eq_out_ag(Z, [])) → row2col_out_aaaa

The set Q consists of the following terms:

row2col_in_aaaa
U7_aaaa(x0)
U10_aaaa(x0)
eq_in_ag(x0)
U8_aaaa(x0)
head_in_aa
U11_aaaa(x0)
U9_aaaa(x0)
U12_aaaa(x0)
U13_aaaa(x0)
head_in_ag(x0)
U14_aaaa(x0)
tail_in_aa
U15_aaaa(x0)
U16_aaaa(x0)
U17_aaaa(x0)
U18_aaaa(x0)
U19_aaaa(x0)
U20_aaaa(x0)

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

(165) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule U4_GAA([], tail_out_ga([], [])) → U5_GAA([], [], U10_aaaa(head_in_aa)) at position [2,0] we obtained the following new rules [LPAR04]:

U4_GAA([], tail_out_ga([], [])) → U5_GAA([], [], U10_aaaa(head_out_aa))

(166) Obligation:

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

TRANSPOSE_AUX_IN_GAA([]) → U3_GAA([], head_out_ga([]))
U3_GAA([], head_out_ga([])) → U4_GAA([], tail_out_ga([], []))
U5_GAA([], [], row2col_out_aaaa) → TRANSPOSE_AUX_IN_GAA([])
U4_GAA([], tail_out_ga([], [])) → U5_GAA([], [], U7_aaaa(eq_out_ag([], [])))
U4_GAA([], tail_out_ga([], [])) → U5_GAA([], [], U10_aaaa(head_out_aa))

The TRS R consists of the following rules:

row2col_in_aaaaU7_aaaa(eq_in_ag([]))
row2col_in_aaaaU10_aaaa(head_in_aa)
head_in_aahead_out_aa
U10_aaaa(head_out_aa) → U11_aaaa(head_in_aa)
U11_aaaa(head_out_aa) → U12_aaaa(head_in_aa)
U12_aaaa(head_out_aa) → U13_aaaa(head_in_ag([]))
head_in_ag(X2) → head_out_ag(X2)
U13_aaaa(head_out_ag([])) → U14_aaaa(tail_in_aa)
tail_in_aatail_out_aa
U14_aaaa(tail_out_aa) → U15_aaaa(tail_in_aa)
U15_aaaa(tail_out_aa) → U16_aaaa(tail_in_aa)
U16_aaaa(tail_out_aa) → U17_aaaa(head_in_aa)
U17_aaaa(head_out_aa) → U18_aaaa(tail_in_aa)
U18_aaaa(tail_out_aa) → U19_aaaa(tail_in_aa)
U19_aaaa(tail_out_aa) → U20_aaaa(row2col_in_aaaa)
U20_aaaa(row2col_out_aaaa) → row2col_out_aaaa
eq_in_ag(X) → eq_out_ag(X, X)
U7_aaaa(eq_out_ag(X, [])) → U8_aaaa(eq_in_ag([]))
U8_aaaa(eq_out_ag(Y, [])) → U9_aaaa(eq_in_ag([]))
U9_aaaa(eq_out_ag(Z, [])) → row2col_out_aaaa

The set Q consists of the following terms:

row2col_in_aaaa
U7_aaaa(x0)
U10_aaaa(x0)
eq_in_ag(x0)
U8_aaaa(x0)
head_in_aa
U11_aaaa(x0)
U9_aaaa(x0)
U12_aaaa(x0)
U13_aaaa(x0)
head_in_ag(x0)
U14_aaaa(x0)
tail_in_aa
U15_aaaa(x0)
U16_aaaa(x0)
U17_aaaa(x0)
U18_aaaa(x0)
U19_aaaa(x0)
U20_aaaa(x0)

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

(167) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule U4_GAA([], tail_out_ga([], [])) → U5_GAA([], [], U7_aaaa(eq_out_ag([], []))) at position [2] we obtained the following new rules [LPAR04]:

U4_GAA([], tail_out_ga([], [])) → U5_GAA([], [], U8_aaaa(eq_in_ag([])))

(168) Obligation:

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

TRANSPOSE_AUX_IN_GAA([]) → U3_GAA([], head_out_ga([]))
U3_GAA([], head_out_ga([])) → U4_GAA([], tail_out_ga([], []))
U5_GAA([], [], row2col_out_aaaa) → TRANSPOSE_AUX_IN_GAA([])
U4_GAA([], tail_out_ga([], [])) → U5_GAA([], [], U10_aaaa(head_out_aa))
U4_GAA([], tail_out_ga([], [])) → U5_GAA([], [], U8_aaaa(eq_in_ag([])))

The TRS R consists of the following rules:

row2col_in_aaaaU7_aaaa(eq_in_ag([]))
row2col_in_aaaaU10_aaaa(head_in_aa)
head_in_aahead_out_aa
U10_aaaa(head_out_aa) → U11_aaaa(head_in_aa)
U11_aaaa(head_out_aa) → U12_aaaa(head_in_aa)
U12_aaaa(head_out_aa) → U13_aaaa(head_in_ag([]))
head_in_ag(X2) → head_out_ag(X2)
U13_aaaa(head_out_ag([])) → U14_aaaa(tail_in_aa)
tail_in_aatail_out_aa
U14_aaaa(tail_out_aa) → U15_aaaa(tail_in_aa)
U15_aaaa(tail_out_aa) → U16_aaaa(tail_in_aa)
U16_aaaa(tail_out_aa) → U17_aaaa(head_in_aa)
U17_aaaa(head_out_aa) → U18_aaaa(tail_in_aa)
U18_aaaa(tail_out_aa) → U19_aaaa(tail_in_aa)
U19_aaaa(tail_out_aa) → U20_aaaa(row2col_in_aaaa)
U20_aaaa(row2col_out_aaaa) → row2col_out_aaaa
eq_in_ag(X) → eq_out_ag(X, X)
U7_aaaa(eq_out_ag(X, [])) → U8_aaaa(eq_in_ag([]))
U8_aaaa(eq_out_ag(Y, [])) → U9_aaaa(eq_in_ag([]))
U9_aaaa(eq_out_ag(Z, [])) → row2col_out_aaaa

The set Q consists of the following terms:

row2col_in_aaaa
U7_aaaa(x0)
U10_aaaa(x0)
eq_in_ag(x0)
U8_aaaa(x0)
head_in_aa
U11_aaaa(x0)
U9_aaaa(x0)
U12_aaaa(x0)
U13_aaaa(x0)
head_in_ag(x0)
U14_aaaa(x0)
tail_in_aa
U15_aaaa(x0)
U16_aaaa(x0)
U17_aaaa(x0)
U18_aaaa(x0)
U19_aaaa(x0)
U20_aaaa(x0)

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

(169) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule U4_GAA([], tail_out_ga([], [])) → U5_GAA([], [], U8_aaaa(eq_in_ag([]))) at position [2,0] we obtained the following new rules [LPAR04]:

U4_GAA([], tail_out_ga([], [])) → U5_GAA([], [], U8_aaaa(eq_out_ag([], [])))

(170) Obligation:

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

TRANSPOSE_AUX_IN_GAA([]) → U3_GAA([], head_out_ga([]))
U3_GAA([], head_out_ga([])) → U4_GAA([], tail_out_ga([], []))
U5_GAA([], [], row2col_out_aaaa) → TRANSPOSE_AUX_IN_GAA([])
U4_GAA([], tail_out_ga([], [])) → U5_GAA([], [], U10_aaaa(head_out_aa))
U4_GAA([], tail_out_ga([], [])) → U5_GAA([], [], U8_aaaa(eq_out_ag([], [])))

The TRS R consists of the following rules:

row2col_in_aaaaU7_aaaa(eq_in_ag([]))
row2col_in_aaaaU10_aaaa(head_in_aa)
head_in_aahead_out_aa
U10_aaaa(head_out_aa) → U11_aaaa(head_in_aa)
U11_aaaa(head_out_aa) → U12_aaaa(head_in_aa)
U12_aaaa(head_out_aa) → U13_aaaa(head_in_ag([]))
head_in_ag(X2) → head_out_ag(X2)
U13_aaaa(head_out_ag([])) → U14_aaaa(tail_in_aa)
tail_in_aatail_out_aa
U14_aaaa(tail_out_aa) → U15_aaaa(tail_in_aa)
U15_aaaa(tail_out_aa) → U16_aaaa(tail_in_aa)
U16_aaaa(tail_out_aa) → U17_aaaa(head_in_aa)
U17_aaaa(head_out_aa) → U18_aaaa(tail_in_aa)
U18_aaaa(tail_out_aa) → U19_aaaa(tail_in_aa)
U19_aaaa(tail_out_aa) → U20_aaaa(row2col_in_aaaa)
U20_aaaa(row2col_out_aaaa) → row2col_out_aaaa
eq_in_ag(X) → eq_out_ag(X, X)
U7_aaaa(eq_out_ag(X, [])) → U8_aaaa(eq_in_ag([]))
U8_aaaa(eq_out_ag(Y, [])) → U9_aaaa(eq_in_ag([]))
U9_aaaa(eq_out_ag(Z, [])) → row2col_out_aaaa

The set Q consists of the following terms:

row2col_in_aaaa
U7_aaaa(x0)
U10_aaaa(x0)
eq_in_ag(x0)
U8_aaaa(x0)
head_in_aa
U11_aaaa(x0)
U9_aaaa(x0)
U12_aaaa(x0)
U13_aaaa(x0)
head_in_ag(x0)
U14_aaaa(x0)
tail_in_aa
U15_aaaa(x0)
U16_aaaa(x0)
U17_aaaa(x0)
U18_aaaa(x0)
U19_aaaa(x0)
U20_aaaa(x0)

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

(171) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule U4_GAA([], tail_out_ga([], [])) → U5_GAA([], [], U8_aaaa(eq_out_ag([], []))) at position [2] we obtained the following new rules [LPAR04]:

U4_GAA([], tail_out_ga([], [])) → U5_GAA([], [], U9_aaaa(eq_in_ag([])))

(172) Obligation:

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

TRANSPOSE_AUX_IN_GAA([]) → U3_GAA([], head_out_ga([]))
U3_GAA([], head_out_ga([])) → U4_GAA([], tail_out_ga([], []))
U5_GAA([], [], row2col_out_aaaa) → TRANSPOSE_AUX_IN_GAA([])
U4_GAA([], tail_out_ga([], [])) → U5_GAA([], [], U10_aaaa(head_out_aa))
U4_GAA([], tail_out_ga([], [])) → U5_GAA([], [], U9_aaaa(eq_in_ag([])))

The TRS R consists of the following rules:

row2col_in_aaaaU7_aaaa(eq_in_ag([]))
row2col_in_aaaaU10_aaaa(head_in_aa)
head_in_aahead_out_aa
U10_aaaa(head_out_aa) → U11_aaaa(head_in_aa)
U11_aaaa(head_out_aa) → U12_aaaa(head_in_aa)
U12_aaaa(head_out_aa) → U13_aaaa(head_in_ag([]))
head_in_ag(X2) → head_out_ag(X2)
U13_aaaa(head_out_ag([])) → U14_aaaa(tail_in_aa)
tail_in_aatail_out_aa
U14_aaaa(tail_out_aa) → U15_aaaa(tail_in_aa)
U15_aaaa(tail_out_aa) → U16_aaaa(tail_in_aa)
U16_aaaa(tail_out_aa) → U17_aaaa(head_in_aa)
U17_aaaa(head_out_aa) → U18_aaaa(tail_in_aa)
U18_aaaa(tail_out_aa) → U19_aaaa(tail_in_aa)
U19_aaaa(tail_out_aa) → U20_aaaa(row2col_in_aaaa)
U20_aaaa(row2col_out_aaaa) → row2col_out_aaaa
eq_in_ag(X) → eq_out_ag(X, X)
U7_aaaa(eq_out_ag(X, [])) → U8_aaaa(eq_in_ag([]))
U8_aaaa(eq_out_ag(Y, [])) → U9_aaaa(eq_in_ag([]))
U9_aaaa(eq_out_ag(Z, [])) → row2col_out_aaaa

The set Q consists of the following terms:

row2col_in_aaaa
U7_aaaa(x0)
U10_aaaa(x0)
eq_in_ag(x0)
U8_aaaa(x0)
head_in_aa
U11_aaaa(x0)
U9_aaaa(x0)
U12_aaaa(x0)
U13_aaaa(x0)
head_in_ag(x0)
U14_aaaa(x0)
tail_in_aa
U15_aaaa(x0)
U16_aaaa(x0)
U17_aaaa(x0)
U18_aaaa(x0)
U19_aaaa(x0)
U20_aaaa(x0)

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

(173) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule U4_GAA([], tail_out_ga([], [])) → U5_GAA([], [], U9_aaaa(eq_in_ag([]))) at position [2,0] we obtained the following new rules [LPAR04]:

U4_GAA([], tail_out_ga([], [])) → U5_GAA([], [], U9_aaaa(eq_out_ag([], [])))

(174) Obligation:

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

TRANSPOSE_AUX_IN_GAA([]) → U3_GAA([], head_out_ga([]))
U3_GAA([], head_out_ga([])) → U4_GAA([], tail_out_ga([], []))
U5_GAA([], [], row2col_out_aaaa) → TRANSPOSE_AUX_IN_GAA([])
U4_GAA([], tail_out_ga([], [])) → U5_GAA([], [], U10_aaaa(head_out_aa))
U4_GAA([], tail_out_ga([], [])) → U5_GAA([], [], U9_aaaa(eq_out_ag([], [])))

The TRS R consists of the following rules:

row2col_in_aaaaU7_aaaa(eq_in_ag([]))
row2col_in_aaaaU10_aaaa(head_in_aa)
head_in_aahead_out_aa
U10_aaaa(head_out_aa) → U11_aaaa(head_in_aa)
U11_aaaa(head_out_aa) → U12_aaaa(head_in_aa)
U12_aaaa(head_out_aa) → U13_aaaa(head_in_ag([]))
head_in_ag(X2) → head_out_ag(X2)
U13_aaaa(head_out_ag([])) → U14_aaaa(tail_in_aa)
tail_in_aatail_out_aa
U14_aaaa(tail_out_aa) → U15_aaaa(tail_in_aa)
U15_aaaa(tail_out_aa) → U16_aaaa(tail_in_aa)
U16_aaaa(tail_out_aa) → U17_aaaa(head_in_aa)
U17_aaaa(head_out_aa) → U18_aaaa(tail_in_aa)
U18_aaaa(tail_out_aa) → U19_aaaa(tail_in_aa)
U19_aaaa(tail_out_aa) → U20_aaaa(row2col_in_aaaa)
U20_aaaa(row2col_out_aaaa) → row2col_out_aaaa
eq_in_ag(X) → eq_out_ag(X, X)
U7_aaaa(eq_out_ag(X, [])) → U8_aaaa(eq_in_ag([]))
U8_aaaa(eq_out_ag(Y, [])) → U9_aaaa(eq_in_ag([]))
U9_aaaa(eq_out_ag(Z, [])) → row2col_out_aaaa

The set Q consists of the following terms:

row2col_in_aaaa
U7_aaaa(x0)
U10_aaaa(x0)
eq_in_ag(x0)
U8_aaaa(x0)
head_in_aa
U11_aaaa(x0)
U9_aaaa(x0)
U12_aaaa(x0)
U13_aaaa(x0)
head_in_ag(x0)
U14_aaaa(x0)
tail_in_aa
U15_aaaa(x0)
U16_aaaa(x0)
U17_aaaa(x0)
U18_aaaa(x0)
U19_aaaa(x0)
U20_aaaa(x0)

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

(175) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule U4_GAA([], tail_out_ga([], [])) → U5_GAA([], [], U9_aaaa(eq_out_ag([], []))) at position [2] we obtained the following new rules [LPAR04]:

U4_GAA([], tail_out_ga([], [])) → U5_GAA([], [], row2col_out_aaaa)

(176) Obligation:

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

TRANSPOSE_AUX_IN_GAA([]) → U3_GAA([], head_out_ga([]))
U3_GAA([], head_out_ga([])) → U4_GAA([], tail_out_ga([], []))
U5_GAA([], [], row2col_out_aaaa) → TRANSPOSE_AUX_IN_GAA([])
U4_GAA([], tail_out_ga([], [])) → U5_GAA([], [], U10_aaaa(head_out_aa))
U4_GAA([], tail_out_ga([], [])) → U5_GAA([], [], row2col_out_aaaa)

The TRS R consists of the following rules:

row2col_in_aaaaU7_aaaa(eq_in_ag([]))
row2col_in_aaaaU10_aaaa(head_in_aa)
head_in_aahead_out_aa
U10_aaaa(head_out_aa) → U11_aaaa(head_in_aa)
U11_aaaa(head_out_aa) → U12_aaaa(head_in_aa)
U12_aaaa(head_out_aa) → U13_aaaa(head_in_ag([]))
head_in_ag(X2) → head_out_ag(X2)
U13_aaaa(head_out_ag([])) → U14_aaaa(tail_in_aa)
tail_in_aatail_out_aa
U14_aaaa(tail_out_aa) → U15_aaaa(tail_in_aa)
U15_aaaa(tail_out_aa) → U16_aaaa(tail_in_aa)
U16_aaaa(tail_out_aa) → U17_aaaa(head_in_aa)
U17_aaaa(head_out_aa) → U18_aaaa(tail_in_aa)
U18_aaaa(tail_out_aa) → U19_aaaa(tail_in_aa)
U19_aaaa(tail_out_aa) → U20_aaaa(row2col_in_aaaa)
U20_aaaa(row2col_out_aaaa) → row2col_out_aaaa
eq_in_ag(X) → eq_out_ag(X, X)
U7_aaaa(eq_out_ag(X, [])) → U8_aaaa(eq_in_ag([]))
U8_aaaa(eq_out_ag(Y, [])) → U9_aaaa(eq_in_ag([]))
U9_aaaa(eq_out_ag(Z, [])) → row2col_out_aaaa

The set Q consists of the following terms:

row2col_in_aaaa
U7_aaaa(x0)
U10_aaaa(x0)
eq_in_ag(x0)
U8_aaaa(x0)
head_in_aa
U11_aaaa(x0)
U9_aaaa(x0)
U12_aaaa(x0)
U13_aaaa(x0)
head_in_ag(x0)
U14_aaaa(x0)
tail_in_aa
U15_aaaa(x0)
U16_aaaa(x0)
U17_aaaa(x0)
U18_aaaa(x0)
U19_aaaa(x0)
U20_aaaa(x0)

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

(177) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


U3_GAA(.(x0, x1), head_out_ga(.(x0, x1))) → U4_GAA(.(x0, x1), tail_out_ga(.(x0, x1), x1))
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:

POL(.(x1, x2)) = 1 + x2   
POL(TRANSPOSE_AUX_IN_GAA(x1)) = x1   
POL(U10_aaaa(x1)) = 0   
POL(U11_aaaa(x1)) = 0   
POL(U12_aaaa(x1)) = 0   
POL(U13_aaaa(x1)) = 0   
POL(U14_aaaa(x1)) = 0   
POL(U15_aaaa(x1)) = 0   
POL(U16_aaaa(x1)) = 0   
POL(U17_aaaa(x1)) = 0   
POL(U18_aaaa(x1)) = 0   
POL(U19_aaaa(x1)) = 0   
POL(U20_aaaa(x1)) = 0   
POL(U3_GAA(x1, x2)) = x2   
POL(U4_GAA(x1, x2)) = x2   
POL(U5_GAA(x1, x2, x3)) = x2   
POL(U7_aaaa(x1)) = 0   
POL(U8_aaaa(x1)) = 0   
POL(U9_aaaa(x1)) = 0   
POL([]) = 0   
POL(eq_in_ag(x1)) = 0   
POL(eq_out_ag(x1, x2)) = 0   
POL(head_in_aa) = 0   
POL(head_in_ag(x1)) = 1   
POL(head_out_aa) = 0   
POL(head_out_ag(x1)) = 1   
POL(head_out_ga(x1)) = x1   
POL(row2col_in_aaaa) = 0   
POL(row2col_out_aaaa) = 0   
POL(tail_in_aa) = 0   
POL(tail_out_aa) = 0   
POL(tail_out_ga(x1, x2)) = x2   

The following usable rules [FROCOS05] were oriented: none

(178) Obligation:

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

U4_GAA(R, tail_out_ga(R, Rt)) → U5_GAA(R, Rt, row2col_in_aaaa)
U5_GAA(R, Rt, row2col_out_aaaa) → TRANSPOSE_AUX_IN_GAA(Rt)
TRANSPOSE_AUX_IN_GAA([]) → U3_GAA([], head_out_ga([]))
TRANSPOSE_AUX_IN_GAA(.(x0, x1)) → U3_GAA(.(x0, x1), head_out_ga(.(x0, x1)))
U3_GAA([], head_out_ga([])) → U4_GAA([], tail_out_ga([], []))

The TRS R consists of the following rules:

row2col_in_aaaaU7_aaaa(eq_in_ag([]))
row2col_in_aaaaU10_aaaa(head_in_aa)
head_in_aahead_out_aa
U10_aaaa(head_out_aa) → U11_aaaa(head_in_aa)
U11_aaaa(head_out_aa) → U12_aaaa(head_in_aa)
U12_aaaa(head_out_aa) → U13_aaaa(head_in_ag([]))
head_in_ag(X2) → head_out_ag(X2)
U13_aaaa(head_out_ag([])) → U14_aaaa(tail_in_aa)
tail_in_aatail_out_aa
U14_aaaa(tail_out_aa) → U15_aaaa(tail_in_aa)
U15_aaaa(tail_out_aa) → U16_aaaa(tail_in_aa)
U16_aaaa(tail_out_aa) → U17_aaaa(head_in_aa)
U17_aaaa(head_out_aa) → U18_aaaa(tail_in_aa)
U18_aaaa(tail_out_aa) → U19_aaaa(tail_in_aa)
U19_aaaa(tail_out_aa) → U20_aaaa(row2col_in_aaaa)
U20_aaaa(row2col_out_aaaa) → row2col_out_aaaa
eq_in_ag(X) → eq_out_ag(X, X)
U7_aaaa(eq_out_ag(X, [])) → U8_aaaa(eq_in_ag([]))
U8_aaaa(eq_out_ag(Y, [])) → U9_aaaa(eq_in_ag([]))
U9_aaaa(eq_out_ag(Z, [])) → row2col_out_aaaa

The set Q consists of the following terms:

row2col_in_aaaa
U7_aaaa(x0)
U10_aaaa(x0)
eq_in_ag(x0)
U8_aaaa(x0)
head_in_aa
U11_aaaa(x0)
U9_aaaa(x0)
U12_aaaa(x0)
U13_aaaa(x0)
head_in_ag(x0)
U14_aaaa(x0)
tail_in_aa
U15_aaaa(x0)
U16_aaaa(x0)
U17_aaaa(x0)
U18_aaaa(x0)
U19_aaaa(x0)
U20_aaaa(x0)

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