(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_AAAA → U10_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_aa → head_out_aa
head_in_ag(X2) → head_out_ag
tail_in_aa → tail_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_AAAA →
U10_AAAA(
head_in_aa) at position [0] we obtained the following new rules [LPAR04]:
ROW2COL_IN_AAAA → U10_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_AAAA → U10_AAAA(head_out_aa)
The TRS R consists of the following rules:
head_in_aa → head_out_aa
head_in_ag(X2) → head_out_ag
tail_in_aa → tail_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_AAAA → U10_AAAA(head_out_aa)
U10_AAAA(head_out_aa) → U11_AAAA(head_out_aa)
The TRS R consists of the following rules:
head_in_aa → head_out_aa
head_in_ag(X2) → head_out_ag
tail_in_aa → tail_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_AAAA → U10_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_aa → head_out_aa
head_in_ag(X2) → head_out_ag
tail_in_aa → tail_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_AAAA → U10_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_aa → head_out_aa
head_in_ag(X2) → head_out_ag
tail_in_aa → tail_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_AAAA → U10_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_aa → tail_out_aa
head_in_aa → head_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_AAAA → U10_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_aa → tail_out_aa
head_in_aa → head_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_AAAA → U10_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_aa → tail_out_aa
head_in_aa → head_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_AAAA → U10_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_aa → tail_out_aa
head_in_aa → head_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_AAAA → U10_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_aa → tail_out_aa
head_in_aa → head_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_AAAA → U10_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_aa → tail_out_aa
head_in_aa → head_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_AAAA → U10_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_aa → tail_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_AAAA → U10_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_aa → tail_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_AAAA → U10_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_aa → tail_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_AAAA → U10_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_aa → tail_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_AAAA → U10_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_AAAA → U10_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_AAAAThus s starts an infinite chain as s semiunifies with t with the following substitutions:
- Matcher: [ ]
- Semiunifier: [ ]
Rewriting sequenceROW2COL_IN_AAAA →
U10_AAAA(
head_out_aa)
with rule
ROW2COL_IN_AAAA →
U10_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_AAAAwith rule
U19_AAAA(
tail_out_aa) →
ROW2COL_IN_AAAANow 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_aaaa → U7_aaaa(eq_in_ag([]))
row2col_in_aaaa → U10_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_aa → head_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_aa → tail_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_aaaa → U7_aaaa(eq_in_ag([]))
row2col_in_aaaa → U10_aaaa(head_in_aa)
head_in_aa → head_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_aa → tail_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_aaaa → U7_aaaa(eq_in_ag([]))
row2col_in_aaaa → U10_aaaa(head_in_aa)
head_in_aa → head_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_aa → tail_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_aaaa → U7_aaaa(eq_in_ag([]))
row2col_in_aaaa → U10_aaaa(head_in_aa)
head_in_aa → head_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_aa → tail_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_aaaa → U7_aaaa(eq_in_ag([]))
row2col_in_aaaa → U10_aaaa(head_in_aa)
head_in_aa → head_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_aa → tail_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_aaaa → U7_aaaa(eq_in_ag([]))
row2col_in_aaaa → U10_aaaa(head_in_aa)
head_in_aa → head_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_aa → tail_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_aaaa → U7_aaaa(eq_in_ag([]))
row2col_in_aaaa → U10_aaaa(head_in_aa)
head_in_aa → head_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_aa → tail_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_aaaa → U7_aaaa(eq_in_ag([]))
row2col_in_aaaa → U10_aaaa(head_in_aa)
head_in_aa → head_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_aa → tail_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_aaaa → U7_aaaa(eq_in_ag([]))
row2col_in_aaaa → U10_aaaa(head_in_aa)
head_in_aa → head_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_aa → tail_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_aaaa → U7_aaaa(eq_in_ag([]))
row2col_in_aaaa → U10_aaaa(head_in_aa)
head_in_aa → head_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_aa → tail_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_aaaa → U7_aaaa(eq_in_ag([]))
row2col_in_aaaa → U10_aaaa(head_in_aa)
head_in_aa → head_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_aa → tail_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_aaaa → U7_aaaa(eq_in_ag([]))
row2col_in_aaaa → U10_aaaa(head_in_aa)
head_in_aa → head_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_aa → tail_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_aaaa → U7_aaaa(eq_in_ag([]))
row2col_in_aaaa → U10_aaaa(head_in_aa)
head_in_aa → head_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_aa → tail_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_aaaa → U7_aaaa(eq_in_ag([]))
row2col_in_aaaa → U10_aaaa(head_in_aa)
head_in_aa → head_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_aa → tail_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_aaaa → U7_aaaa(eq_in_ag([]))
row2col_in_aaaa → U10_aaaa(head_in_aa)
head_in_aa → head_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_aa → tail_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_aaaa → U7_aaaa(eq_in_ag([]))
row2col_in_aaaa → U10_aaaa(head_in_aa)
head_in_aa → head_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_aa → tail_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_aaaa → U7_aaaa(eq_in_ag([]))
row2col_in_aaaa → U10_aaaa(head_in_aa)
head_in_aa → head_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_aa → tail_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_aaaa → U7_aaaa(eq_in_ag([]))
row2col_in_aaaa → U10_aaaa(head_in_aa)
head_in_aa → head_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_aa → tail_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 sequenceU3_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_AAAA → U10_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_aa → head_out_aa
head_in_ag(X2) → head_out_ag(X2)
tail_in_aa → tail_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_AAAA →
U10_AAAA(
head_in_aa) at position [0] we obtained the following new rules [LPAR04]:
ROW2COL_IN_AAAA → U10_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_AAAA → U10_AAAA(head_out_aa)
The TRS R consists of the following rules:
head_in_aa → head_out_aa
head_in_ag(X2) → head_out_ag(X2)
tail_in_aa → tail_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_AAAA → U10_AAAA(head_out_aa)
U10_AAAA(head_out_aa) → U11_AAAA(head_out_aa)
The TRS R consists of the following rules:
head_in_aa → head_out_aa
head_in_ag(X2) → head_out_ag(X2)
tail_in_aa → tail_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_AAAA → U10_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_aa → head_out_aa
head_in_ag(X2) → head_out_ag(X2)
tail_in_aa → tail_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_AAAA → U10_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_aa → head_out_aa
head_in_ag(X2) → head_out_ag(X2)
tail_in_aa → tail_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_AAAA → U10_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_aa → tail_out_aa
head_in_aa → head_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_AAAA → U10_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_aa → tail_out_aa
head_in_aa → head_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_AAAA → U10_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_aa → tail_out_aa
head_in_aa → head_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_AAAA → U10_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_aa → tail_out_aa
head_in_aa → head_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_AAAA → U10_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_aa → tail_out_aa
head_in_aa → head_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_AAAA → U10_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_aa → tail_out_aa
head_in_aa → head_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_AAAA → U10_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_aa → tail_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_AAAA → U10_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_aa → tail_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_AAAA → U10_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_aa → tail_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_AAAA → U10_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_aa → tail_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_AAAA → U10_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_AAAA → U10_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_AAAAThus s starts an infinite chain as s semiunifies with t with the following substitutions:
- Semiunifier: [ ]
- Matcher: [ ]
Rewriting sequenceROW2COL_IN_AAAA →
U10_AAAA(
head_out_aa)
with rule
ROW2COL_IN_AAAA →
U10_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_AAAAwith rule
U19_AAAA(
tail_out_aa) →
ROW2COL_IN_AAAANow 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_aaaa → U7_aaaa(eq_in_ag([]))
row2col_in_aaaa → U10_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_aa → head_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_aa → tail_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_aaaa → U7_aaaa(eq_in_ag([]))
row2col_in_aaaa → U10_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_aa → head_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_aa → tail_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_aaaa → U7_aaaa(eq_in_ag([]))
row2col_in_aaaa → U10_aaaa(head_in_aa)
head_in_aa → head_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_aa → tail_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_aaaa → U7_aaaa(eq_in_ag([]))
row2col_in_aaaa → U10_aaaa(head_in_aa)
head_in_aa → head_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_aa → tail_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_aaaa → U7_aaaa(eq_in_ag([]))
row2col_in_aaaa → U10_aaaa(head_in_aa)
head_in_aa → head_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_aa → tail_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_aaaa → U7_aaaa(eq_in_ag([]))
row2col_in_aaaa → U10_aaaa(head_in_aa)
head_in_aa → head_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_aa → tail_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_aaaa → U7_aaaa(eq_in_ag([]))
row2col_in_aaaa → U10_aaaa(head_in_aa)
head_in_aa → head_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_aa → tail_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 | + | | · | x1 | + | | · | x2 |
POL(tail_out_ga(x1, x2)) = | | + | | · | x1 | + | | · | x2 |
POL(U5_GAA(x1, x2, x3)) = | 0 | + | | · | x1 | + | | · | x2 | + | | · | x3 |
POL(TRANSPOSE_AUX_IN_GAA(x1)) = | 0 | + | | · | x1 |
POL(U3_GAA(x1, x2)) = | 0 | + | | · | x1 | + | | · | x2 |
POL(head_out_ga(x1)) = | | + | | · | x1 |
POL(.(x1, x2)) = | | + | | · | x1 | + | | · | x2 |
POL(eq_in_ag(x1)) = | | + | | · | x1 |
POL(U10_aaaa(x1)) = | | + | | · | x1 |
POL(U11_aaaa(x1)) = | | + | | · | x1 |
POL(U12_aaaa(x1)) = | | + | | · | x1 |
POL(U13_aaaa(x1)) = | | + | | · | x1 |
POL(head_in_ag(x1)) = | | + | | · | x1 |
POL(head_out_ag(x1)) = | | + | | · | x1 |
POL(U14_aaaa(x1)) = | | + | | · | x1 |
POL(U15_aaaa(x1)) = | | + | | · | x1 |
POL(U16_aaaa(x1)) = | | + | | · | x1 |
POL(U17_aaaa(x1)) = | | + | | · | x1 |
POL(U18_aaaa(x1)) = | | + | | · | x1 |
POL(U19_aaaa(x1)) = | | + | | · | x1 |
POL(U20_aaaa(x1)) = | | + | | · | x1 |
POL(eq_out_ag(x1, x2)) = | | + | | · | x1 | + | | · | x2 |
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_aaaa → U7_aaaa(eq_in_ag([]))
row2col_in_aaaa → U10_aaaa(head_in_aa)
head_in_aa → head_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_aa → tail_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_aaaa → U7_aaaa(eq_in_ag([]))
row2col_in_aaaa → U10_aaaa(head_in_aa)
head_in_aa → head_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_aa → tail_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_aaaa → U7_aaaa(eq_in_ag([]))
row2col_in_aaaa → U10_aaaa(head_in_aa)
head_in_aa → head_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_aa → tail_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_aaaa → U7_aaaa(eq_in_ag([]))
row2col_in_aaaa → U10_aaaa(head_in_aa)
head_in_aa → head_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_aa → tail_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_aaaa → U7_aaaa(eq_in_ag([]))
row2col_in_aaaa → U10_aaaa(head_in_aa)
head_in_aa → head_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_aa → tail_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_aaaa → U7_aaaa(eq_in_ag([]))
row2col_in_aaaa → U10_aaaa(head_in_aa)
head_in_aa → head_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_aa → tail_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_aaaa → U7_aaaa(eq_in_ag([]))
row2col_in_aaaa → U10_aaaa(head_in_aa)
head_in_aa → head_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_aa → tail_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_aaaa → U7_aaaa(eq_in_ag([]))
row2col_in_aaaa → U10_aaaa(head_in_aa)
head_in_aa → head_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_aa → tail_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_aaaa → U7_aaaa(eq_in_ag([]))
row2col_in_aaaa → U10_aaaa(head_in_aa)
head_in_aa → head_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_aa → tail_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_aaaa → U7_aaaa(eq_in_ag([]))
row2col_in_aaaa → U10_aaaa(head_in_aa)
head_in_aa → head_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_aa → tail_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_aaaa → U7_aaaa(eq_in_ag([]))
row2col_in_aaaa → U10_aaaa(head_in_aa)
head_in_aa → head_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_aa → tail_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_aaaa → U7_aaaa(eq_in_ag([]))
row2col_in_aaaa → U10_aaaa(head_in_aa)
head_in_aa → head_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_aa → tail_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_aaaa → U7_aaaa(eq_in_ag([]))
row2col_in_aaaa → U10_aaaa(head_in_aa)
head_in_aa → head_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_aa → tail_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_aaaa → U7_aaaa(eq_in_ag([]))
row2col_in_aaaa → U10_aaaa(head_in_aa)
head_in_aa → head_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_aa → tail_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.