(0) Obligation:

Clauses:

shapes(Matrix, N) :- ','(varmat(Matrix, MatrixWithVars), unif_matrx(MatrixWithVars)).
varmat([], []).
varmat(.(L, Ls), .(VL, VLs)) :- ','(varmat(L, VL), varmat(Ls, VLs)).
varmat(.(black, Xs), .(black, VXs)) :- varmat(Xs, VXs).
varmat(.(white, Xs), .(w(X1), VXs)) :- varmat(Xs, VXs).
unif_matrx(.(L1, .(L2, Ls))) :- ','(unif_lines(L1, L2), unif_matrx(.(L2, Ls))).
unif_matrx(.(X2, [])).
unif_lines(.(W, .(X, L1s)), .(Y, .(Z, L2s))) :- ','(unif_pairs(.(W, .(X, .(Y, .(Z, .(W, .(Y, .(X, .(Z, .(W, .(Z, .(X, .(Y, []))))))))))))), unif_lines(.(X, L1s), .(Z, L2s))).
unif_lines(.(X3, []), .(X4, [])).
unif_pairs([]).
unif_pairs(.(A, .(B, Pairs))) :- ','(unif(A, B), unif_pairs(Pairs)).
unif(w(A), w(A)).
unif(black, black).
unif(black, w(X5)).
unif(w(X6), black).

Queries:

shapes(g,a).

(1) PrologToPrologProblemTransformerProof (SOUND transformation)

Built Prolog problem from termination graph.

(2) Obligation:

Clauses:

varmat16([], []).
varmat16(.(T26, T27), .(X83, X84)) :- varmat16(T26, X83).
varmat16(.(T26, T27), .(T28, X84)) :- ','(varmat16(T26, T28), varmat16(T27, X84)).
varmat16(.(black, T33), .(black, X103)) :- varmat16(T33, X103).
varmat16(.(white, T36), .(w(X119), X120)) :- varmat16(T36, X120).
unif_matrx37(T56, .(T57, T58)) :- unif_lines43(T56, T57).
unif_matrx37(T56, .(T65, T66)) :- ','(unif_lines43(T56, T65), unif_matrx37(T65, T66)).
unif_matrx37(T199, []).
unif_lines43(.(T103, .(T104, T107)), .(T105, .(T106, T108))) :- p50(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108).
unif_lines43(.(T192, []), .(T193, [])).
unif_pairs60([]).
unif_pairs60(.(w(T158), .(w(T158), T159))) :- unif_pairs60(T159).
unif_pairs60(.(black, .(black, T160))) :- unif_pairs60(T160).
unif_pairs60(.(black, .(w(T165), T166))) :- unif_pairs60(T166).
unif_pairs60(.(w(T169), .(black, T170))) :- unif_pairs60(T170).
p17(T16, X50, T17) :- varmat16(T16, X50).
p17(T16, T37, T17) :- ','(varmat16(T16, T37), unif_matrx37(T17, T37)).
p50(T103, T113, T104, T107, T106, T108) :- unif_pairs51(T103, T113).
p50(T103, T113, T117, T118, T119, T120) :- ','(unif_pairs51(T103, T113), unif_lines43(.(T117, T118), .(T119, T120))).
unif_pairs51(w(T140), .(w(T140), T141)) :- unif_pairs60(T141).
unif_pairs51(black, .(black, T171)) :- unif_pairs60(T171).
unif_pairs51(black, .(w(T176), T177)) :- unif_pairs60(T177).
unif_pairs51(w(T180), .(black, T181)) :- unif_pairs60(T181).
shapes1(.(T15, T16), T6) :- varmat16(T15, X49).
shapes1(.(T15, T16), T6) :- ','(varmat16(T15, T17), p17(T16, X50, T17)).
shapes1(.(black, T204), T6) :- p17(T204, X293, black).
shapes1(.(white, T207), T6) :- p17(T207, X310, w(X309)).

Queries:

shapes1(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:
shapes1_in: (b,f)
varmat16_in: (b,f)
p17_in: (b,f,f) (b,f,b)
unif_matrx37_in: (f,f) (b,f)
unif_lines43_in: (f,f) (b,f)
p50_in: (f,f,f,f,f,f) (b,f,b,b,f,f)
unif_pairs51_in: (f,f) (b,f)
unif_pairs60_in: (f)
Transforming Prolog into the following Term Rewriting System:
Pi-finite rewrite system:
The TRS R consists of the following rules:

shapes1_in_ga(.(T15, T16), T6) → U24_ga(T15, T16, T6, varmat16_in_ga(T15, X49))
varmat16_in_ga([], []) → varmat16_out_ga([], [])
varmat16_in_ga(.(T26, T27), .(X83, X84)) → U1_ga(T26, T27, X83, X84, varmat16_in_ga(T26, X83))
varmat16_in_ga(.(T26, T27), .(T28, X84)) → U2_ga(T26, T27, T28, X84, varmat16_in_ga(T26, T28))
varmat16_in_ga(.(black, T33), .(black, X103)) → U4_ga(T33, X103, varmat16_in_ga(T33, X103))
varmat16_in_ga(.(white, T36), .(w(X119), X120)) → U5_ga(T36, X119, X120, varmat16_in_ga(T36, X120))
U5_ga(T36, X119, X120, varmat16_out_ga(T36, X120)) → varmat16_out_ga(.(white, T36), .(w(X119), X120))
U4_ga(T33, X103, varmat16_out_ga(T33, X103)) → varmat16_out_ga(.(black, T33), .(black, X103))
U2_ga(T26, T27, T28, X84, varmat16_out_ga(T26, T28)) → U3_ga(T26, T27, T28, X84, varmat16_in_ga(T27, X84))
U3_ga(T26, T27, T28, X84, varmat16_out_ga(T27, X84)) → varmat16_out_ga(.(T26, T27), .(T28, X84))
U1_ga(T26, T27, X83, X84, varmat16_out_ga(T26, X83)) → varmat16_out_ga(.(T26, T27), .(X83, X84))
U24_ga(T15, T16, T6, varmat16_out_ga(T15, X49)) → shapes1_out_ga(.(T15, T16), T6)
shapes1_in_ga(.(T15, T16), T6) → U25_ga(T15, T16, T6, varmat16_in_ga(T15, T17))
U25_ga(T15, T16, T6, varmat16_out_ga(T15, T17)) → U26_ga(T15, T16, T6, p17_in_gaa(T16, X50, T17))
p17_in_gaa(T16, X50, T17) → U14_gaa(T16, X50, T17, varmat16_in_ga(T16, X50))
U14_gaa(T16, X50, T17, varmat16_out_ga(T16, X50)) → p17_out_gaa(T16, X50, T17)
p17_in_gaa(T16, T37, T17) → U15_gaa(T16, T37, T17, varmat16_in_ga(T16, T37))
U15_gaa(T16, T37, T17, varmat16_out_ga(T16, T37)) → U16_gaa(T16, T37, T17, unif_matrx37_in_aa(T17, T37))
unif_matrx37_in_aa(T56, .(T57, T58)) → U6_aa(T56, T57, T58, unif_lines43_in_aa(T56, T57))
unif_lines43_in_aa(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_aa(T103, T104, T107, T105, T106, T108, p50_in_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
p50_in_aaaaaa(T103, T113, T104, T107, T106, T108) → U17_aaaaaa(T103, T113, T104, T107, T106, T108, unif_pairs51_in_aa(T103, T113))
unif_pairs51_in_aa(w(T140), .(w(T140), T141)) → U20_aa(T140, T141, unif_pairs60_in_a(T141))
unif_pairs60_in_a([]) → unif_pairs60_out_a([])
unif_pairs60_in_a(.(w(T158), .(w(T158), T159))) → U10_a(T158, T159, unif_pairs60_in_a(T159))
unif_pairs60_in_a(.(black, .(black, T160))) → U11_a(T160, unif_pairs60_in_a(T160))
unif_pairs60_in_a(.(black, .(w(T165), T166))) → U12_a(T165, T166, unif_pairs60_in_a(T166))
unif_pairs60_in_a(.(w(T169), .(black, T170))) → U13_a(T169, T170, unif_pairs60_in_a(T170))
U13_a(T169, T170, unif_pairs60_out_a(T170)) → unif_pairs60_out_a(.(w(T169), .(black, T170)))
U12_a(T165, T166, unif_pairs60_out_a(T166)) → unif_pairs60_out_a(.(black, .(w(T165), T166)))
U11_a(T160, unif_pairs60_out_a(T160)) → unif_pairs60_out_a(.(black, .(black, T160)))
U10_a(T158, T159, unif_pairs60_out_a(T159)) → unif_pairs60_out_a(.(w(T158), .(w(T158), T159)))
U20_aa(T140, T141, unif_pairs60_out_a(T141)) → unif_pairs51_out_aa(w(T140), .(w(T140), T141))
unif_pairs51_in_aa(black, .(black, T171)) → U21_aa(T171, unif_pairs60_in_a(T171))
U21_aa(T171, unif_pairs60_out_a(T171)) → unif_pairs51_out_aa(black, .(black, T171))
unif_pairs51_in_aa(black, .(w(T176), T177)) → U22_aa(T176, T177, unif_pairs60_in_a(T177))
U22_aa(T176, T177, unif_pairs60_out_a(T177)) → unif_pairs51_out_aa(black, .(w(T176), T177))
unif_pairs51_in_aa(w(T180), .(black, T181)) → U23_aa(T180, T181, unif_pairs60_in_a(T181))
U23_aa(T180, T181, unif_pairs60_out_a(T181)) → unif_pairs51_out_aa(w(T180), .(black, T181))
U17_aaaaaa(T103, T113, T104, T107, T106, T108, unif_pairs51_out_aa(T103, T113)) → p50_out_aaaaaa(T103, T113, T104, T107, T106, T108)
p50_in_aaaaaa(T103, T113, T117, T118, T119, T120) → U18_aaaaaa(T103, T113, T117, T118, T119, T120, unif_pairs51_in_aa(T103, T113))
U18_aaaaaa(T103, T113, T117, T118, T119, T120, unif_pairs51_out_aa(T103, T113)) → U19_aaaaaa(T103, T113, T117, T118, T119, T120, unif_lines43_in_aa(.(T117, T118), .(T119, T120)))
unif_lines43_in_aa(.(T192, []), .(T193, [])) → unif_lines43_out_aa(.(T192, []), .(T193, []))
U19_aaaaaa(T103, T113, T117, T118, T119, T120, unif_lines43_out_aa(.(T117, T118), .(T119, T120))) → p50_out_aaaaaa(T103, T113, T117, T118, T119, T120)
U9_aa(T103, T104, T107, T105, T106, T108, p50_out_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_lines43_out_aa(.(T103, .(T104, T107)), .(T105, .(T106, T108)))
U6_aa(T56, T57, T58, unif_lines43_out_aa(T56, T57)) → unif_matrx37_out_aa(T56, .(T57, T58))
unif_matrx37_in_aa(T56, .(T65, T66)) → U7_aa(T56, T65, T66, unif_lines43_in_aa(T56, T65))
U7_aa(T56, T65, T66, unif_lines43_out_aa(T56, T65)) → U8_aa(T56, T65, T66, unif_matrx37_in_aa(T65, T66))
unif_matrx37_in_aa(T199, []) → unif_matrx37_out_aa(T199, [])
U8_aa(T56, T65, T66, unif_matrx37_out_aa(T65, T66)) → unif_matrx37_out_aa(T56, .(T65, T66))
U16_gaa(T16, T37, T17, unif_matrx37_out_aa(T17, T37)) → p17_out_gaa(T16, T37, T17)
U26_ga(T15, T16, T6, p17_out_gaa(T16, X50, T17)) → shapes1_out_ga(.(T15, T16), T6)
shapes1_in_ga(.(black, T204), T6) → U27_ga(T204, T6, p17_in_gag(T204, X293, black))
p17_in_gag(T16, X50, T17) → U14_gag(T16, X50, T17, varmat16_in_ga(T16, X50))
U14_gag(T16, X50, T17, varmat16_out_ga(T16, X50)) → p17_out_gag(T16, X50, T17)
p17_in_gag(T16, T37, T17) → U15_gag(T16, T37, T17, varmat16_in_ga(T16, T37))
U15_gag(T16, T37, T17, varmat16_out_ga(T16, T37)) → U16_gag(T16, T37, T17, unif_matrx37_in_ga(T17, T37))
unif_matrx37_in_ga(T56, .(T57, T58)) → U6_ga(T56, T57, T58, unif_lines43_in_ga(T56, T57))
unif_lines43_in_ga(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_ga(T103, T104, T107, T105, T106, T108, p50_in_gaggaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
p50_in_gaggaa(T103, T113, T104, T107, T106, T108) → U17_gaggaa(T103, T113, T104, T107, T106, T108, unif_pairs51_in_ga(T103, T113))
unif_pairs51_in_ga(w(T140), .(w(T140), T141)) → U20_ga(T140, T141, unif_pairs60_in_a(T141))
U20_ga(T140, T141, unif_pairs60_out_a(T141)) → unif_pairs51_out_ga(w(T140), .(w(T140), T141))
unif_pairs51_in_ga(black, .(black, T171)) → U21_ga(T171, unif_pairs60_in_a(T171))
U21_ga(T171, unif_pairs60_out_a(T171)) → unif_pairs51_out_ga(black, .(black, T171))
unif_pairs51_in_ga(black, .(w(T176), T177)) → U22_ga(T176, T177, unif_pairs60_in_a(T177))
U22_ga(T176, T177, unif_pairs60_out_a(T177)) → unif_pairs51_out_ga(black, .(w(T176), T177))
unif_pairs51_in_ga(w(T180), .(black, T181)) → U23_ga(T180, T181, unif_pairs60_in_a(T181))
U23_ga(T180, T181, unif_pairs60_out_a(T181)) → unif_pairs51_out_ga(w(T180), .(black, T181))
U17_gaggaa(T103, T113, T104, T107, T106, T108, unif_pairs51_out_ga(T103, T113)) → p50_out_gaggaa(T103, T113, T104, T107, T106, T108)
p50_in_gaggaa(T103, T113, T117, T118, T119, T120) → U18_gaggaa(T103, T113, T117, T118, T119, T120, unif_pairs51_in_ga(T103, T113))
U18_gaggaa(T103, T113, T117, T118, T119, T120, unif_pairs51_out_ga(T103, T113)) → U19_gaggaa(T103, T113, T117, T118, T119, T120, unif_lines43_in_ga(.(T117, T118), .(T119, T120)))
unif_lines43_in_ga(.(T192, []), .(T193, [])) → unif_lines43_out_ga(.(T192, []), .(T193, []))
U19_gaggaa(T103, T113, T117, T118, T119, T120, unif_lines43_out_ga(.(T117, T118), .(T119, T120))) → p50_out_gaggaa(T103, T113, T117, T118, T119, T120)
U9_ga(T103, T104, T107, T105, T106, T108, p50_out_gaggaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_lines43_out_ga(.(T103, .(T104, T107)), .(T105, .(T106, T108)))
U6_ga(T56, T57, T58, unif_lines43_out_ga(T56, T57)) → unif_matrx37_out_ga(T56, .(T57, T58))
unif_matrx37_in_ga(T56, .(T65, T66)) → U7_ga(T56, T65, T66, unif_lines43_in_ga(T56, T65))
U7_ga(T56, T65, T66, unif_lines43_out_ga(T56, T65)) → U8_ga(T56, T65, T66, unif_matrx37_in_aa(T65, T66))
U8_ga(T56, T65, T66, unif_matrx37_out_aa(T65, T66)) → unif_matrx37_out_ga(T56, .(T65, T66))
unif_matrx37_in_ga(T199, []) → unif_matrx37_out_ga(T199, [])
U16_gag(T16, T37, T17, unif_matrx37_out_ga(T17, T37)) → p17_out_gag(T16, T37, T17)
U27_ga(T204, T6, p17_out_gag(T204, X293, black)) → shapes1_out_ga(.(black, T204), T6)
shapes1_in_ga(.(white, T207), T6) → U28_ga(T207, T6, p17_in_gag(T207, X310, w(X309)))
U28_ga(T207, T6, p17_out_gag(T207, X310, w(X309))) → shapes1_out_ga(.(white, T207), T6)

The argument filtering Pi contains the following mapping:
shapes1_in_ga(x1, x2)  =  shapes1_in_ga(x1)
.(x1, x2)  =  .(x1, x2)
U24_ga(x1, x2, x3, x4)  =  U24_ga(x1, x2, x4)
varmat16_in_ga(x1, x2)  =  varmat16_in_ga(x1)
[]  =  []
varmat16_out_ga(x1, x2)  =  varmat16_out_ga(x1)
U1_ga(x1, x2, x3, x4, x5)  =  U1_ga(x1, x2, x5)
U2_ga(x1, x2, x3, x4, x5)  =  U2_ga(x1, x2, x5)
black  =  black
U4_ga(x1, x2, x3)  =  U4_ga(x1, x3)
white  =  white
U5_ga(x1, x2, x3, x4)  =  U5_ga(x1, x4)
w(x1)  =  w
U3_ga(x1, x2, x3, x4, x5)  =  U3_ga(x1, x2, x5)
shapes1_out_ga(x1, x2)  =  shapes1_out_ga(x1)
U25_ga(x1, x2, x3, x4)  =  U25_ga(x1, x2, x4)
U26_ga(x1, x2, x3, x4)  =  U26_ga(x1, x2, x4)
p17_in_gaa(x1, x2, x3)  =  p17_in_gaa(x1)
U14_gaa(x1, x2, x3, x4)  =  U14_gaa(x1, x4)
p17_out_gaa(x1, x2, x3)  =  p17_out_gaa(x1)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x1, x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x1, x4)
unif_matrx37_in_aa(x1, x2)  =  unif_matrx37_in_aa
U6_aa(x1, x2, x3, x4)  =  U6_aa(x4)
unif_lines43_in_aa(x1, x2)  =  unif_lines43_in_aa
U9_aa(x1, x2, x3, x4, x5, x6, x7)  =  U9_aa(x7)
p50_in_aaaaaa(x1, x2, x3, x4, x5, x6)  =  p50_in_aaaaaa
U17_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_aaaaaa(x7)
unif_pairs51_in_aa(x1, x2)  =  unif_pairs51_in_aa
U20_aa(x1, x2, x3)  =  U20_aa(x3)
unif_pairs60_in_a(x1)  =  unif_pairs60_in_a
unif_pairs60_out_a(x1)  =  unif_pairs60_out_a(x1)
U10_a(x1, x2, x3)  =  U10_a(x3)
U11_a(x1, x2)  =  U11_a(x2)
U12_a(x1, x2, x3)  =  U12_a(x3)
U13_a(x1, x2, x3)  =  U13_a(x3)
unif_pairs51_out_aa(x1, x2)  =  unif_pairs51_out_aa(x1, x2)
U21_aa(x1, x2)  =  U21_aa(x2)
U22_aa(x1, x2, x3)  =  U22_aa(x3)
U23_aa(x1, x2, x3)  =  U23_aa(x3)
p50_out_aaaaaa(x1, x2, x3, x4, x5, x6)  =  p50_out_aaaaaa(x1, x2)
U18_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_aaaaaa(x7)
U19_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U19_aaaaaa(x1, x2, x7)
unif_lines43_out_aa(x1, x2)  =  unif_lines43_out_aa
unif_matrx37_out_aa(x1, x2)  =  unif_matrx37_out_aa
U7_aa(x1, x2, x3, x4)  =  U7_aa(x4)
U8_aa(x1, x2, x3, x4)  =  U8_aa(x4)
U27_ga(x1, x2, x3)  =  U27_ga(x1, x3)
p17_in_gag(x1, x2, x3)  =  p17_in_gag(x1, x3)
U14_gag(x1, x2, x3, x4)  =  U14_gag(x1, x3, x4)
p17_out_gag(x1, x2, x3)  =  p17_out_gag(x1, x3)
U15_gag(x1, x2, x3, x4)  =  U15_gag(x1, x3, x4)
U16_gag(x1, x2, x3, x4)  =  U16_gag(x1, x3, x4)
unif_matrx37_in_ga(x1, x2)  =  unif_matrx37_in_ga(x1)
U6_ga(x1, x2, x3, x4)  =  U6_ga(x1, x4)
unif_lines43_in_ga(x1, x2)  =  unif_lines43_in_ga(x1)
U9_ga(x1, x2, x3, x4, x5, x6, x7)  =  U9_ga(x1, x2, x3, x7)
p50_in_gaggaa(x1, x2, x3, x4, x5, x6)  =  p50_in_gaggaa(x1, x3, x4)
U17_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_gaggaa(x1, x3, x4, x7)
unif_pairs51_in_ga(x1, x2)  =  unif_pairs51_in_ga(x1)
U20_ga(x1, x2, x3)  =  U20_ga(x3)
unif_pairs51_out_ga(x1, x2)  =  unif_pairs51_out_ga(x1, x2)
U21_ga(x1, x2)  =  U21_ga(x2)
U22_ga(x1, x2, x3)  =  U22_ga(x3)
U23_ga(x1, x2, x3)  =  U23_ga(x3)
p50_out_gaggaa(x1, x2, x3, x4, x5, x6)  =  p50_out_gaggaa(x1, x2, x3, x4)
U18_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_gaggaa(x1, x3, x4, x7)
U19_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U19_gaggaa(x1, x2, x3, x4, x7)
unif_lines43_out_ga(x1, x2)  =  unif_lines43_out_ga(x1)
unif_matrx37_out_ga(x1, x2)  =  unif_matrx37_out_ga(x1)
U7_ga(x1, x2, x3, x4)  =  U7_ga(x1, x4)
U8_ga(x1, x2, x3, x4)  =  U8_ga(x1, x4)
U28_ga(x1, x2, x3)  =  U28_ga(x1, x3)

Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog

(4) Obligation:

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

shapes1_in_ga(.(T15, T16), T6) → U24_ga(T15, T16, T6, varmat16_in_ga(T15, X49))
varmat16_in_ga([], []) → varmat16_out_ga([], [])
varmat16_in_ga(.(T26, T27), .(X83, X84)) → U1_ga(T26, T27, X83, X84, varmat16_in_ga(T26, X83))
varmat16_in_ga(.(T26, T27), .(T28, X84)) → U2_ga(T26, T27, T28, X84, varmat16_in_ga(T26, T28))
varmat16_in_ga(.(black, T33), .(black, X103)) → U4_ga(T33, X103, varmat16_in_ga(T33, X103))
varmat16_in_ga(.(white, T36), .(w(X119), X120)) → U5_ga(T36, X119, X120, varmat16_in_ga(T36, X120))
U5_ga(T36, X119, X120, varmat16_out_ga(T36, X120)) → varmat16_out_ga(.(white, T36), .(w(X119), X120))
U4_ga(T33, X103, varmat16_out_ga(T33, X103)) → varmat16_out_ga(.(black, T33), .(black, X103))
U2_ga(T26, T27, T28, X84, varmat16_out_ga(T26, T28)) → U3_ga(T26, T27, T28, X84, varmat16_in_ga(T27, X84))
U3_ga(T26, T27, T28, X84, varmat16_out_ga(T27, X84)) → varmat16_out_ga(.(T26, T27), .(T28, X84))
U1_ga(T26, T27, X83, X84, varmat16_out_ga(T26, X83)) → varmat16_out_ga(.(T26, T27), .(X83, X84))
U24_ga(T15, T16, T6, varmat16_out_ga(T15, X49)) → shapes1_out_ga(.(T15, T16), T6)
shapes1_in_ga(.(T15, T16), T6) → U25_ga(T15, T16, T6, varmat16_in_ga(T15, T17))
U25_ga(T15, T16, T6, varmat16_out_ga(T15, T17)) → U26_ga(T15, T16, T6, p17_in_gaa(T16, X50, T17))
p17_in_gaa(T16, X50, T17) → U14_gaa(T16, X50, T17, varmat16_in_ga(T16, X50))
U14_gaa(T16, X50, T17, varmat16_out_ga(T16, X50)) → p17_out_gaa(T16, X50, T17)
p17_in_gaa(T16, T37, T17) → U15_gaa(T16, T37, T17, varmat16_in_ga(T16, T37))
U15_gaa(T16, T37, T17, varmat16_out_ga(T16, T37)) → U16_gaa(T16, T37, T17, unif_matrx37_in_aa(T17, T37))
unif_matrx37_in_aa(T56, .(T57, T58)) → U6_aa(T56, T57, T58, unif_lines43_in_aa(T56, T57))
unif_lines43_in_aa(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_aa(T103, T104, T107, T105, T106, T108, p50_in_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
p50_in_aaaaaa(T103, T113, T104, T107, T106, T108) → U17_aaaaaa(T103, T113, T104, T107, T106, T108, unif_pairs51_in_aa(T103, T113))
unif_pairs51_in_aa(w(T140), .(w(T140), T141)) → U20_aa(T140, T141, unif_pairs60_in_a(T141))
unif_pairs60_in_a([]) → unif_pairs60_out_a([])
unif_pairs60_in_a(.(w(T158), .(w(T158), T159))) → U10_a(T158, T159, unif_pairs60_in_a(T159))
unif_pairs60_in_a(.(black, .(black, T160))) → U11_a(T160, unif_pairs60_in_a(T160))
unif_pairs60_in_a(.(black, .(w(T165), T166))) → U12_a(T165, T166, unif_pairs60_in_a(T166))
unif_pairs60_in_a(.(w(T169), .(black, T170))) → U13_a(T169, T170, unif_pairs60_in_a(T170))
U13_a(T169, T170, unif_pairs60_out_a(T170)) → unif_pairs60_out_a(.(w(T169), .(black, T170)))
U12_a(T165, T166, unif_pairs60_out_a(T166)) → unif_pairs60_out_a(.(black, .(w(T165), T166)))
U11_a(T160, unif_pairs60_out_a(T160)) → unif_pairs60_out_a(.(black, .(black, T160)))
U10_a(T158, T159, unif_pairs60_out_a(T159)) → unif_pairs60_out_a(.(w(T158), .(w(T158), T159)))
U20_aa(T140, T141, unif_pairs60_out_a(T141)) → unif_pairs51_out_aa(w(T140), .(w(T140), T141))
unif_pairs51_in_aa(black, .(black, T171)) → U21_aa(T171, unif_pairs60_in_a(T171))
U21_aa(T171, unif_pairs60_out_a(T171)) → unif_pairs51_out_aa(black, .(black, T171))
unif_pairs51_in_aa(black, .(w(T176), T177)) → U22_aa(T176, T177, unif_pairs60_in_a(T177))
U22_aa(T176, T177, unif_pairs60_out_a(T177)) → unif_pairs51_out_aa(black, .(w(T176), T177))
unif_pairs51_in_aa(w(T180), .(black, T181)) → U23_aa(T180, T181, unif_pairs60_in_a(T181))
U23_aa(T180, T181, unif_pairs60_out_a(T181)) → unif_pairs51_out_aa(w(T180), .(black, T181))
U17_aaaaaa(T103, T113, T104, T107, T106, T108, unif_pairs51_out_aa(T103, T113)) → p50_out_aaaaaa(T103, T113, T104, T107, T106, T108)
p50_in_aaaaaa(T103, T113, T117, T118, T119, T120) → U18_aaaaaa(T103, T113, T117, T118, T119, T120, unif_pairs51_in_aa(T103, T113))
U18_aaaaaa(T103, T113, T117, T118, T119, T120, unif_pairs51_out_aa(T103, T113)) → U19_aaaaaa(T103, T113, T117, T118, T119, T120, unif_lines43_in_aa(.(T117, T118), .(T119, T120)))
unif_lines43_in_aa(.(T192, []), .(T193, [])) → unif_lines43_out_aa(.(T192, []), .(T193, []))
U19_aaaaaa(T103, T113, T117, T118, T119, T120, unif_lines43_out_aa(.(T117, T118), .(T119, T120))) → p50_out_aaaaaa(T103, T113, T117, T118, T119, T120)
U9_aa(T103, T104, T107, T105, T106, T108, p50_out_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_lines43_out_aa(.(T103, .(T104, T107)), .(T105, .(T106, T108)))
U6_aa(T56, T57, T58, unif_lines43_out_aa(T56, T57)) → unif_matrx37_out_aa(T56, .(T57, T58))
unif_matrx37_in_aa(T56, .(T65, T66)) → U7_aa(T56, T65, T66, unif_lines43_in_aa(T56, T65))
U7_aa(T56, T65, T66, unif_lines43_out_aa(T56, T65)) → U8_aa(T56, T65, T66, unif_matrx37_in_aa(T65, T66))
unif_matrx37_in_aa(T199, []) → unif_matrx37_out_aa(T199, [])
U8_aa(T56, T65, T66, unif_matrx37_out_aa(T65, T66)) → unif_matrx37_out_aa(T56, .(T65, T66))
U16_gaa(T16, T37, T17, unif_matrx37_out_aa(T17, T37)) → p17_out_gaa(T16, T37, T17)
U26_ga(T15, T16, T6, p17_out_gaa(T16, X50, T17)) → shapes1_out_ga(.(T15, T16), T6)
shapes1_in_ga(.(black, T204), T6) → U27_ga(T204, T6, p17_in_gag(T204, X293, black))
p17_in_gag(T16, X50, T17) → U14_gag(T16, X50, T17, varmat16_in_ga(T16, X50))
U14_gag(T16, X50, T17, varmat16_out_ga(T16, X50)) → p17_out_gag(T16, X50, T17)
p17_in_gag(T16, T37, T17) → U15_gag(T16, T37, T17, varmat16_in_ga(T16, T37))
U15_gag(T16, T37, T17, varmat16_out_ga(T16, T37)) → U16_gag(T16, T37, T17, unif_matrx37_in_ga(T17, T37))
unif_matrx37_in_ga(T56, .(T57, T58)) → U6_ga(T56, T57, T58, unif_lines43_in_ga(T56, T57))
unif_lines43_in_ga(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_ga(T103, T104, T107, T105, T106, T108, p50_in_gaggaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
p50_in_gaggaa(T103, T113, T104, T107, T106, T108) → U17_gaggaa(T103, T113, T104, T107, T106, T108, unif_pairs51_in_ga(T103, T113))
unif_pairs51_in_ga(w(T140), .(w(T140), T141)) → U20_ga(T140, T141, unif_pairs60_in_a(T141))
U20_ga(T140, T141, unif_pairs60_out_a(T141)) → unif_pairs51_out_ga(w(T140), .(w(T140), T141))
unif_pairs51_in_ga(black, .(black, T171)) → U21_ga(T171, unif_pairs60_in_a(T171))
U21_ga(T171, unif_pairs60_out_a(T171)) → unif_pairs51_out_ga(black, .(black, T171))
unif_pairs51_in_ga(black, .(w(T176), T177)) → U22_ga(T176, T177, unif_pairs60_in_a(T177))
U22_ga(T176, T177, unif_pairs60_out_a(T177)) → unif_pairs51_out_ga(black, .(w(T176), T177))
unif_pairs51_in_ga(w(T180), .(black, T181)) → U23_ga(T180, T181, unif_pairs60_in_a(T181))
U23_ga(T180, T181, unif_pairs60_out_a(T181)) → unif_pairs51_out_ga(w(T180), .(black, T181))
U17_gaggaa(T103, T113, T104, T107, T106, T108, unif_pairs51_out_ga(T103, T113)) → p50_out_gaggaa(T103, T113, T104, T107, T106, T108)
p50_in_gaggaa(T103, T113, T117, T118, T119, T120) → U18_gaggaa(T103, T113, T117, T118, T119, T120, unif_pairs51_in_ga(T103, T113))
U18_gaggaa(T103, T113, T117, T118, T119, T120, unif_pairs51_out_ga(T103, T113)) → U19_gaggaa(T103, T113, T117, T118, T119, T120, unif_lines43_in_ga(.(T117, T118), .(T119, T120)))
unif_lines43_in_ga(.(T192, []), .(T193, [])) → unif_lines43_out_ga(.(T192, []), .(T193, []))
U19_gaggaa(T103, T113, T117, T118, T119, T120, unif_lines43_out_ga(.(T117, T118), .(T119, T120))) → p50_out_gaggaa(T103, T113, T117, T118, T119, T120)
U9_ga(T103, T104, T107, T105, T106, T108, p50_out_gaggaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_lines43_out_ga(.(T103, .(T104, T107)), .(T105, .(T106, T108)))
U6_ga(T56, T57, T58, unif_lines43_out_ga(T56, T57)) → unif_matrx37_out_ga(T56, .(T57, T58))
unif_matrx37_in_ga(T56, .(T65, T66)) → U7_ga(T56, T65, T66, unif_lines43_in_ga(T56, T65))
U7_ga(T56, T65, T66, unif_lines43_out_ga(T56, T65)) → U8_ga(T56, T65, T66, unif_matrx37_in_aa(T65, T66))
U8_ga(T56, T65, T66, unif_matrx37_out_aa(T65, T66)) → unif_matrx37_out_ga(T56, .(T65, T66))
unif_matrx37_in_ga(T199, []) → unif_matrx37_out_ga(T199, [])
U16_gag(T16, T37, T17, unif_matrx37_out_ga(T17, T37)) → p17_out_gag(T16, T37, T17)
U27_ga(T204, T6, p17_out_gag(T204, X293, black)) → shapes1_out_ga(.(black, T204), T6)
shapes1_in_ga(.(white, T207), T6) → U28_ga(T207, T6, p17_in_gag(T207, X310, w(X309)))
U28_ga(T207, T6, p17_out_gag(T207, X310, w(X309))) → shapes1_out_ga(.(white, T207), T6)

The argument filtering Pi contains the following mapping:
shapes1_in_ga(x1, x2)  =  shapes1_in_ga(x1)
.(x1, x2)  =  .(x1, x2)
U24_ga(x1, x2, x3, x4)  =  U24_ga(x1, x2, x4)
varmat16_in_ga(x1, x2)  =  varmat16_in_ga(x1)
[]  =  []
varmat16_out_ga(x1, x2)  =  varmat16_out_ga(x1)
U1_ga(x1, x2, x3, x4, x5)  =  U1_ga(x1, x2, x5)
U2_ga(x1, x2, x3, x4, x5)  =  U2_ga(x1, x2, x5)
black  =  black
U4_ga(x1, x2, x3)  =  U4_ga(x1, x3)
white  =  white
U5_ga(x1, x2, x3, x4)  =  U5_ga(x1, x4)
w(x1)  =  w
U3_ga(x1, x2, x3, x4, x5)  =  U3_ga(x1, x2, x5)
shapes1_out_ga(x1, x2)  =  shapes1_out_ga(x1)
U25_ga(x1, x2, x3, x4)  =  U25_ga(x1, x2, x4)
U26_ga(x1, x2, x3, x4)  =  U26_ga(x1, x2, x4)
p17_in_gaa(x1, x2, x3)  =  p17_in_gaa(x1)
U14_gaa(x1, x2, x3, x4)  =  U14_gaa(x1, x4)
p17_out_gaa(x1, x2, x3)  =  p17_out_gaa(x1)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x1, x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x1, x4)
unif_matrx37_in_aa(x1, x2)  =  unif_matrx37_in_aa
U6_aa(x1, x2, x3, x4)  =  U6_aa(x4)
unif_lines43_in_aa(x1, x2)  =  unif_lines43_in_aa
U9_aa(x1, x2, x3, x4, x5, x6, x7)  =  U9_aa(x7)
p50_in_aaaaaa(x1, x2, x3, x4, x5, x6)  =  p50_in_aaaaaa
U17_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_aaaaaa(x7)
unif_pairs51_in_aa(x1, x2)  =  unif_pairs51_in_aa
U20_aa(x1, x2, x3)  =  U20_aa(x3)
unif_pairs60_in_a(x1)  =  unif_pairs60_in_a
unif_pairs60_out_a(x1)  =  unif_pairs60_out_a(x1)
U10_a(x1, x2, x3)  =  U10_a(x3)
U11_a(x1, x2)  =  U11_a(x2)
U12_a(x1, x2, x3)  =  U12_a(x3)
U13_a(x1, x2, x3)  =  U13_a(x3)
unif_pairs51_out_aa(x1, x2)  =  unif_pairs51_out_aa(x1, x2)
U21_aa(x1, x2)  =  U21_aa(x2)
U22_aa(x1, x2, x3)  =  U22_aa(x3)
U23_aa(x1, x2, x3)  =  U23_aa(x3)
p50_out_aaaaaa(x1, x2, x3, x4, x5, x6)  =  p50_out_aaaaaa(x1, x2)
U18_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_aaaaaa(x7)
U19_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U19_aaaaaa(x1, x2, x7)
unif_lines43_out_aa(x1, x2)  =  unif_lines43_out_aa
unif_matrx37_out_aa(x1, x2)  =  unif_matrx37_out_aa
U7_aa(x1, x2, x3, x4)  =  U7_aa(x4)
U8_aa(x1, x2, x3, x4)  =  U8_aa(x4)
U27_ga(x1, x2, x3)  =  U27_ga(x1, x3)
p17_in_gag(x1, x2, x3)  =  p17_in_gag(x1, x3)
U14_gag(x1, x2, x3, x4)  =  U14_gag(x1, x3, x4)
p17_out_gag(x1, x2, x3)  =  p17_out_gag(x1, x3)
U15_gag(x1, x2, x3, x4)  =  U15_gag(x1, x3, x4)
U16_gag(x1, x2, x3, x4)  =  U16_gag(x1, x3, x4)
unif_matrx37_in_ga(x1, x2)  =  unif_matrx37_in_ga(x1)
U6_ga(x1, x2, x3, x4)  =  U6_ga(x1, x4)
unif_lines43_in_ga(x1, x2)  =  unif_lines43_in_ga(x1)
U9_ga(x1, x2, x3, x4, x5, x6, x7)  =  U9_ga(x1, x2, x3, x7)
p50_in_gaggaa(x1, x2, x3, x4, x5, x6)  =  p50_in_gaggaa(x1, x3, x4)
U17_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_gaggaa(x1, x3, x4, x7)
unif_pairs51_in_ga(x1, x2)  =  unif_pairs51_in_ga(x1)
U20_ga(x1, x2, x3)  =  U20_ga(x3)
unif_pairs51_out_ga(x1, x2)  =  unif_pairs51_out_ga(x1, x2)
U21_ga(x1, x2)  =  U21_ga(x2)
U22_ga(x1, x2, x3)  =  U22_ga(x3)
U23_ga(x1, x2, x3)  =  U23_ga(x3)
p50_out_gaggaa(x1, x2, x3, x4, x5, x6)  =  p50_out_gaggaa(x1, x2, x3, x4)
U18_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_gaggaa(x1, x3, x4, x7)
U19_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U19_gaggaa(x1, x2, x3, x4, x7)
unif_lines43_out_ga(x1, x2)  =  unif_lines43_out_ga(x1)
unif_matrx37_out_ga(x1, x2)  =  unif_matrx37_out_ga(x1)
U7_ga(x1, x2, x3, x4)  =  U7_ga(x1, x4)
U8_ga(x1, x2, x3, x4)  =  U8_ga(x1, x4)
U28_ga(x1, x2, x3)  =  U28_ga(x1, x3)

(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:

SHAPES1_IN_GA(.(T15, T16), T6) → U24_GA(T15, T16, T6, varmat16_in_ga(T15, X49))
SHAPES1_IN_GA(.(T15, T16), T6) → VARMAT16_IN_GA(T15, X49)
VARMAT16_IN_GA(.(T26, T27), .(X83, X84)) → U1_GA(T26, T27, X83, X84, varmat16_in_ga(T26, X83))
VARMAT16_IN_GA(.(T26, T27), .(X83, X84)) → VARMAT16_IN_GA(T26, X83)
VARMAT16_IN_GA(.(T26, T27), .(T28, X84)) → U2_GA(T26, T27, T28, X84, varmat16_in_ga(T26, T28))
VARMAT16_IN_GA(.(black, T33), .(black, X103)) → U4_GA(T33, X103, varmat16_in_ga(T33, X103))
VARMAT16_IN_GA(.(black, T33), .(black, X103)) → VARMAT16_IN_GA(T33, X103)
VARMAT16_IN_GA(.(white, T36), .(w(X119), X120)) → U5_GA(T36, X119, X120, varmat16_in_ga(T36, X120))
VARMAT16_IN_GA(.(white, T36), .(w(X119), X120)) → VARMAT16_IN_GA(T36, X120)
U2_GA(T26, T27, T28, X84, varmat16_out_ga(T26, T28)) → U3_GA(T26, T27, T28, X84, varmat16_in_ga(T27, X84))
U2_GA(T26, T27, T28, X84, varmat16_out_ga(T26, T28)) → VARMAT16_IN_GA(T27, X84)
SHAPES1_IN_GA(.(T15, T16), T6) → U25_GA(T15, T16, T6, varmat16_in_ga(T15, T17))
U25_GA(T15, T16, T6, varmat16_out_ga(T15, T17)) → U26_GA(T15, T16, T6, p17_in_gaa(T16, X50, T17))
U25_GA(T15, T16, T6, varmat16_out_ga(T15, T17)) → P17_IN_GAA(T16, X50, T17)
P17_IN_GAA(T16, X50, T17) → U14_GAA(T16, X50, T17, varmat16_in_ga(T16, X50))
P17_IN_GAA(T16, X50, T17) → VARMAT16_IN_GA(T16, X50)
P17_IN_GAA(T16, T37, T17) → U15_GAA(T16, T37, T17, varmat16_in_ga(T16, T37))
U15_GAA(T16, T37, T17, varmat16_out_ga(T16, T37)) → U16_GAA(T16, T37, T17, unif_matrx37_in_aa(T17, T37))
U15_GAA(T16, T37, T17, varmat16_out_ga(T16, T37)) → UNIF_MATRX37_IN_AA(T17, T37)
UNIF_MATRX37_IN_AA(T56, .(T57, T58)) → U6_AA(T56, T57, T58, unif_lines43_in_aa(T56, T57))
UNIF_MATRX37_IN_AA(T56, .(T57, T58)) → UNIF_LINES43_IN_AA(T56, T57)
UNIF_LINES43_IN_AA(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_AA(T103, T104, T107, T105, T106, T108, p50_in_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
UNIF_LINES43_IN_AA(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → P50_IN_AAAAAA(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)
P50_IN_AAAAAA(T103, T113, T104, T107, T106, T108) → U17_AAAAAA(T103, T113, T104, T107, T106, T108, unif_pairs51_in_aa(T103, T113))
P50_IN_AAAAAA(T103, T113, T104, T107, T106, T108) → UNIF_PAIRS51_IN_AA(T103, T113)
UNIF_PAIRS51_IN_AA(w(T140), .(w(T140), T141)) → U20_AA(T140, T141, unif_pairs60_in_a(T141))
UNIF_PAIRS51_IN_AA(w(T140), .(w(T140), T141)) → UNIF_PAIRS60_IN_A(T141)
UNIF_PAIRS60_IN_A(.(w(T158), .(w(T158), T159))) → U10_A(T158, T159, unif_pairs60_in_a(T159))
UNIF_PAIRS60_IN_A(.(w(T158), .(w(T158), T159))) → UNIF_PAIRS60_IN_A(T159)
UNIF_PAIRS60_IN_A(.(black, .(black, T160))) → U11_A(T160, unif_pairs60_in_a(T160))
UNIF_PAIRS60_IN_A(.(black, .(black, T160))) → UNIF_PAIRS60_IN_A(T160)
UNIF_PAIRS60_IN_A(.(black, .(w(T165), T166))) → U12_A(T165, T166, unif_pairs60_in_a(T166))
UNIF_PAIRS60_IN_A(.(black, .(w(T165), T166))) → UNIF_PAIRS60_IN_A(T166)
UNIF_PAIRS60_IN_A(.(w(T169), .(black, T170))) → U13_A(T169, T170, unif_pairs60_in_a(T170))
UNIF_PAIRS60_IN_A(.(w(T169), .(black, T170))) → UNIF_PAIRS60_IN_A(T170)
UNIF_PAIRS51_IN_AA(black, .(black, T171)) → U21_AA(T171, unif_pairs60_in_a(T171))
UNIF_PAIRS51_IN_AA(black, .(black, T171)) → UNIF_PAIRS60_IN_A(T171)
UNIF_PAIRS51_IN_AA(black, .(w(T176), T177)) → U22_AA(T176, T177, unif_pairs60_in_a(T177))
UNIF_PAIRS51_IN_AA(black, .(w(T176), T177)) → UNIF_PAIRS60_IN_A(T177)
UNIF_PAIRS51_IN_AA(w(T180), .(black, T181)) → U23_AA(T180, T181, unif_pairs60_in_a(T181))
UNIF_PAIRS51_IN_AA(w(T180), .(black, T181)) → UNIF_PAIRS60_IN_A(T181)
P50_IN_AAAAAA(T103, T113, T117, T118, T119, T120) → U18_AAAAAA(T103, T113, T117, T118, T119, T120, unif_pairs51_in_aa(T103, T113))
U18_AAAAAA(T103, T113, T117, T118, T119, T120, unif_pairs51_out_aa(T103, T113)) → U19_AAAAAA(T103, T113, T117, T118, T119, T120, unif_lines43_in_aa(.(T117, T118), .(T119, T120)))
U18_AAAAAA(T103, T113, T117, T118, T119, T120, unif_pairs51_out_aa(T103, T113)) → UNIF_LINES43_IN_AA(.(T117, T118), .(T119, T120))
UNIF_MATRX37_IN_AA(T56, .(T65, T66)) → U7_AA(T56, T65, T66, unif_lines43_in_aa(T56, T65))
U7_AA(T56, T65, T66, unif_lines43_out_aa(T56, T65)) → U8_AA(T56, T65, T66, unif_matrx37_in_aa(T65, T66))
U7_AA(T56, T65, T66, unif_lines43_out_aa(T56, T65)) → UNIF_MATRX37_IN_AA(T65, T66)
SHAPES1_IN_GA(.(black, T204), T6) → U27_GA(T204, T6, p17_in_gag(T204, X293, black))
SHAPES1_IN_GA(.(black, T204), T6) → P17_IN_GAG(T204, X293, black)
P17_IN_GAG(T16, X50, T17) → U14_GAG(T16, X50, T17, varmat16_in_ga(T16, X50))
P17_IN_GAG(T16, X50, T17) → VARMAT16_IN_GA(T16, X50)
P17_IN_GAG(T16, T37, T17) → U15_GAG(T16, T37, T17, varmat16_in_ga(T16, T37))
U15_GAG(T16, T37, T17, varmat16_out_ga(T16, T37)) → U16_GAG(T16, T37, T17, unif_matrx37_in_ga(T17, T37))
U15_GAG(T16, T37, T17, varmat16_out_ga(T16, T37)) → UNIF_MATRX37_IN_GA(T17, T37)
UNIF_MATRX37_IN_GA(T56, .(T57, T58)) → U6_GA(T56, T57, T58, unif_lines43_in_ga(T56, T57))
UNIF_MATRX37_IN_GA(T56, .(T57, T58)) → UNIF_LINES43_IN_GA(T56, T57)
UNIF_LINES43_IN_GA(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_GA(T103, T104, T107, T105, T106, T108, p50_in_gaggaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
UNIF_LINES43_IN_GA(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → P50_IN_GAGGAA(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)
P50_IN_GAGGAA(T103, T113, T104, T107, T106, T108) → U17_GAGGAA(T103, T113, T104, T107, T106, T108, unif_pairs51_in_ga(T103, T113))
P50_IN_GAGGAA(T103, T113, T104, T107, T106, T108) → UNIF_PAIRS51_IN_GA(T103, T113)
UNIF_PAIRS51_IN_GA(w(T140), .(w(T140), T141)) → U20_GA(T140, T141, unif_pairs60_in_a(T141))
UNIF_PAIRS51_IN_GA(w(T140), .(w(T140), T141)) → UNIF_PAIRS60_IN_A(T141)
UNIF_PAIRS51_IN_GA(black, .(black, T171)) → U21_GA(T171, unif_pairs60_in_a(T171))
UNIF_PAIRS51_IN_GA(black, .(black, T171)) → UNIF_PAIRS60_IN_A(T171)
UNIF_PAIRS51_IN_GA(black, .(w(T176), T177)) → U22_GA(T176, T177, unif_pairs60_in_a(T177))
UNIF_PAIRS51_IN_GA(black, .(w(T176), T177)) → UNIF_PAIRS60_IN_A(T177)
UNIF_PAIRS51_IN_GA(w(T180), .(black, T181)) → U23_GA(T180, T181, unif_pairs60_in_a(T181))
UNIF_PAIRS51_IN_GA(w(T180), .(black, T181)) → UNIF_PAIRS60_IN_A(T181)
P50_IN_GAGGAA(T103, T113, T117, T118, T119, T120) → U18_GAGGAA(T103, T113, T117, T118, T119, T120, unif_pairs51_in_ga(T103, T113))
U18_GAGGAA(T103, T113, T117, T118, T119, T120, unif_pairs51_out_ga(T103, T113)) → U19_GAGGAA(T103, T113, T117, T118, T119, T120, unif_lines43_in_ga(.(T117, T118), .(T119, T120)))
U18_GAGGAA(T103, T113, T117, T118, T119, T120, unif_pairs51_out_ga(T103, T113)) → UNIF_LINES43_IN_GA(.(T117, T118), .(T119, T120))
UNIF_MATRX37_IN_GA(T56, .(T65, T66)) → U7_GA(T56, T65, T66, unif_lines43_in_ga(T56, T65))
U7_GA(T56, T65, T66, unif_lines43_out_ga(T56, T65)) → U8_GA(T56, T65, T66, unif_matrx37_in_aa(T65, T66))
U7_GA(T56, T65, T66, unif_lines43_out_ga(T56, T65)) → UNIF_MATRX37_IN_AA(T65, T66)
SHAPES1_IN_GA(.(white, T207), T6) → U28_GA(T207, T6, p17_in_gag(T207, X310, w(X309)))
SHAPES1_IN_GA(.(white, T207), T6) → P17_IN_GAG(T207, X310, w(X309))

The TRS R consists of the following rules:

shapes1_in_ga(.(T15, T16), T6) → U24_ga(T15, T16, T6, varmat16_in_ga(T15, X49))
varmat16_in_ga([], []) → varmat16_out_ga([], [])
varmat16_in_ga(.(T26, T27), .(X83, X84)) → U1_ga(T26, T27, X83, X84, varmat16_in_ga(T26, X83))
varmat16_in_ga(.(T26, T27), .(T28, X84)) → U2_ga(T26, T27, T28, X84, varmat16_in_ga(T26, T28))
varmat16_in_ga(.(black, T33), .(black, X103)) → U4_ga(T33, X103, varmat16_in_ga(T33, X103))
varmat16_in_ga(.(white, T36), .(w(X119), X120)) → U5_ga(T36, X119, X120, varmat16_in_ga(T36, X120))
U5_ga(T36, X119, X120, varmat16_out_ga(T36, X120)) → varmat16_out_ga(.(white, T36), .(w(X119), X120))
U4_ga(T33, X103, varmat16_out_ga(T33, X103)) → varmat16_out_ga(.(black, T33), .(black, X103))
U2_ga(T26, T27, T28, X84, varmat16_out_ga(T26, T28)) → U3_ga(T26, T27, T28, X84, varmat16_in_ga(T27, X84))
U3_ga(T26, T27, T28, X84, varmat16_out_ga(T27, X84)) → varmat16_out_ga(.(T26, T27), .(T28, X84))
U1_ga(T26, T27, X83, X84, varmat16_out_ga(T26, X83)) → varmat16_out_ga(.(T26, T27), .(X83, X84))
U24_ga(T15, T16, T6, varmat16_out_ga(T15, X49)) → shapes1_out_ga(.(T15, T16), T6)
shapes1_in_ga(.(T15, T16), T6) → U25_ga(T15, T16, T6, varmat16_in_ga(T15, T17))
U25_ga(T15, T16, T6, varmat16_out_ga(T15, T17)) → U26_ga(T15, T16, T6, p17_in_gaa(T16, X50, T17))
p17_in_gaa(T16, X50, T17) → U14_gaa(T16, X50, T17, varmat16_in_ga(T16, X50))
U14_gaa(T16, X50, T17, varmat16_out_ga(T16, X50)) → p17_out_gaa(T16, X50, T17)
p17_in_gaa(T16, T37, T17) → U15_gaa(T16, T37, T17, varmat16_in_ga(T16, T37))
U15_gaa(T16, T37, T17, varmat16_out_ga(T16, T37)) → U16_gaa(T16, T37, T17, unif_matrx37_in_aa(T17, T37))
unif_matrx37_in_aa(T56, .(T57, T58)) → U6_aa(T56, T57, T58, unif_lines43_in_aa(T56, T57))
unif_lines43_in_aa(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_aa(T103, T104, T107, T105, T106, T108, p50_in_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
p50_in_aaaaaa(T103, T113, T104, T107, T106, T108) → U17_aaaaaa(T103, T113, T104, T107, T106, T108, unif_pairs51_in_aa(T103, T113))
unif_pairs51_in_aa(w(T140), .(w(T140), T141)) → U20_aa(T140, T141, unif_pairs60_in_a(T141))
unif_pairs60_in_a([]) → unif_pairs60_out_a([])
unif_pairs60_in_a(.(w(T158), .(w(T158), T159))) → U10_a(T158, T159, unif_pairs60_in_a(T159))
unif_pairs60_in_a(.(black, .(black, T160))) → U11_a(T160, unif_pairs60_in_a(T160))
unif_pairs60_in_a(.(black, .(w(T165), T166))) → U12_a(T165, T166, unif_pairs60_in_a(T166))
unif_pairs60_in_a(.(w(T169), .(black, T170))) → U13_a(T169, T170, unif_pairs60_in_a(T170))
U13_a(T169, T170, unif_pairs60_out_a(T170)) → unif_pairs60_out_a(.(w(T169), .(black, T170)))
U12_a(T165, T166, unif_pairs60_out_a(T166)) → unif_pairs60_out_a(.(black, .(w(T165), T166)))
U11_a(T160, unif_pairs60_out_a(T160)) → unif_pairs60_out_a(.(black, .(black, T160)))
U10_a(T158, T159, unif_pairs60_out_a(T159)) → unif_pairs60_out_a(.(w(T158), .(w(T158), T159)))
U20_aa(T140, T141, unif_pairs60_out_a(T141)) → unif_pairs51_out_aa(w(T140), .(w(T140), T141))
unif_pairs51_in_aa(black, .(black, T171)) → U21_aa(T171, unif_pairs60_in_a(T171))
U21_aa(T171, unif_pairs60_out_a(T171)) → unif_pairs51_out_aa(black, .(black, T171))
unif_pairs51_in_aa(black, .(w(T176), T177)) → U22_aa(T176, T177, unif_pairs60_in_a(T177))
U22_aa(T176, T177, unif_pairs60_out_a(T177)) → unif_pairs51_out_aa(black, .(w(T176), T177))
unif_pairs51_in_aa(w(T180), .(black, T181)) → U23_aa(T180, T181, unif_pairs60_in_a(T181))
U23_aa(T180, T181, unif_pairs60_out_a(T181)) → unif_pairs51_out_aa(w(T180), .(black, T181))
U17_aaaaaa(T103, T113, T104, T107, T106, T108, unif_pairs51_out_aa(T103, T113)) → p50_out_aaaaaa(T103, T113, T104, T107, T106, T108)
p50_in_aaaaaa(T103, T113, T117, T118, T119, T120) → U18_aaaaaa(T103, T113, T117, T118, T119, T120, unif_pairs51_in_aa(T103, T113))
U18_aaaaaa(T103, T113, T117, T118, T119, T120, unif_pairs51_out_aa(T103, T113)) → U19_aaaaaa(T103, T113, T117, T118, T119, T120, unif_lines43_in_aa(.(T117, T118), .(T119, T120)))
unif_lines43_in_aa(.(T192, []), .(T193, [])) → unif_lines43_out_aa(.(T192, []), .(T193, []))
U19_aaaaaa(T103, T113, T117, T118, T119, T120, unif_lines43_out_aa(.(T117, T118), .(T119, T120))) → p50_out_aaaaaa(T103, T113, T117, T118, T119, T120)
U9_aa(T103, T104, T107, T105, T106, T108, p50_out_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_lines43_out_aa(.(T103, .(T104, T107)), .(T105, .(T106, T108)))
U6_aa(T56, T57, T58, unif_lines43_out_aa(T56, T57)) → unif_matrx37_out_aa(T56, .(T57, T58))
unif_matrx37_in_aa(T56, .(T65, T66)) → U7_aa(T56, T65, T66, unif_lines43_in_aa(T56, T65))
U7_aa(T56, T65, T66, unif_lines43_out_aa(T56, T65)) → U8_aa(T56, T65, T66, unif_matrx37_in_aa(T65, T66))
unif_matrx37_in_aa(T199, []) → unif_matrx37_out_aa(T199, [])
U8_aa(T56, T65, T66, unif_matrx37_out_aa(T65, T66)) → unif_matrx37_out_aa(T56, .(T65, T66))
U16_gaa(T16, T37, T17, unif_matrx37_out_aa(T17, T37)) → p17_out_gaa(T16, T37, T17)
U26_ga(T15, T16, T6, p17_out_gaa(T16, X50, T17)) → shapes1_out_ga(.(T15, T16), T6)
shapes1_in_ga(.(black, T204), T6) → U27_ga(T204, T6, p17_in_gag(T204, X293, black))
p17_in_gag(T16, X50, T17) → U14_gag(T16, X50, T17, varmat16_in_ga(T16, X50))
U14_gag(T16, X50, T17, varmat16_out_ga(T16, X50)) → p17_out_gag(T16, X50, T17)
p17_in_gag(T16, T37, T17) → U15_gag(T16, T37, T17, varmat16_in_ga(T16, T37))
U15_gag(T16, T37, T17, varmat16_out_ga(T16, T37)) → U16_gag(T16, T37, T17, unif_matrx37_in_ga(T17, T37))
unif_matrx37_in_ga(T56, .(T57, T58)) → U6_ga(T56, T57, T58, unif_lines43_in_ga(T56, T57))
unif_lines43_in_ga(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_ga(T103, T104, T107, T105, T106, T108, p50_in_gaggaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
p50_in_gaggaa(T103, T113, T104, T107, T106, T108) → U17_gaggaa(T103, T113, T104, T107, T106, T108, unif_pairs51_in_ga(T103, T113))
unif_pairs51_in_ga(w(T140), .(w(T140), T141)) → U20_ga(T140, T141, unif_pairs60_in_a(T141))
U20_ga(T140, T141, unif_pairs60_out_a(T141)) → unif_pairs51_out_ga(w(T140), .(w(T140), T141))
unif_pairs51_in_ga(black, .(black, T171)) → U21_ga(T171, unif_pairs60_in_a(T171))
U21_ga(T171, unif_pairs60_out_a(T171)) → unif_pairs51_out_ga(black, .(black, T171))
unif_pairs51_in_ga(black, .(w(T176), T177)) → U22_ga(T176, T177, unif_pairs60_in_a(T177))
U22_ga(T176, T177, unif_pairs60_out_a(T177)) → unif_pairs51_out_ga(black, .(w(T176), T177))
unif_pairs51_in_ga(w(T180), .(black, T181)) → U23_ga(T180, T181, unif_pairs60_in_a(T181))
U23_ga(T180, T181, unif_pairs60_out_a(T181)) → unif_pairs51_out_ga(w(T180), .(black, T181))
U17_gaggaa(T103, T113, T104, T107, T106, T108, unif_pairs51_out_ga(T103, T113)) → p50_out_gaggaa(T103, T113, T104, T107, T106, T108)
p50_in_gaggaa(T103, T113, T117, T118, T119, T120) → U18_gaggaa(T103, T113, T117, T118, T119, T120, unif_pairs51_in_ga(T103, T113))
U18_gaggaa(T103, T113, T117, T118, T119, T120, unif_pairs51_out_ga(T103, T113)) → U19_gaggaa(T103, T113, T117, T118, T119, T120, unif_lines43_in_ga(.(T117, T118), .(T119, T120)))
unif_lines43_in_ga(.(T192, []), .(T193, [])) → unif_lines43_out_ga(.(T192, []), .(T193, []))
U19_gaggaa(T103, T113, T117, T118, T119, T120, unif_lines43_out_ga(.(T117, T118), .(T119, T120))) → p50_out_gaggaa(T103, T113, T117, T118, T119, T120)
U9_ga(T103, T104, T107, T105, T106, T108, p50_out_gaggaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_lines43_out_ga(.(T103, .(T104, T107)), .(T105, .(T106, T108)))
U6_ga(T56, T57, T58, unif_lines43_out_ga(T56, T57)) → unif_matrx37_out_ga(T56, .(T57, T58))
unif_matrx37_in_ga(T56, .(T65, T66)) → U7_ga(T56, T65, T66, unif_lines43_in_ga(T56, T65))
U7_ga(T56, T65, T66, unif_lines43_out_ga(T56, T65)) → U8_ga(T56, T65, T66, unif_matrx37_in_aa(T65, T66))
U8_ga(T56, T65, T66, unif_matrx37_out_aa(T65, T66)) → unif_matrx37_out_ga(T56, .(T65, T66))
unif_matrx37_in_ga(T199, []) → unif_matrx37_out_ga(T199, [])
U16_gag(T16, T37, T17, unif_matrx37_out_ga(T17, T37)) → p17_out_gag(T16, T37, T17)
U27_ga(T204, T6, p17_out_gag(T204, X293, black)) → shapes1_out_ga(.(black, T204), T6)
shapes1_in_ga(.(white, T207), T6) → U28_ga(T207, T6, p17_in_gag(T207, X310, w(X309)))
U28_ga(T207, T6, p17_out_gag(T207, X310, w(X309))) → shapes1_out_ga(.(white, T207), T6)

The argument filtering Pi contains the following mapping:
shapes1_in_ga(x1, x2)  =  shapes1_in_ga(x1)
.(x1, x2)  =  .(x1, x2)
U24_ga(x1, x2, x3, x4)  =  U24_ga(x1, x2, x4)
varmat16_in_ga(x1, x2)  =  varmat16_in_ga(x1)
[]  =  []
varmat16_out_ga(x1, x2)  =  varmat16_out_ga(x1)
U1_ga(x1, x2, x3, x4, x5)  =  U1_ga(x1, x2, x5)
U2_ga(x1, x2, x3, x4, x5)  =  U2_ga(x1, x2, x5)
black  =  black
U4_ga(x1, x2, x3)  =  U4_ga(x1, x3)
white  =  white
U5_ga(x1, x2, x3, x4)  =  U5_ga(x1, x4)
w(x1)  =  w
U3_ga(x1, x2, x3, x4, x5)  =  U3_ga(x1, x2, x5)
shapes1_out_ga(x1, x2)  =  shapes1_out_ga(x1)
U25_ga(x1, x2, x3, x4)  =  U25_ga(x1, x2, x4)
U26_ga(x1, x2, x3, x4)  =  U26_ga(x1, x2, x4)
p17_in_gaa(x1, x2, x3)  =  p17_in_gaa(x1)
U14_gaa(x1, x2, x3, x4)  =  U14_gaa(x1, x4)
p17_out_gaa(x1, x2, x3)  =  p17_out_gaa(x1)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x1, x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x1, x4)
unif_matrx37_in_aa(x1, x2)  =  unif_matrx37_in_aa
U6_aa(x1, x2, x3, x4)  =  U6_aa(x4)
unif_lines43_in_aa(x1, x2)  =  unif_lines43_in_aa
U9_aa(x1, x2, x3, x4, x5, x6, x7)  =  U9_aa(x7)
p50_in_aaaaaa(x1, x2, x3, x4, x5, x6)  =  p50_in_aaaaaa
U17_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_aaaaaa(x7)
unif_pairs51_in_aa(x1, x2)  =  unif_pairs51_in_aa
U20_aa(x1, x2, x3)  =  U20_aa(x3)
unif_pairs60_in_a(x1)  =  unif_pairs60_in_a
unif_pairs60_out_a(x1)  =  unif_pairs60_out_a(x1)
U10_a(x1, x2, x3)  =  U10_a(x3)
U11_a(x1, x2)  =  U11_a(x2)
U12_a(x1, x2, x3)  =  U12_a(x3)
U13_a(x1, x2, x3)  =  U13_a(x3)
unif_pairs51_out_aa(x1, x2)  =  unif_pairs51_out_aa(x1, x2)
U21_aa(x1, x2)  =  U21_aa(x2)
U22_aa(x1, x2, x3)  =  U22_aa(x3)
U23_aa(x1, x2, x3)  =  U23_aa(x3)
p50_out_aaaaaa(x1, x2, x3, x4, x5, x6)  =  p50_out_aaaaaa(x1, x2)
U18_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_aaaaaa(x7)
U19_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U19_aaaaaa(x1, x2, x7)
unif_lines43_out_aa(x1, x2)  =  unif_lines43_out_aa
unif_matrx37_out_aa(x1, x2)  =  unif_matrx37_out_aa
U7_aa(x1, x2, x3, x4)  =  U7_aa(x4)
U8_aa(x1, x2, x3, x4)  =  U8_aa(x4)
U27_ga(x1, x2, x3)  =  U27_ga(x1, x3)
p17_in_gag(x1, x2, x3)  =  p17_in_gag(x1, x3)
U14_gag(x1, x2, x3, x4)  =  U14_gag(x1, x3, x4)
p17_out_gag(x1, x2, x3)  =  p17_out_gag(x1, x3)
U15_gag(x1, x2, x3, x4)  =  U15_gag(x1, x3, x4)
U16_gag(x1, x2, x3, x4)  =  U16_gag(x1, x3, x4)
unif_matrx37_in_ga(x1, x2)  =  unif_matrx37_in_ga(x1)
U6_ga(x1, x2, x3, x4)  =  U6_ga(x1, x4)
unif_lines43_in_ga(x1, x2)  =  unif_lines43_in_ga(x1)
U9_ga(x1, x2, x3, x4, x5, x6, x7)  =  U9_ga(x1, x2, x3, x7)
p50_in_gaggaa(x1, x2, x3, x4, x5, x6)  =  p50_in_gaggaa(x1, x3, x4)
U17_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_gaggaa(x1, x3, x4, x7)
unif_pairs51_in_ga(x1, x2)  =  unif_pairs51_in_ga(x1)
U20_ga(x1, x2, x3)  =  U20_ga(x3)
unif_pairs51_out_ga(x1, x2)  =  unif_pairs51_out_ga(x1, x2)
U21_ga(x1, x2)  =  U21_ga(x2)
U22_ga(x1, x2, x3)  =  U22_ga(x3)
U23_ga(x1, x2, x3)  =  U23_ga(x3)
p50_out_gaggaa(x1, x2, x3, x4, x5, x6)  =  p50_out_gaggaa(x1, x2, x3, x4)
U18_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_gaggaa(x1, x3, x4, x7)
U19_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U19_gaggaa(x1, x2, x3, x4, x7)
unif_lines43_out_ga(x1, x2)  =  unif_lines43_out_ga(x1)
unif_matrx37_out_ga(x1, x2)  =  unif_matrx37_out_ga(x1)
U7_ga(x1, x2, x3, x4)  =  U7_ga(x1, x4)
U8_ga(x1, x2, x3, x4)  =  U8_ga(x1, x4)
U28_ga(x1, x2, x3)  =  U28_ga(x1, x3)
SHAPES1_IN_GA(x1, x2)  =  SHAPES1_IN_GA(x1)
U24_GA(x1, x2, x3, x4)  =  U24_GA(x1, x2, x4)
VARMAT16_IN_GA(x1, x2)  =  VARMAT16_IN_GA(x1)
U1_GA(x1, x2, x3, x4, x5)  =  U1_GA(x1, x2, x5)
U2_GA(x1, x2, x3, x4, x5)  =  U2_GA(x1, x2, x5)
U4_GA(x1, x2, x3)  =  U4_GA(x1, x3)
U5_GA(x1, x2, x3, x4)  =  U5_GA(x1, x4)
U3_GA(x1, x2, x3, x4, x5)  =  U3_GA(x1, x2, x5)
U25_GA(x1, x2, x3, x4)  =  U25_GA(x1, x2, x4)
U26_GA(x1, x2, x3, x4)  =  U26_GA(x1, x2, x4)
P17_IN_GAA(x1, x2, x3)  =  P17_IN_GAA(x1)
U14_GAA(x1, x2, x3, x4)  =  U14_GAA(x1, x4)
U15_GAA(x1, x2, x3, x4)  =  U15_GAA(x1, x4)
U16_GAA(x1, x2, x3, x4)  =  U16_GAA(x1, x4)
UNIF_MATRX37_IN_AA(x1, x2)  =  UNIF_MATRX37_IN_AA
U6_AA(x1, x2, x3, x4)  =  U6_AA(x4)
UNIF_LINES43_IN_AA(x1, x2)  =  UNIF_LINES43_IN_AA
U9_AA(x1, x2, x3, x4, x5, x6, x7)  =  U9_AA(x7)
P50_IN_AAAAAA(x1, x2, x3, x4, x5, x6)  =  P50_IN_AAAAAA
U17_AAAAAA(x1, x2, x3, x4, x5, x6, x7)  =  U17_AAAAAA(x7)
UNIF_PAIRS51_IN_AA(x1, x2)  =  UNIF_PAIRS51_IN_AA
U20_AA(x1, x2, x3)  =  U20_AA(x3)
UNIF_PAIRS60_IN_A(x1)  =  UNIF_PAIRS60_IN_A
U10_A(x1, x2, x3)  =  U10_A(x3)
U11_A(x1, x2)  =  U11_A(x2)
U12_A(x1, x2, x3)  =  U12_A(x3)
U13_A(x1, x2, x3)  =  U13_A(x3)
U21_AA(x1, x2)  =  U21_AA(x2)
U22_AA(x1, x2, x3)  =  U22_AA(x3)
U23_AA(x1, x2, x3)  =  U23_AA(x3)
U18_AAAAAA(x1, x2, x3, x4, x5, x6, x7)  =  U18_AAAAAA(x7)
U19_AAAAAA(x1, x2, x3, x4, x5, x6, x7)  =  U19_AAAAAA(x1, x2, x7)
U7_AA(x1, x2, x3, x4)  =  U7_AA(x4)
U8_AA(x1, x2, x3, x4)  =  U8_AA(x4)
U27_GA(x1, x2, x3)  =  U27_GA(x1, x3)
P17_IN_GAG(x1, x2, x3)  =  P17_IN_GAG(x1, x3)
U14_GAG(x1, x2, x3, x4)  =  U14_GAG(x1, x3, x4)
U15_GAG(x1, x2, x3, x4)  =  U15_GAG(x1, x3, x4)
U16_GAG(x1, x2, x3, x4)  =  U16_GAG(x1, x3, x4)
UNIF_MATRX37_IN_GA(x1, x2)  =  UNIF_MATRX37_IN_GA(x1)
U6_GA(x1, x2, x3, x4)  =  U6_GA(x1, x4)
UNIF_LINES43_IN_GA(x1, x2)  =  UNIF_LINES43_IN_GA(x1)
U9_GA(x1, x2, x3, x4, x5, x6, x7)  =  U9_GA(x1, x2, x3, x7)
P50_IN_GAGGAA(x1, x2, x3, x4, x5, x6)  =  P50_IN_GAGGAA(x1, x3, x4)
U17_GAGGAA(x1, x2, x3, x4, x5, x6, x7)  =  U17_GAGGAA(x1, x3, x4, x7)
UNIF_PAIRS51_IN_GA(x1, x2)  =  UNIF_PAIRS51_IN_GA(x1)
U20_GA(x1, x2, x3)  =  U20_GA(x3)
U21_GA(x1, x2)  =  U21_GA(x2)
U22_GA(x1, x2, x3)  =  U22_GA(x3)
U23_GA(x1, x2, x3)  =  U23_GA(x3)
U18_GAGGAA(x1, x2, x3, x4, x5, x6, x7)  =  U18_GAGGAA(x1, x3, x4, x7)
U19_GAGGAA(x1, x2, x3, x4, x5, x6, x7)  =  U19_GAGGAA(x1, x2, x3, x4, x7)
U7_GA(x1, x2, x3, x4)  =  U7_GA(x1, x4)
U8_GA(x1, x2, x3, x4)  =  U8_GA(x1, x4)
U28_GA(x1, x2, x3)  =  U28_GA(x1, x3)

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

(6) Obligation:

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

SHAPES1_IN_GA(.(T15, T16), T6) → U24_GA(T15, T16, T6, varmat16_in_ga(T15, X49))
SHAPES1_IN_GA(.(T15, T16), T6) → VARMAT16_IN_GA(T15, X49)
VARMAT16_IN_GA(.(T26, T27), .(X83, X84)) → U1_GA(T26, T27, X83, X84, varmat16_in_ga(T26, X83))
VARMAT16_IN_GA(.(T26, T27), .(X83, X84)) → VARMAT16_IN_GA(T26, X83)
VARMAT16_IN_GA(.(T26, T27), .(T28, X84)) → U2_GA(T26, T27, T28, X84, varmat16_in_ga(T26, T28))
VARMAT16_IN_GA(.(black, T33), .(black, X103)) → U4_GA(T33, X103, varmat16_in_ga(T33, X103))
VARMAT16_IN_GA(.(black, T33), .(black, X103)) → VARMAT16_IN_GA(T33, X103)
VARMAT16_IN_GA(.(white, T36), .(w(X119), X120)) → U5_GA(T36, X119, X120, varmat16_in_ga(T36, X120))
VARMAT16_IN_GA(.(white, T36), .(w(X119), X120)) → VARMAT16_IN_GA(T36, X120)
U2_GA(T26, T27, T28, X84, varmat16_out_ga(T26, T28)) → U3_GA(T26, T27, T28, X84, varmat16_in_ga(T27, X84))
U2_GA(T26, T27, T28, X84, varmat16_out_ga(T26, T28)) → VARMAT16_IN_GA(T27, X84)
SHAPES1_IN_GA(.(T15, T16), T6) → U25_GA(T15, T16, T6, varmat16_in_ga(T15, T17))
U25_GA(T15, T16, T6, varmat16_out_ga(T15, T17)) → U26_GA(T15, T16, T6, p17_in_gaa(T16, X50, T17))
U25_GA(T15, T16, T6, varmat16_out_ga(T15, T17)) → P17_IN_GAA(T16, X50, T17)
P17_IN_GAA(T16, X50, T17) → U14_GAA(T16, X50, T17, varmat16_in_ga(T16, X50))
P17_IN_GAA(T16, X50, T17) → VARMAT16_IN_GA(T16, X50)
P17_IN_GAA(T16, T37, T17) → U15_GAA(T16, T37, T17, varmat16_in_ga(T16, T37))
U15_GAA(T16, T37, T17, varmat16_out_ga(T16, T37)) → U16_GAA(T16, T37, T17, unif_matrx37_in_aa(T17, T37))
U15_GAA(T16, T37, T17, varmat16_out_ga(T16, T37)) → UNIF_MATRX37_IN_AA(T17, T37)
UNIF_MATRX37_IN_AA(T56, .(T57, T58)) → U6_AA(T56, T57, T58, unif_lines43_in_aa(T56, T57))
UNIF_MATRX37_IN_AA(T56, .(T57, T58)) → UNIF_LINES43_IN_AA(T56, T57)
UNIF_LINES43_IN_AA(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_AA(T103, T104, T107, T105, T106, T108, p50_in_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
UNIF_LINES43_IN_AA(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → P50_IN_AAAAAA(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)
P50_IN_AAAAAA(T103, T113, T104, T107, T106, T108) → U17_AAAAAA(T103, T113, T104, T107, T106, T108, unif_pairs51_in_aa(T103, T113))
P50_IN_AAAAAA(T103, T113, T104, T107, T106, T108) → UNIF_PAIRS51_IN_AA(T103, T113)
UNIF_PAIRS51_IN_AA(w(T140), .(w(T140), T141)) → U20_AA(T140, T141, unif_pairs60_in_a(T141))
UNIF_PAIRS51_IN_AA(w(T140), .(w(T140), T141)) → UNIF_PAIRS60_IN_A(T141)
UNIF_PAIRS60_IN_A(.(w(T158), .(w(T158), T159))) → U10_A(T158, T159, unif_pairs60_in_a(T159))
UNIF_PAIRS60_IN_A(.(w(T158), .(w(T158), T159))) → UNIF_PAIRS60_IN_A(T159)
UNIF_PAIRS60_IN_A(.(black, .(black, T160))) → U11_A(T160, unif_pairs60_in_a(T160))
UNIF_PAIRS60_IN_A(.(black, .(black, T160))) → UNIF_PAIRS60_IN_A(T160)
UNIF_PAIRS60_IN_A(.(black, .(w(T165), T166))) → U12_A(T165, T166, unif_pairs60_in_a(T166))
UNIF_PAIRS60_IN_A(.(black, .(w(T165), T166))) → UNIF_PAIRS60_IN_A(T166)
UNIF_PAIRS60_IN_A(.(w(T169), .(black, T170))) → U13_A(T169, T170, unif_pairs60_in_a(T170))
UNIF_PAIRS60_IN_A(.(w(T169), .(black, T170))) → UNIF_PAIRS60_IN_A(T170)
UNIF_PAIRS51_IN_AA(black, .(black, T171)) → U21_AA(T171, unif_pairs60_in_a(T171))
UNIF_PAIRS51_IN_AA(black, .(black, T171)) → UNIF_PAIRS60_IN_A(T171)
UNIF_PAIRS51_IN_AA(black, .(w(T176), T177)) → U22_AA(T176, T177, unif_pairs60_in_a(T177))
UNIF_PAIRS51_IN_AA(black, .(w(T176), T177)) → UNIF_PAIRS60_IN_A(T177)
UNIF_PAIRS51_IN_AA(w(T180), .(black, T181)) → U23_AA(T180, T181, unif_pairs60_in_a(T181))
UNIF_PAIRS51_IN_AA(w(T180), .(black, T181)) → UNIF_PAIRS60_IN_A(T181)
P50_IN_AAAAAA(T103, T113, T117, T118, T119, T120) → U18_AAAAAA(T103, T113, T117, T118, T119, T120, unif_pairs51_in_aa(T103, T113))
U18_AAAAAA(T103, T113, T117, T118, T119, T120, unif_pairs51_out_aa(T103, T113)) → U19_AAAAAA(T103, T113, T117, T118, T119, T120, unif_lines43_in_aa(.(T117, T118), .(T119, T120)))
U18_AAAAAA(T103, T113, T117, T118, T119, T120, unif_pairs51_out_aa(T103, T113)) → UNIF_LINES43_IN_AA(.(T117, T118), .(T119, T120))
UNIF_MATRX37_IN_AA(T56, .(T65, T66)) → U7_AA(T56, T65, T66, unif_lines43_in_aa(T56, T65))
U7_AA(T56, T65, T66, unif_lines43_out_aa(T56, T65)) → U8_AA(T56, T65, T66, unif_matrx37_in_aa(T65, T66))
U7_AA(T56, T65, T66, unif_lines43_out_aa(T56, T65)) → UNIF_MATRX37_IN_AA(T65, T66)
SHAPES1_IN_GA(.(black, T204), T6) → U27_GA(T204, T6, p17_in_gag(T204, X293, black))
SHAPES1_IN_GA(.(black, T204), T6) → P17_IN_GAG(T204, X293, black)
P17_IN_GAG(T16, X50, T17) → U14_GAG(T16, X50, T17, varmat16_in_ga(T16, X50))
P17_IN_GAG(T16, X50, T17) → VARMAT16_IN_GA(T16, X50)
P17_IN_GAG(T16, T37, T17) → U15_GAG(T16, T37, T17, varmat16_in_ga(T16, T37))
U15_GAG(T16, T37, T17, varmat16_out_ga(T16, T37)) → U16_GAG(T16, T37, T17, unif_matrx37_in_ga(T17, T37))
U15_GAG(T16, T37, T17, varmat16_out_ga(T16, T37)) → UNIF_MATRX37_IN_GA(T17, T37)
UNIF_MATRX37_IN_GA(T56, .(T57, T58)) → U6_GA(T56, T57, T58, unif_lines43_in_ga(T56, T57))
UNIF_MATRX37_IN_GA(T56, .(T57, T58)) → UNIF_LINES43_IN_GA(T56, T57)
UNIF_LINES43_IN_GA(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_GA(T103, T104, T107, T105, T106, T108, p50_in_gaggaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
UNIF_LINES43_IN_GA(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → P50_IN_GAGGAA(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)
P50_IN_GAGGAA(T103, T113, T104, T107, T106, T108) → U17_GAGGAA(T103, T113, T104, T107, T106, T108, unif_pairs51_in_ga(T103, T113))
P50_IN_GAGGAA(T103, T113, T104, T107, T106, T108) → UNIF_PAIRS51_IN_GA(T103, T113)
UNIF_PAIRS51_IN_GA(w(T140), .(w(T140), T141)) → U20_GA(T140, T141, unif_pairs60_in_a(T141))
UNIF_PAIRS51_IN_GA(w(T140), .(w(T140), T141)) → UNIF_PAIRS60_IN_A(T141)
UNIF_PAIRS51_IN_GA(black, .(black, T171)) → U21_GA(T171, unif_pairs60_in_a(T171))
UNIF_PAIRS51_IN_GA(black, .(black, T171)) → UNIF_PAIRS60_IN_A(T171)
UNIF_PAIRS51_IN_GA(black, .(w(T176), T177)) → U22_GA(T176, T177, unif_pairs60_in_a(T177))
UNIF_PAIRS51_IN_GA(black, .(w(T176), T177)) → UNIF_PAIRS60_IN_A(T177)
UNIF_PAIRS51_IN_GA(w(T180), .(black, T181)) → U23_GA(T180, T181, unif_pairs60_in_a(T181))
UNIF_PAIRS51_IN_GA(w(T180), .(black, T181)) → UNIF_PAIRS60_IN_A(T181)
P50_IN_GAGGAA(T103, T113, T117, T118, T119, T120) → U18_GAGGAA(T103, T113, T117, T118, T119, T120, unif_pairs51_in_ga(T103, T113))
U18_GAGGAA(T103, T113, T117, T118, T119, T120, unif_pairs51_out_ga(T103, T113)) → U19_GAGGAA(T103, T113, T117, T118, T119, T120, unif_lines43_in_ga(.(T117, T118), .(T119, T120)))
U18_GAGGAA(T103, T113, T117, T118, T119, T120, unif_pairs51_out_ga(T103, T113)) → UNIF_LINES43_IN_GA(.(T117, T118), .(T119, T120))
UNIF_MATRX37_IN_GA(T56, .(T65, T66)) → U7_GA(T56, T65, T66, unif_lines43_in_ga(T56, T65))
U7_GA(T56, T65, T66, unif_lines43_out_ga(T56, T65)) → U8_GA(T56, T65, T66, unif_matrx37_in_aa(T65, T66))
U7_GA(T56, T65, T66, unif_lines43_out_ga(T56, T65)) → UNIF_MATRX37_IN_AA(T65, T66)
SHAPES1_IN_GA(.(white, T207), T6) → U28_GA(T207, T6, p17_in_gag(T207, X310, w(X309)))
SHAPES1_IN_GA(.(white, T207), T6) → P17_IN_GAG(T207, X310, w(X309))

The TRS R consists of the following rules:

shapes1_in_ga(.(T15, T16), T6) → U24_ga(T15, T16, T6, varmat16_in_ga(T15, X49))
varmat16_in_ga([], []) → varmat16_out_ga([], [])
varmat16_in_ga(.(T26, T27), .(X83, X84)) → U1_ga(T26, T27, X83, X84, varmat16_in_ga(T26, X83))
varmat16_in_ga(.(T26, T27), .(T28, X84)) → U2_ga(T26, T27, T28, X84, varmat16_in_ga(T26, T28))
varmat16_in_ga(.(black, T33), .(black, X103)) → U4_ga(T33, X103, varmat16_in_ga(T33, X103))
varmat16_in_ga(.(white, T36), .(w(X119), X120)) → U5_ga(T36, X119, X120, varmat16_in_ga(T36, X120))
U5_ga(T36, X119, X120, varmat16_out_ga(T36, X120)) → varmat16_out_ga(.(white, T36), .(w(X119), X120))
U4_ga(T33, X103, varmat16_out_ga(T33, X103)) → varmat16_out_ga(.(black, T33), .(black, X103))
U2_ga(T26, T27, T28, X84, varmat16_out_ga(T26, T28)) → U3_ga(T26, T27, T28, X84, varmat16_in_ga(T27, X84))
U3_ga(T26, T27, T28, X84, varmat16_out_ga(T27, X84)) → varmat16_out_ga(.(T26, T27), .(T28, X84))
U1_ga(T26, T27, X83, X84, varmat16_out_ga(T26, X83)) → varmat16_out_ga(.(T26, T27), .(X83, X84))
U24_ga(T15, T16, T6, varmat16_out_ga(T15, X49)) → shapes1_out_ga(.(T15, T16), T6)
shapes1_in_ga(.(T15, T16), T6) → U25_ga(T15, T16, T6, varmat16_in_ga(T15, T17))
U25_ga(T15, T16, T6, varmat16_out_ga(T15, T17)) → U26_ga(T15, T16, T6, p17_in_gaa(T16, X50, T17))
p17_in_gaa(T16, X50, T17) → U14_gaa(T16, X50, T17, varmat16_in_ga(T16, X50))
U14_gaa(T16, X50, T17, varmat16_out_ga(T16, X50)) → p17_out_gaa(T16, X50, T17)
p17_in_gaa(T16, T37, T17) → U15_gaa(T16, T37, T17, varmat16_in_ga(T16, T37))
U15_gaa(T16, T37, T17, varmat16_out_ga(T16, T37)) → U16_gaa(T16, T37, T17, unif_matrx37_in_aa(T17, T37))
unif_matrx37_in_aa(T56, .(T57, T58)) → U6_aa(T56, T57, T58, unif_lines43_in_aa(T56, T57))
unif_lines43_in_aa(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_aa(T103, T104, T107, T105, T106, T108, p50_in_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
p50_in_aaaaaa(T103, T113, T104, T107, T106, T108) → U17_aaaaaa(T103, T113, T104, T107, T106, T108, unif_pairs51_in_aa(T103, T113))
unif_pairs51_in_aa(w(T140), .(w(T140), T141)) → U20_aa(T140, T141, unif_pairs60_in_a(T141))
unif_pairs60_in_a([]) → unif_pairs60_out_a([])
unif_pairs60_in_a(.(w(T158), .(w(T158), T159))) → U10_a(T158, T159, unif_pairs60_in_a(T159))
unif_pairs60_in_a(.(black, .(black, T160))) → U11_a(T160, unif_pairs60_in_a(T160))
unif_pairs60_in_a(.(black, .(w(T165), T166))) → U12_a(T165, T166, unif_pairs60_in_a(T166))
unif_pairs60_in_a(.(w(T169), .(black, T170))) → U13_a(T169, T170, unif_pairs60_in_a(T170))
U13_a(T169, T170, unif_pairs60_out_a(T170)) → unif_pairs60_out_a(.(w(T169), .(black, T170)))
U12_a(T165, T166, unif_pairs60_out_a(T166)) → unif_pairs60_out_a(.(black, .(w(T165), T166)))
U11_a(T160, unif_pairs60_out_a(T160)) → unif_pairs60_out_a(.(black, .(black, T160)))
U10_a(T158, T159, unif_pairs60_out_a(T159)) → unif_pairs60_out_a(.(w(T158), .(w(T158), T159)))
U20_aa(T140, T141, unif_pairs60_out_a(T141)) → unif_pairs51_out_aa(w(T140), .(w(T140), T141))
unif_pairs51_in_aa(black, .(black, T171)) → U21_aa(T171, unif_pairs60_in_a(T171))
U21_aa(T171, unif_pairs60_out_a(T171)) → unif_pairs51_out_aa(black, .(black, T171))
unif_pairs51_in_aa(black, .(w(T176), T177)) → U22_aa(T176, T177, unif_pairs60_in_a(T177))
U22_aa(T176, T177, unif_pairs60_out_a(T177)) → unif_pairs51_out_aa(black, .(w(T176), T177))
unif_pairs51_in_aa(w(T180), .(black, T181)) → U23_aa(T180, T181, unif_pairs60_in_a(T181))
U23_aa(T180, T181, unif_pairs60_out_a(T181)) → unif_pairs51_out_aa(w(T180), .(black, T181))
U17_aaaaaa(T103, T113, T104, T107, T106, T108, unif_pairs51_out_aa(T103, T113)) → p50_out_aaaaaa(T103, T113, T104, T107, T106, T108)
p50_in_aaaaaa(T103, T113, T117, T118, T119, T120) → U18_aaaaaa(T103, T113, T117, T118, T119, T120, unif_pairs51_in_aa(T103, T113))
U18_aaaaaa(T103, T113, T117, T118, T119, T120, unif_pairs51_out_aa(T103, T113)) → U19_aaaaaa(T103, T113, T117, T118, T119, T120, unif_lines43_in_aa(.(T117, T118), .(T119, T120)))
unif_lines43_in_aa(.(T192, []), .(T193, [])) → unif_lines43_out_aa(.(T192, []), .(T193, []))
U19_aaaaaa(T103, T113, T117, T118, T119, T120, unif_lines43_out_aa(.(T117, T118), .(T119, T120))) → p50_out_aaaaaa(T103, T113, T117, T118, T119, T120)
U9_aa(T103, T104, T107, T105, T106, T108, p50_out_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_lines43_out_aa(.(T103, .(T104, T107)), .(T105, .(T106, T108)))
U6_aa(T56, T57, T58, unif_lines43_out_aa(T56, T57)) → unif_matrx37_out_aa(T56, .(T57, T58))
unif_matrx37_in_aa(T56, .(T65, T66)) → U7_aa(T56, T65, T66, unif_lines43_in_aa(T56, T65))
U7_aa(T56, T65, T66, unif_lines43_out_aa(T56, T65)) → U8_aa(T56, T65, T66, unif_matrx37_in_aa(T65, T66))
unif_matrx37_in_aa(T199, []) → unif_matrx37_out_aa(T199, [])
U8_aa(T56, T65, T66, unif_matrx37_out_aa(T65, T66)) → unif_matrx37_out_aa(T56, .(T65, T66))
U16_gaa(T16, T37, T17, unif_matrx37_out_aa(T17, T37)) → p17_out_gaa(T16, T37, T17)
U26_ga(T15, T16, T6, p17_out_gaa(T16, X50, T17)) → shapes1_out_ga(.(T15, T16), T6)
shapes1_in_ga(.(black, T204), T6) → U27_ga(T204, T6, p17_in_gag(T204, X293, black))
p17_in_gag(T16, X50, T17) → U14_gag(T16, X50, T17, varmat16_in_ga(T16, X50))
U14_gag(T16, X50, T17, varmat16_out_ga(T16, X50)) → p17_out_gag(T16, X50, T17)
p17_in_gag(T16, T37, T17) → U15_gag(T16, T37, T17, varmat16_in_ga(T16, T37))
U15_gag(T16, T37, T17, varmat16_out_ga(T16, T37)) → U16_gag(T16, T37, T17, unif_matrx37_in_ga(T17, T37))
unif_matrx37_in_ga(T56, .(T57, T58)) → U6_ga(T56, T57, T58, unif_lines43_in_ga(T56, T57))
unif_lines43_in_ga(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_ga(T103, T104, T107, T105, T106, T108, p50_in_gaggaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
p50_in_gaggaa(T103, T113, T104, T107, T106, T108) → U17_gaggaa(T103, T113, T104, T107, T106, T108, unif_pairs51_in_ga(T103, T113))
unif_pairs51_in_ga(w(T140), .(w(T140), T141)) → U20_ga(T140, T141, unif_pairs60_in_a(T141))
U20_ga(T140, T141, unif_pairs60_out_a(T141)) → unif_pairs51_out_ga(w(T140), .(w(T140), T141))
unif_pairs51_in_ga(black, .(black, T171)) → U21_ga(T171, unif_pairs60_in_a(T171))
U21_ga(T171, unif_pairs60_out_a(T171)) → unif_pairs51_out_ga(black, .(black, T171))
unif_pairs51_in_ga(black, .(w(T176), T177)) → U22_ga(T176, T177, unif_pairs60_in_a(T177))
U22_ga(T176, T177, unif_pairs60_out_a(T177)) → unif_pairs51_out_ga(black, .(w(T176), T177))
unif_pairs51_in_ga(w(T180), .(black, T181)) → U23_ga(T180, T181, unif_pairs60_in_a(T181))
U23_ga(T180, T181, unif_pairs60_out_a(T181)) → unif_pairs51_out_ga(w(T180), .(black, T181))
U17_gaggaa(T103, T113, T104, T107, T106, T108, unif_pairs51_out_ga(T103, T113)) → p50_out_gaggaa(T103, T113, T104, T107, T106, T108)
p50_in_gaggaa(T103, T113, T117, T118, T119, T120) → U18_gaggaa(T103, T113, T117, T118, T119, T120, unif_pairs51_in_ga(T103, T113))
U18_gaggaa(T103, T113, T117, T118, T119, T120, unif_pairs51_out_ga(T103, T113)) → U19_gaggaa(T103, T113, T117, T118, T119, T120, unif_lines43_in_ga(.(T117, T118), .(T119, T120)))
unif_lines43_in_ga(.(T192, []), .(T193, [])) → unif_lines43_out_ga(.(T192, []), .(T193, []))
U19_gaggaa(T103, T113, T117, T118, T119, T120, unif_lines43_out_ga(.(T117, T118), .(T119, T120))) → p50_out_gaggaa(T103, T113, T117, T118, T119, T120)
U9_ga(T103, T104, T107, T105, T106, T108, p50_out_gaggaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_lines43_out_ga(.(T103, .(T104, T107)), .(T105, .(T106, T108)))
U6_ga(T56, T57, T58, unif_lines43_out_ga(T56, T57)) → unif_matrx37_out_ga(T56, .(T57, T58))
unif_matrx37_in_ga(T56, .(T65, T66)) → U7_ga(T56, T65, T66, unif_lines43_in_ga(T56, T65))
U7_ga(T56, T65, T66, unif_lines43_out_ga(T56, T65)) → U8_ga(T56, T65, T66, unif_matrx37_in_aa(T65, T66))
U8_ga(T56, T65, T66, unif_matrx37_out_aa(T65, T66)) → unif_matrx37_out_ga(T56, .(T65, T66))
unif_matrx37_in_ga(T199, []) → unif_matrx37_out_ga(T199, [])
U16_gag(T16, T37, T17, unif_matrx37_out_ga(T17, T37)) → p17_out_gag(T16, T37, T17)
U27_ga(T204, T6, p17_out_gag(T204, X293, black)) → shapes1_out_ga(.(black, T204), T6)
shapes1_in_ga(.(white, T207), T6) → U28_ga(T207, T6, p17_in_gag(T207, X310, w(X309)))
U28_ga(T207, T6, p17_out_gag(T207, X310, w(X309))) → shapes1_out_ga(.(white, T207), T6)

The argument filtering Pi contains the following mapping:
shapes1_in_ga(x1, x2)  =  shapes1_in_ga(x1)
.(x1, x2)  =  .(x1, x2)
U24_ga(x1, x2, x3, x4)  =  U24_ga(x1, x2, x4)
varmat16_in_ga(x1, x2)  =  varmat16_in_ga(x1)
[]  =  []
varmat16_out_ga(x1, x2)  =  varmat16_out_ga(x1)
U1_ga(x1, x2, x3, x4, x5)  =  U1_ga(x1, x2, x5)
U2_ga(x1, x2, x3, x4, x5)  =  U2_ga(x1, x2, x5)
black  =  black
U4_ga(x1, x2, x3)  =  U4_ga(x1, x3)
white  =  white
U5_ga(x1, x2, x3, x4)  =  U5_ga(x1, x4)
w(x1)  =  w
U3_ga(x1, x2, x3, x4, x5)  =  U3_ga(x1, x2, x5)
shapes1_out_ga(x1, x2)  =  shapes1_out_ga(x1)
U25_ga(x1, x2, x3, x4)  =  U25_ga(x1, x2, x4)
U26_ga(x1, x2, x3, x4)  =  U26_ga(x1, x2, x4)
p17_in_gaa(x1, x2, x3)  =  p17_in_gaa(x1)
U14_gaa(x1, x2, x3, x4)  =  U14_gaa(x1, x4)
p17_out_gaa(x1, x2, x3)  =  p17_out_gaa(x1)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x1, x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x1, x4)
unif_matrx37_in_aa(x1, x2)  =  unif_matrx37_in_aa
U6_aa(x1, x2, x3, x4)  =  U6_aa(x4)
unif_lines43_in_aa(x1, x2)  =  unif_lines43_in_aa
U9_aa(x1, x2, x3, x4, x5, x6, x7)  =  U9_aa(x7)
p50_in_aaaaaa(x1, x2, x3, x4, x5, x6)  =  p50_in_aaaaaa
U17_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_aaaaaa(x7)
unif_pairs51_in_aa(x1, x2)  =  unif_pairs51_in_aa
U20_aa(x1, x2, x3)  =  U20_aa(x3)
unif_pairs60_in_a(x1)  =  unif_pairs60_in_a
unif_pairs60_out_a(x1)  =  unif_pairs60_out_a(x1)
U10_a(x1, x2, x3)  =  U10_a(x3)
U11_a(x1, x2)  =  U11_a(x2)
U12_a(x1, x2, x3)  =  U12_a(x3)
U13_a(x1, x2, x3)  =  U13_a(x3)
unif_pairs51_out_aa(x1, x2)  =  unif_pairs51_out_aa(x1, x2)
U21_aa(x1, x2)  =  U21_aa(x2)
U22_aa(x1, x2, x3)  =  U22_aa(x3)
U23_aa(x1, x2, x3)  =  U23_aa(x3)
p50_out_aaaaaa(x1, x2, x3, x4, x5, x6)  =  p50_out_aaaaaa(x1, x2)
U18_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_aaaaaa(x7)
U19_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U19_aaaaaa(x1, x2, x7)
unif_lines43_out_aa(x1, x2)  =  unif_lines43_out_aa
unif_matrx37_out_aa(x1, x2)  =  unif_matrx37_out_aa
U7_aa(x1, x2, x3, x4)  =  U7_aa(x4)
U8_aa(x1, x2, x3, x4)  =  U8_aa(x4)
U27_ga(x1, x2, x3)  =  U27_ga(x1, x3)
p17_in_gag(x1, x2, x3)  =  p17_in_gag(x1, x3)
U14_gag(x1, x2, x3, x4)  =  U14_gag(x1, x3, x4)
p17_out_gag(x1, x2, x3)  =  p17_out_gag(x1, x3)
U15_gag(x1, x2, x3, x4)  =  U15_gag(x1, x3, x4)
U16_gag(x1, x2, x3, x4)  =  U16_gag(x1, x3, x4)
unif_matrx37_in_ga(x1, x2)  =  unif_matrx37_in_ga(x1)
U6_ga(x1, x2, x3, x4)  =  U6_ga(x1, x4)
unif_lines43_in_ga(x1, x2)  =  unif_lines43_in_ga(x1)
U9_ga(x1, x2, x3, x4, x5, x6, x7)  =  U9_ga(x1, x2, x3, x7)
p50_in_gaggaa(x1, x2, x3, x4, x5, x6)  =  p50_in_gaggaa(x1, x3, x4)
U17_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_gaggaa(x1, x3, x4, x7)
unif_pairs51_in_ga(x1, x2)  =  unif_pairs51_in_ga(x1)
U20_ga(x1, x2, x3)  =  U20_ga(x3)
unif_pairs51_out_ga(x1, x2)  =  unif_pairs51_out_ga(x1, x2)
U21_ga(x1, x2)  =  U21_ga(x2)
U22_ga(x1, x2, x3)  =  U22_ga(x3)
U23_ga(x1, x2, x3)  =  U23_ga(x3)
p50_out_gaggaa(x1, x2, x3, x4, x5, x6)  =  p50_out_gaggaa(x1, x2, x3, x4)
U18_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_gaggaa(x1, x3, x4, x7)
U19_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U19_gaggaa(x1, x2, x3, x4, x7)
unif_lines43_out_ga(x1, x2)  =  unif_lines43_out_ga(x1)
unif_matrx37_out_ga(x1, x2)  =  unif_matrx37_out_ga(x1)
U7_ga(x1, x2, x3, x4)  =  U7_ga(x1, x4)
U8_ga(x1, x2, x3, x4)  =  U8_ga(x1, x4)
U28_ga(x1, x2, x3)  =  U28_ga(x1, x3)
SHAPES1_IN_GA(x1, x2)  =  SHAPES1_IN_GA(x1)
U24_GA(x1, x2, x3, x4)  =  U24_GA(x1, x2, x4)
VARMAT16_IN_GA(x1, x2)  =  VARMAT16_IN_GA(x1)
U1_GA(x1, x2, x3, x4, x5)  =  U1_GA(x1, x2, x5)
U2_GA(x1, x2, x3, x4, x5)  =  U2_GA(x1, x2, x5)
U4_GA(x1, x2, x3)  =  U4_GA(x1, x3)
U5_GA(x1, x2, x3, x4)  =  U5_GA(x1, x4)
U3_GA(x1, x2, x3, x4, x5)  =  U3_GA(x1, x2, x5)
U25_GA(x1, x2, x3, x4)  =  U25_GA(x1, x2, x4)
U26_GA(x1, x2, x3, x4)  =  U26_GA(x1, x2, x4)
P17_IN_GAA(x1, x2, x3)  =  P17_IN_GAA(x1)
U14_GAA(x1, x2, x3, x4)  =  U14_GAA(x1, x4)
U15_GAA(x1, x2, x3, x4)  =  U15_GAA(x1, x4)
U16_GAA(x1, x2, x3, x4)  =  U16_GAA(x1, x4)
UNIF_MATRX37_IN_AA(x1, x2)  =  UNIF_MATRX37_IN_AA
U6_AA(x1, x2, x3, x4)  =  U6_AA(x4)
UNIF_LINES43_IN_AA(x1, x2)  =  UNIF_LINES43_IN_AA
U9_AA(x1, x2, x3, x4, x5, x6, x7)  =  U9_AA(x7)
P50_IN_AAAAAA(x1, x2, x3, x4, x5, x6)  =  P50_IN_AAAAAA
U17_AAAAAA(x1, x2, x3, x4, x5, x6, x7)  =  U17_AAAAAA(x7)
UNIF_PAIRS51_IN_AA(x1, x2)  =  UNIF_PAIRS51_IN_AA
U20_AA(x1, x2, x3)  =  U20_AA(x3)
UNIF_PAIRS60_IN_A(x1)  =  UNIF_PAIRS60_IN_A
U10_A(x1, x2, x3)  =  U10_A(x3)
U11_A(x1, x2)  =  U11_A(x2)
U12_A(x1, x2, x3)  =  U12_A(x3)
U13_A(x1, x2, x3)  =  U13_A(x3)
U21_AA(x1, x2)  =  U21_AA(x2)
U22_AA(x1, x2, x3)  =  U22_AA(x3)
U23_AA(x1, x2, x3)  =  U23_AA(x3)
U18_AAAAAA(x1, x2, x3, x4, x5, x6, x7)  =  U18_AAAAAA(x7)
U19_AAAAAA(x1, x2, x3, x4, x5, x6, x7)  =  U19_AAAAAA(x1, x2, x7)
U7_AA(x1, x2, x3, x4)  =  U7_AA(x4)
U8_AA(x1, x2, x3, x4)  =  U8_AA(x4)
U27_GA(x1, x2, x3)  =  U27_GA(x1, x3)
P17_IN_GAG(x1, x2, x3)  =  P17_IN_GAG(x1, x3)
U14_GAG(x1, x2, x3, x4)  =  U14_GAG(x1, x3, x4)
U15_GAG(x1, x2, x3, x4)  =  U15_GAG(x1, x3, x4)
U16_GAG(x1, x2, x3, x4)  =  U16_GAG(x1, x3, x4)
UNIF_MATRX37_IN_GA(x1, x2)  =  UNIF_MATRX37_IN_GA(x1)
U6_GA(x1, x2, x3, x4)  =  U6_GA(x1, x4)
UNIF_LINES43_IN_GA(x1, x2)  =  UNIF_LINES43_IN_GA(x1)
U9_GA(x1, x2, x3, x4, x5, x6, x7)  =  U9_GA(x1, x2, x3, x7)
P50_IN_GAGGAA(x1, x2, x3, x4, x5, x6)  =  P50_IN_GAGGAA(x1, x3, x4)
U17_GAGGAA(x1, x2, x3, x4, x5, x6, x7)  =  U17_GAGGAA(x1, x3, x4, x7)
UNIF_PAIRS51_IN_GA(x1, x2)  =  UNIF_PAIRS51_IN_GA(x1)
U20_GA(x1, x2, x3)  =  U20_GA(x3)
U21_GA(x1, x2)  =  U21_GA(x2)
U22_GA(x1, x2, x3)  =  U22_GA(x3)
U23_GA(x1, x2, x3)  =  U23_GA(x3)
U18_GAGGAA(x1, x2, x3, x4, x5, x6, x7)  =  U18_GAGGAA(x1, x3, x4, x7)
U19_GAGGAA(x1, x2, x3, x4, x5, x6, x7)  =  U19_GAGGAA(x1, x2, x3, x4, x7)
U7_GA(x1, x2, x3, x4)  =  U7_GA(x1, x4)
U8_GA(x1, x2, x3, x4)  =  U8_GA(x1, x4)
U28_GA(x1, x2, x3)  =  U28_GA(x1, x3)

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

(7) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LOPSTR] contains 5 SCCs with 59 less nodes.

(8) Complex Obligation (AND)

(9) Obligation:

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

UNIF_PAIRS60_IN_A(.(black, .(black, T160))) → UNIF_PAIRS60_IN_A(T160)
UNIF_PAIRS60_IN_A(.(w(T158), .(w(T158), T159))) → UNIF_PAIRS60_IN_A(T159)
UNIF_PAIRS60_IN_A(.(black, .(w(T165), T166))) → UNIF_PAIRS60_IN_A(T166)
UNIF_PAIRS60_IN_A(.(w(T169), .(black, T170))) → UNIF_PAIRS60_IN_A(T170)

The TRS R consists of the following rules:

shapes1_in_ga(.(T15, T16), T6) → U24_ga(T15, T16, T6, varmat16_in_ga(T15, X49))
varmat16_in_ga([], []) → varmat16_out_ga([], [])
varmat16_in_ga(.(T26, T27), .(X83, X84)) → U1_ga(T26, T27, X83, X84, varmat16_in_ga(T26, X83))
varmat16_in_ga(.(T26, T27), .(T28, X84)) → U2_ga(T26, T27, T28, X84, varmat16_in_ga(T26, T28))
varmat16_in_ga(.(black, T33), .(black, X103)) → U4_ga(T33, X103, varmat16_in_ga(T33, X103))
varmat16_in_ga(.(white, T36), .(w(X119), X120)) → U5_ga(T36, X119, X120, varmat16_in_ga(T36, X120))
U5_ga(T36, X119, X120, varmat16_out_ga(T36, X120)) → varmat16_out_ga(.(white, T36), .(w(X119), X120))
U4_ga(T33, X103, varmat16_out_ga(T33, X103)) → varmat16_out_ga(.(black, T33), .(black, X103))
U2_ga(T26, T27, T28, X84, varmat16_out_ga(T26, T28)) → U3_ga(T26, T27, T28, X84, varmat16_in_ga(T27, X84))
U3_ga(T26, T27, T28, X84, varmat16_out_ga(T27, X84)) → varmat16_out_ga(.(T26, T27), .(T28, X84))
U1_ga(T26, T27, X83, X84, varmat16_out_ga(T26, X83)) → varmat16_out_ga(.(T26, T27), .(X83, X84))
U24_ga(T15, T16, T6, varmat16_out_ga(T15, X49)) → shapes1_out_ga(.(T15, T16), T6)
shapes1_in_ga(.(T15, T16), T6) → U25_ga(T15, T16, T6, varmat16_in_ga(T15, T17))
U25_ga(T15, T16, T6, varmat16_out_ga(T15, T17)) → U26_ga(T15, T16, T6, p17_in_gaa(T16, X50, T17))
p17_in_gaa(T16, X50, T17) → U14_gaa(T16, X50, T17, varmat16_in_ga(T16, X50))
U14_gaa(T16, X50, T17, varmat16_out_ga(T16, X50)) → p17_out_gaa(T16, X50, T17)
p17_in_gaa(T16, T37, T17) → U15_gaa(T16, T37, T17, varmat16_in_ga(T16, T37))
U15_gaa(T16, T37, T17, varmat16_out_ga(T16, T37)) → U16_gaa(T16, T37, T17, unif_matrx37_in_aa(T17, T37))
unif_matrx37_in_aa(T56, .(T57, T58)) → U6_aa(T56, T57, T58, unif_lines43_in_aa(T56, T57))
unif_lines43_in_aa(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_aa(T103, T104, T107, T105, T106, T108, p50_in_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
p50_in_aaaaaa(T103, T113, T104, T107, T106, T108) → U17_aaaaaa(T103, T113, T104, T107, T106, T108, unif_pairs51_in_aa(T103, T113))
unif_pairs51_in_aa(w(T140), .(w(T140), T141)) → U20_aa(T140, T141, unif_pairs60_in_a(T141))
unif_pairs60_in_a([]) → unif_pairs60_out_a([])
unif_pairs60_in_a(.(w(T158), .(w(T158), T159))) → U10_a(T158, T159, unif_pairs60_in_a(T159))
unif_pairs60_in_a(.(black, .(black, T160))) → U11_a(T160, unif_pairs60_in_a(T160))
unif_pairs60_in_a(.(black, .(w(T165), T166))) → U12_a(T165, T166, unif_pairs60_in_a(T166))
unif_pairs60_in_a(.(w(T169), .(black, T170))) → U13_a(T169, T170, unif_pairs60_in_a(T170))
U13_a(T169, T170, unif_pairs60_out_a(T170)) → unif_pairs60_out_a(.(w(T169), .(black, T170)))
U12_a(T165, T166, unif_pairs60_out_a(T166)) → unif_pairs60_out_a(.(black, .(w(T165), T166)))
U11_a(T160, unif_pairs60_out_a(T160)) → unif_pairs60_out_a(.(black, .(black, T160)))
U10_a(T158, T159, unif_pairs60_out_a(T159)) → unif_pairs60_out_a(.(w(T158), .(w(T158), T159)))
U20_aa(T140, T141, unif_pairs60_out_a(T141)) → unif_pairs51_out_aa(w(T140), .(w(T140), T141))
unif_pairs51_in_aa(black, .(black, T171)) → U21_aa(T171, unif_pairs60_in_a(T171))
U21_aa(T171, unif_pairs60_out_a(T171)) → unif_pairs51_out_aa(black, .(black, T171))
unif_pairs51_in_aa(black, .(w(T176), T177)) → U22_aa(T176, T177, unif_pairs60_in_a(T177))
U22_aa(T176, T177, unif_pairs60_out_a(T177)) → unif_pairs51_out_aa(black, .(w(T176), T177))
unif_pairs51_in_aa(w(T180), .(black, T181)) → U23_aa(T180, T181, unif_pairs60_in_a(T181))
U23_aa(T180, T181, unif_pairs60_out_a(T181)) → unif_pairs51_out_aa(w(T180), .(black, T181))
U17_aaaaaa(T103, T113, T104, T107, T106, T108, unif_pairs51_out_aa(T103, T113)) → p50_out_aaaaaa(T103, T113, T104, T107, T106, T108)
p50_in_aaaaaa(T103, T113, T117, T118, T119, T120) → U18_aaaaaa(T103, T113, T117, T118, T119, T120, unif_pairs51_in_aa(T103, T113))
U18_aaaaaa(T103, T113, T117, T118, T119, T120, unif_pairs51_out_aa(T103, T113)) → U19_aaaaaa(T103, T113, T117, T118, T119, T120, unif_lines43_in_aa(.(T117, T118), .(T119, T120)))
unif_lines43_in_aa(.(T192, []), .(T193, [])) → unif_lines43_out_aa(.(T192, []), .(T193, []))
U19_aaaaaa(T103, T113, T117, T118, T119, T120, unif_lines43_out_aa(.(T117, T118), .(T119, T120))) → p50_out_aaaaaa(T103, T113, T117, T118, T119, T120)
U9_aa(T103, T104, T107, T105, T106, T108, p50_out_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_lines43_out_aa(.(T103, .(T104, T107)), .(T105, .(T106, T108)))
U6_aa(T56, T57, T58, unif_lines43_out_aa(T56, T57)) → unif_matrx37_out_aa(T56, .(T57, T58))
unif_matrx37_in_aa(T56, .(T65, T66)) → U7_aa(T56, T65, T66, unif_lines43_in_aa(T56, T65))
U7_aa(T56, T65, T66, unif_lines43_out_aa(T56, T65)) → U8_aa(T56, T65, T66, unif_matrx37_in_aa(T65, T66))
unif_matrx37_in_aa(T199, []) → unif_matrx37_out_aa(T199, [])
U8_aa(T56, T65, T66, unif_matrx37_out_aa(T65, T66)) → unif_matrx37_out_aa(T56, .(T65, T66))
U16_gaa(T16, T37, T17, unif_matrx37_out_aa(T17, T37)) → p17_out_gaa(T16, T37, T17)
U26_ga(T15, T16, T6, p17_out_gaa(T16, X50, T17)) → shapes1_out_ga(.(T15, T16), T6)
shapes1_in_ga(.(black, T204), T6) → U27_ga(T204, T6, p17_in_gag(T204, X293, black))
p17_in_gag(T16, X50, T17) → U14_gag(T16, X50, T17, varmat16_in_ga(T16, X50))
U14_gag(T16, X50, T17, varmat16_out_ga(T16, X50)) → p17_out_gag(T16, X50, T17)
p17_in_gag(T16, T37, T17) → U15_gag(T16, T37, T17, varmat16_in_ga(T16, T37))
U15_gag(T16, T37, T17, varmat16_out_ga(T16, T37)) → U16_gag(T16, T37, T17, unif_matrx37_in_ga(T17, T37))
unif_matrx37_in_ga(T56, .(T57, T58)) → U6_ga(T56, T57, T58, unif_lines43_in_ga(T56, T57))
unif_lines43_in_ga(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_ga(T103, T104, T107, T105, T106, T108, p50_in_gaggaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
p50_in_gaggaa(T103, T113, T104, T107, T106, T108) → U17_gaggaa(T103, T113, T104, T107, T106, T108, unif_pairs51_in_ga(T103, T113))
unif_pairs51_in_ga(w(T140), .(w(T140), T141)) → U20_ga(T140, T141, unif_pairs60_in_a(T141))
U20_ga(T140, T141, unif_pairs60_out_a(T141)) → unif_pairs51_out_ga(w(T140), .(w(T140), T141))
unif_pairs51_in_ga(black, .(black, T171)) → U21_ga(T171, unif_pairs60_in_a(T171))
U21_ga(T171, unif_pairs60_out_a(T171)) → unif_pairs51_out_ga(black, .(black, T171))
unif_pairs51_in_ga(black, .(w(T176), T177)) → U22_ga(T176, T177, unif_pairs60_in_a(T177))
U22_ga(T176, T177, unif_pairs60_out_a(T177)) → unif_pairs51_out_ga(black, .(w(T176), T177))
unif_pairs51_in_ga(w(T180), .(black, T181)) → U23_ga(T180, T181, unif_pairs60_in_a(T181))
U23_ga(T180, T181, unif_pairs60_out_a(T181)) → unif_pairs51_out_ga(w(T180), .(black, T181))
U17_gaggaa(T103, T113, T104, T107, T106, T108, unif_pairs51_out_ga(T103, T113)) → p50_out_gaggaa(T103, T113, T104, T107, T106, T108)
p50_in_gaggaa(T103, T113, T117, T118, T119, T120) → U18_gaggaa(T103, T113, T117, T118, T119, T120, unif_pairs51_in_ga(T103, T113))
U18_gaggaa(T103, T113, T117, T118, T119, T120, unif_pairs51_out_ga(T103, T113)) → U19_gaggaa(T103, T113, T117, T118, T119, T120, unif_lines43_in_ga(.(T117, T118), .(T119, T120)))
unif_lines43_in_ga(.(T192, []), .(T193, [])) → unif_lines43_out_ga(.(T192, []), .(T193, []))
U19_gaggaa(T103, T113, T117, T118, T119, T120, unif_lines43_out_ga(.(T117, T118), .(T119, T120))) → p50_out_gaggaa(T103, T113, T117, T118, T119, T120)
U9_ga(T103, T104, T107, T105, T106, T108, p50_out_gaggaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_lines43_out_ga(.(T103, .(T104, T107)), .(T105, .(T106, T108)))
U6_ga(T56, T57, T58, unif_lines43_out_ga(T56, T57)) → unif_matrx37_out_ga(T56, .(T57, T58))
unif_matrx37_in_ga(T56, .(T65, T66)) → U7_ga(T56, T65, T66, unif_lines43_in_ga(T56, T65))
U7_ga(T56, T65, T66, unif_lines43_out_ga(T56, T65)) → U8_ga(T56, T65, T66, unif_matrx37_in_aa(T65, T66))
U8_ga(T56, T65, T66, unif_matrx37_out_aa(T65, T66)) → unif_matrx37_out_ga(T56, .(T65, T66))
unif_matrx37_in_ga(T199, []) → unif_matrx37_out_ga(T199, [])
U16_gag(T16, T37, T17, unif_matrx37_out_ga(T17, T37)) → p17_out_gag(T16, T37, T17)
U27_ga(T204, T6, p17_out_gag(T204, X293, black)) → shapes1_out_ga(.(black, T204), T6)
shapes1_in_ga(.(white, T207), T6) → U28_ga(T207, T6, p17_in_gag(T207, X310, w(X309)))
U28_ga(T207, T6, p17_out_gag(T207, X310, w(X309))) → shapes1_out_ga(.(white, T207), T6)

The argument filtering Pi contains the following mapping:
shapes1_in_ga(x1, x2)  =  shapes1_in_ga(x1)
.(x1, x2)  =  .(x1, x2)
U24_ga(x1, x2, x3, x4)  =  U24_ga(x1, x2, x4)
varmat16_in_ga(x1, x2)  =  varmat16_in_ga(x1)
[]  =  []
varmat16_out_ga(x1, x2)  =  varmat16_out_ga(x1)
U1_ga(x1, x2, x3, x4, x5)  =  U1_ga(x1, x2, x5)
U2_ga(x1, x2, x3, x4, x5)  =  U2_ga(x1, x2, x5)
black  =  black
U4_ga(x1, x2, x3)  =  U4_ga(x1, x3)
white  =  white
U5_ga(x1, x2, x3, x4)  =  U5_ga(x1, x4)
w(x1)  =  w
U3_ga(x1, x2, x3, x4, x5)  =  U3_ga(x1, x2, x5)
shapes1_out_ga(x1, x2)  =  shapes1_out_ga(x1)
U25_ga(x1, x2, x3, x4)  =  U25_ga(x1, x2, x4)
U26_ga(x1, x2, x3, x4)  =  U26_ga(x1, x2, x4)
p17_in_gaa(x1, x2, x3)  =  p17_in_gaa(x1)
U14_gaa(x1, x2, x3, x4)  =  U14_gaa(x1, x4)
p17_out_gaa(x1, x2, x3)  =  p17_out_gaa(x1)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x1, x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x1, x4)
unif_matrx37_in_aa(x1, x2)  =  unif_matrx37_in_aa
U6_aa(x1, x2, x3, x4)  =  U6_aa(x4)
unif_lines43_in_aa(x1, x2)  =  unif_lines43_in_aa
U9_aa(x1, x2, x3, x4, x5, x6, x7)  =  U9_aa(x7)
p50_in_aaaaaa(x1, x2, x3, x4, x5, x6)  =  p50_in_aaaaaa
U17_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_aaaaaa(x7)
unif_pairs51_in_aa(x1, x2)  =  unif_pairs51_in_aa
U20_aa(x1, x2, x3)  =  U20_aa(x3)
unif_pairs60_in_a(x1)  =  unif_pairs60_in_a
unif_pairs60_out_a(x1)  =  unif_pairs60_out_a(x1)
U10_a(x1, x2, x3)  =  U10_a(x3)
U11_a(x1, x2)  =  U11_a(x2)
U12_a(x1, x2, x3)  =  U12_a(x3)
U13_a(x1, x2, x3)  =  U13_a(x3)
unif_pairs51_out_aa(x1, x2)  =  unif_pairs51_out_aa(x1, x2)
U21_aa(x1, x2)  =  U21_aa(x2)
U22_aa(x1, x2, x3)  =  U22_aa(x3)
U23_aa(x1, x2, x3)  =  U23_aa(x3)
p50_out_aaaaaa(x1, x2, x3, x4, x5, x6)  =  p50_out_aaaaaa(x1, x2)
U18_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_aaaaaa(x7)
U19_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U19_aaaaaa(x1, x2, x7)
unif_lines43_out_aa(x1, x2)  =  unif_lines43_out_aa
unif_matrx37_out_aa(x1, x2)  =  unif_matrx37_out_aa
U7_aa(x1, x2, x3, x4)  =  U7_aa(x4)
U8_aa(x1, x2, x3, x4)  =  U8_aa(x4)
U27_ga(x1, x2, x3)  =  U27_ga(x1, x3)
p17_in_gag(x1, x2, x3)  =  p17_in_gag(x1, x3)
U14_gag(x1, x2, x3, x4)  =  U14_gag(x1, x3, x4)
p17_out_gag(x1, x2, x3)  =  p17_out_gag(x1, x3)
U15_gag(x1, x2, x3, x4)  =  U15_gag(x1, x3, x4)
U16_gag(x1, x2, x3, x4)  =  U16_gag(x1, x3, x4)
unif_matrx37_in_ga(x1, x2)  =  unif_matrx37_in_ga(x1)
U6_ga(x1, x2, x3, x4)  =  U6_ga(x1, x4)
unif_lines43_in_ga(x1, x2)  =  unif_lines43_in_ga(x1)
U9_ga(x1, x2, x3, x4, x5, x6, x7)  =  U9_ga(x1, x2, x3, x7)
p50_in_gaggaa(x1, x2, x3, x4, x5, x6)  =  p50_in_gaggaa(x1, x3, x4)
U17_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_gaggaa(x1, x3, x4, x7)
unif_pairs51_in_ga(x1, x2)  =  unif_pairs51_in_ga(x1)
U20_ga(x1, x2, x3)  =  U20_ga(x3)
unif_pairs51_out_ga(x1, x2)  =  unif_pairs51_out_ga(x1, x2)
U21_ga(x1, x2)  =  U21_ga(x2)
U22_ga(x1, x2, x3)  =  U22_ga(x3)
U23_ga(x1, x2, x3)  =  U23_ga(x3)
p50_out_gaggaa(x1, x2, x3, x4, x5, x6)  =  p50_out_gaggaa(x1, x2, x3, x4)
U18_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_gaggaa(x1, x3, x4, x7)
U19_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U19_gaggaa(x1, x2, x3, x4, x7)
unif_lines43_out_ga(x1, x2)  =  unif_lines43_out_ga(x1)
unif_matrx37_out_ga(x1, x2)  =  unif_matrx37_out_ga(x1)
U7_ga(x1, x2, x3, x4)  =  U7_ga(x1, x4)
U8_ga(x1, x2, x3, x4)  =  U8_ga(x1, x4)
U28_ga(x1, x2, x3)  =  U28_ga(x1, x3)
UNIF_PAIRS60_IN_A(x1)  =  UNIF_PAIRS60_IN_A

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:

UNIF_PAIRS60_IN_A(.(black, .(black, T160))) → UNIF_PAIRS60_IN_A(T160)
UNIF_PAIRS60_IN_A(.(w(T158), .(w(T158), T159))) → UNIF_PAIRS60_IN_A(T159)
UNIF_PAIRS60_IN_A(.(black, .(w(T165), T166))) → UNIF_PAIRS60_IN_A(T166)
UNIF_PAIRS60_IN_A(.(w(T169), .(black, T170))) → UNIF_PAIRS60_IN_A(T170)

R is empty.
The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
black  =  black
w(x1)  =  w
UNIF_PAIRS60_IN_A(x1)  =  UNIF_PAIRS60_IN_A

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:

UNIF_PAIRS60_IN_AUNIF_PAIRS60_IN_A

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

(14) NonTerminationProof (EQUIVALENT transformation)

We used the non-termination processor [FROCOS05] to show that the DP problem is infinite.
Found a loop by semiunifying a rule from P directly.

s = UNIF_PAIRS60_IN_A evaluates to t =UNIF_PAIRS60_IN_A

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




Rewriting sequence

The DP semiunifies directly so there is only one rewrite step from UNIF_PAIRS60_IN_A to UNIF_PAIRS60_IN_A.



(15) NO

(16) Obligation:

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

P50_IN_GAGGAA(T103, T113, T117, T118, T119, T120) → U18_GAGGAA(T103, T113, T117, T118, T119, T120, unif_pairs51_in_ga(T103, T113))
U18_GAGGAA(T103, T113, T117, T118, T119, T120, unif_pairs51_out_ga(T103, T113)) → UNIF_LINES43_IN_GA(.(T117, T118), .(T119, T120))
UNIF_LINES43_IN_GA(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → P50_IN_GAGGAA(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)

The TRS R consists of the following rules:

shapes1_in_ga(.(T15, T16), T6) → U24_ga(T15, T16, T6, varmat16_in_ga(T15, X49))
varmat16_in_ga([], []) → varmat16_out_ga([], [])
varmat16_in_ga(.(T26, T27), .(X83, X84)) → U1_ga(T26, T27, X83, X84, varmat16_in_ga(T26, X83))
varmat16_in_ga(.(T26, T27), .(T28, X84)) → U2_ga(T26, T27, T28, X84, varmat16_in_ga(T26, T28))
varmat16_in_ga(.(black, T33), .(black, X103)) → U4_ga(T33, X103, varmat16_in_ga(T33, X103))
varmat16_in_ga(.(white, T36), .(w(X119), X120)) → U5_ga(T36, X119, X120, varmat16_in_ga(T36, X120))
U5_ga(T36, X119, X120, varmat16_out_ga(T36, X120)) → varmat16_out_ga(.(white, T36), .(w(X119), X120))
U4_ga(T33, X103, varmat16_out_ga(T33, X103)) → varmat16_out_ga(.(black, T33), .(black, X103))
U2_ga(T26, T27, T28, X84, varmat16_out_ga(T26, T28)) → U3_ga(T26, T27, T28, X84, varmat16_in_ga(T27, X84))
U3_ga(T26, T27, T28, X84, varmat16_out_ga(T27, X84)) → varmat16_out_ga(.(T26, T27), .(T28, X84))
U1_ga(T26, T27, X83, X84, varmat16_out_ga(T26, X83)) → varmat16_out_ga(.(T26, T27), .(X83, X84))
U24_ga(T15, T16, T6, varmat16_out_ga(T15, X49)) → shapes1_out_ga(.(T15, T16), T6)
shapes1_in_ga(.(T15, T16), T6) → U25_ga(T15, T16, T6, varmat16_in_ga(T15, T17))
U25_ga(T15, T16, T6, varmat16_out_ga(T15, T17)) → U26_ga(T15, T16, T6, p17_in_gaa(T16, X50, T17))
p17_in_gaa(T16, X50, T17) → U14_gaa(T16, X50, T17, varmat16_in_ga(T16, X50))
U14_gaa(T16, X50, T17, varmat16_out_ga(T16, X50)) → p17_out_gaa(T16, X50, T17)
p17_in_gaa(T16, T37, T17) → U15_gaa(T16, T37, T17, varmat16_in_ga(T16, T37))
U15_gaa(T16, T37, T17, varmat16_out_ga(T16, T37)) → U16_gaa(T16, T37, T17, unif_matrx37_in_aa(T17, T37))
unif_matrx37_in_aa(T56, .(T57, T58)) → U6_aa(T56, T57, T58, unif_lines43_in_aa(T56, T57))
unif_lines43_in_aa(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_aa(T103, T104, T107, T105, T106, T108, p50_in_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
p50_in_aaaaaa(T103, T113, T104, T107, T106, T108) → U17_aaaaaa(T103, T113, T104, T107, T106, T108, unif_pairs51_in_aa(T103, T113))
unif_pairs51_in_aa(w(T140), .(w(T140), T141)) → U20_aa(T140, T141, unif_pairs60_in_a(T141))
unif_pairs60_in_a([]) → unif_pairs60_out_a([])
unif_pairs60_in_a(.(w(T158), .(w(T158), T159))) → U10_a(T158, T159, unif_pairs60_in_a(T159))
unif_pairs60_in_a(.(black, .(black, T160))) → U11_a(T160, unif_pairs60_in_a(T160))
unif_pairs60_in_a(.(black, .(w(T165), T166))) → U12_a(T165, T166, unif_pairs60_in_a(T166))
unif_pairs60_in_a(.(w(T169), .(black, T170))) → U13_a(T169, T170, unif_pairs60_in_a(T170))
U13_a(T169, T170, unif_pairs60_out_a(T170)) → unif_pairs60_out_a(.(w(T169), .(black, T170)))
U12_a(T165, T166, unif_pairs60_out_a(T166)) → unif_pairs60_out_a(.(black, .(w(T165), T166)))
U11_a(T160, unif_pairs60_out_a(T160)) → unif_pairs60_out_a(.(black, .(black, T160)))
U10_a(T158, T159, unif_pairs60_out_a(T159)) → unif_pairs60_out_a(.(w(T158), .(w(T158), T159)))
U20_aa(T140, T141, unif_pairs60_out_a(T141)) → unif_pairs51_out_aa(w(T140), .(w(T140), T141))
unif_pairs51_in_aa(black, .(black, T171)) → U21_aa(T171, unif_pairs60_in_a(T171))
U21_aa(T171, unif_pairs60_out_a(T171)) → unif_pairs51_out_aa(black, .(black, T171))
unif_pairs51_in_aa(black, .(w(T176), T177)) → U22_aa(T176, T177, unif_pairs60_in_a(T177))
U22_aa(T176, T177, unif_pairs60_out_a(T177)) → unif_pairs51_out_aa(black, .(w(T176), T177))
unif_pairs51_in_aa(w(T180), .(black, T181)) → U23_aa(T180, T181, unif_pairs60_in_a(T181))
U23_aa(T180, T181, unif_pairs60_out_a(T181)) → unif_pairs51_out_aa(w(T180), .(black, T181))
U17_aaaaaa(T103, T113, T104, T107, T106, T108, unif_pairs51_out_aa(T103, T113)) → p50_out_aaaaaa(T103, T113, T104, T107, T106, T108)
p50_in_aaaaaa(T103, T113, T117, T118, T119, T120) → U18_aaaaaa(T103, T113, T117, T118, T119, T120, unif_pairs51_in_aa(T103, T113))
U18_aaaaaa(T103, T113, T117, T118, T119, T120, unif_pairs51_out_aa(T103, T113)) → U19_aaaaaa(T103, T113, T117, T118, T119, T120, unif_lines43_in_aa(.(T117, T118), .(T119, T120)))
unif_lines43_in_aa(.(T192, []), .(T193, [])) → unif_lines43_out_aa(.(T192, []), .(T193, []))
U19_aaaaaa(T103, T113, T117, T118, T119, T120, unif_lines43_out_aa(.(T117, T118), .(T119, T120))) → p50_out_aaaaaa(T103, T113, T117, T118, T119, T120)
U9_aa(T103, T104, T107, T105, T106, T108, p50_out_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_lines43_out_aa(.(T103, .(T104, T107)), .(T105, .(T106, T108)))
U6_aa(T56, T57, T58, unif_lines43_out_aa(T56, T57)) → unif_matrx37_out_aa(T56, .(T57, T58))
unif_matrx37_in_aa(T56, .(T65, T66)) → U7_aa(T56, T65, T66, unif_lines43_in_aa(T56, T65))
U7_aa(T56, T65, T66, unif_lines43_out_aa(T56, T65)) → U8_aa(T56, T65, T66, unif_matrx37_in_aa(T65, T66))
unif_matrx37_in_aa(T199, []) → unif_matrx37_out_aa(T199, [])
U8_aa(T56, T65, T66, unif_matrx37_out_aa(T65, T66)) → unif_matrx37_out_aa(T56, .(T65, T66))
U16_gaa(T16, T37, T17, unif_matrx37_out_aa(T17, T37)) → p17_out_gaa(T16, T37, T17)
U26_ga(T15, T16, T6, p17_out_gaa(T16, X50, T17)) → shapes1_out_ga(.(T15, T16), T6)
shapes1_in_ga(.(black, T204), T6) → U27_ga(T204, T6, p17_in_gag(T204, X293, black))
p17_in_gag(T16, X50, T17) → U14_gag(T16, X50, T17, varmat16_in_ga(T16, X50))
U14_gag(T16, X50, T17, varmat16_out_ga(T16, X50)) → p17_out_gag(T16, X50, T17)
p17_in_gag(T16, T37, T17) → U15_gag(T16, T37, T17, varmat16_in_ga(T16, T37))
U15_gag(T16, T37, T17, varmat16_out_ga(T16, T37)) → U16_gag(T16, T37, T17, unif_matrx37_in_ga(T17, T37))
unif_matrx37_in_ga(T56, .(T57, T58)) → U6_ga(T56, T57, T58, unif_lines43_in_ga(T56, T57))
unif_lines43_in_ga(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_ga(T103, T104, T107, T105, T106, T108, p50_in_gaggaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
p50_in_gaggaa(T103, T113, T104, T107, T106, T108) → U17_gaggaa(T103, T113, T104, T107, T106, T108, unif_pairs51_in_ga(T103, T113))
unif_pairs51_in_ga(w(T140), .(w(T140), T141)) → U20_ga(T140, T141, unif_pairs60_in_a(T141))
U20_ga(T140, T141, unif_pairs60_out_a(T141)) → unif_pairs51_out_ga(w(T140), .(w(T140), T141))
unif_pairs51_in_ga(black, .(black, T171)) → U21_ga(T171, unif_pairs60_in_a(T171))
U21_ga(T171, unif_pairs60_out_a(T171)) → unif_pairs51_out_ga(black, .(black, T171))
unif_pairs51_in_ga(black, .(w(T176), T177)) → U22_ga(T176, T177, unif_pairs60_in_a(T177))
U22_ga(T176, T177, unif_pairs60_out_a(T177)) → unif_pairs51_out_ga(black, .(w(T176), T177))
unif_pairs51_in_ga(w(T180), .(black, T181)) → U23_ga(T180, T181, unif_pairs60_in_a(T181))
U23_ga(T180, T181, unif_pairs60_out_a(T181)) → unif_pairs51_out_ga(w(T180), .(black, T181))
U17_gaggaa(T103, T113, T104, T107, T106, T108, unif_pairs51_out_ga(T103, T113)) → p50_out_gaggaa(T103, T113, T104, T107, T106, T108)
p50_in_gaggaa(T103, T113, T117, T118, T119, T120) → U18_gaggaa(T103, T113, T117, T118, T119, T120, unif_pairs51_in_ga(T103, T113))
U18_gaggaa(T103, T113, T117, T118, T119, T120, unif_pairs51_out_ga(T103, T113)) → U19_gaggaa(T103, T113, T117, T118, T119, T120, unif_lines43_in_ga(.(T117, T118), .(T119, T120)))
unif_lines43_in_ga(.(T192, []), .(T193, [])) → unif_lines43_out_ga(.(T192, []), .(T193, []))
U19_gaggaa(T103, T113, T117, T118, T119, T120, unif_lines43_out_ga(.(T117, T118), .(T119, T120))) → p50_out_gaggaa(T103, T113, T117, T118, T119, T120)
U9_ga(T103, T104, T107, T105, T106, T108, p50_out_gaggaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_lines43_out_ga(.(T103, .(T104, T107)), .(T105, .(T106, T108)))
U6_ga(T56, T57, T58, unif_lines43_out_ga(T56, T57)) → unif_matrx37_out_ga(T56, .(T57, T58))
unif_matrx37_in_ga(T56, .(T65, T66)) → U7_ga(T56, T65, T66, unif_lines43_in_ga(T56, T65))
U7_ga(T56, T65, T66, unif_lines43_out_ga(T56, T65)) → U8_ga(T56, T65, T66, unif_matrx37_in_aa(T65, T66))
U8_ga(T56, T65, T66, unif_matrx37_out_aa(T65, T66)) → unif_matrx37_out_ga(T56, .(T65, T66))
unif_matrx37_in_ga(T199, []) → unif_matrx37_out_ga(T199, [])
U16_gag(T16, T37, T17, unif_matrx37_out_ga(T17, T37)) → p17_out_gag(T16, T37, T17)
U27_ga(T204, T6, p17_out_gag(T204, X293, black)) → shapes1_out_ga(.(black, T204), T6)
shapes1_in_ga(.(white, T207), T6) → U28_ga(T207, T6, p17_in_gag(T207, X310, w(X309)))
U28_ga(T207, T6, p17_out_gag(T207, X310, w(X309))) → shapes1_out_ga(.(white, T207), T6)

The argument filtering Pi contains the following mapping:
shapes1_in_ga(x1, x2)  =  shapes1_in_ga(x1)
.(x1, x2)  =  .(x1, x2)
U24_ga(x1, x2, x3, x4)  =  U24_ga(x1, x2, x4)
varmat16_in_ga(x1, x2)  =  varmat16_in_ga(x1)
[]  =  []
varmat16_out_ga(x1, x2)  =  varmat16_out_ga(x1)
U1_ga(x1, x2, x3, x4, x5)  =  U1_ga(x1, x2, x5)
U2_ga(x1, x2, x3, x4, x5)  =  U2_ga(x1, x2, x5)
black  =  black
U4_ga(x1, x2, x3)  =  U4_ga(x1, x3)
white  =  white
U5_ga(x1, x2, x3, x4)  =  U5_ga(x1, x4)
w(x1)  =  w
U3_ga(x1, x2, x3, x4, x5)  =  U3_ga(x1, x2, x5)
shapes1_out_ga(x1, x2)  =  shapes1_out_ga(x1)
U25_ga(x1, x2, x3, x4)  =  U25_ga(x1, x2, x4)
U26_ga(x1, x2, x3, x4)  =  U26_ga(x1, x2, x4)
p17_in_gaa(x1, x2, x3)  =  p17_in_gaa(x1)
U14_gaa(x1, x2, x3, x4)  =  U14_gaa(x1, x4)
p17_out_gaa(x1, x2, x3)  =  p17_out_gaa(x1)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x1, x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x1, x4)
unif_matrx37_in_aa(x1, x2)  =  unif_matrx37_in_aa
U6_aa(x1, x2, x3, x4)  =  U6_aa(x4)
unif_lines43_in_aa(x1, x2)  =  unif_lines43_in_aa
U9_aa(x1, x2, x3, x4, x5, x6, x7)  =  U9_aa(x7)
p50_in_aaaaaa(x1, x2, x3, x4, x5, x6)  =  p50_in_aaaaaa
U17_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_aaaaaa(x7)
unif_pairs51_in_aa(x1, x2)  =  unif_pairs51_in_aa
U20_aa(x1, x2, x3)  =  U20_aa(x3)
unif_pairs60_in_a(x1)  =  unif_pairs60_in_a
unif_pairs60_out_a(x1)  =  unif_pairs60_out_a(x1)
U10_a(x1, x2, x3)  =  U10_a(x3)
U11_a(x1, x2)  =  U11_a(x2)
U12_a(x1, x2, x3)  =  U12_a(x3)
U13_a(x1, x2, x3)  =  U13_a(x3)
unif_pairs51_out_aa(x1, x2)  =  unif_pairs51_out_aa(x1, x2)
U21_aa(x1, x2)  =  U21_aa(x2)
U22_aa(x1, x2, x3)  =  U22_aa(x3)
U23_aa(x1, x2, x3)  =  U23_aa(x3)
p50_out_aaaaaa(x1, x2, x3, x4, x5, x6)  =  p50_out_aaaaaa(x1, x2)
U18_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_aaaaaa(x7)
U19_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U19_aaaaaa(x1, x2, x7)
unif_lines43_out_aa(x1, x2)  =  unif_lines43_out_aa
unif_matrx37_out_aa(x1, x2)  =  unif_matrx37_out_aa
U7_aa(x1, x2, x3, x4)  =  U7_aa(x4)
U8_aa(x1, x2, x3, x4)  =  U8_aa(x4)
U27_ga(x1, x2, x3)  =  U27_ga(x1, x3)
p17_in_gag(x1, x2, x3)  =  p17_in_gag(x1, x3)
U14_gag(x1, x2, x3, x4)  =  U14_gag(x1, x3, x4)
p17_out_gag(x1, x2, x3)  =  p17_out_gag(x1, x3)
U15_gag(x1, x2, x3, x4)  =  U15_gag(x1, x3, x4)
U16_gag(x1, x2, x3, x4)  =  U16_gag(x1, x3, x4)
unif_matrx37_in_ga(x1, x2)  =  unif_matrx37_in_ga(x1)
U6_ga(x1, x2, x3, x4)  =  U6_ga(x1, x4)
unif_lines43_in_ga(x1, x2)  =  unif_lines43_in_ga(x1)
U9_ga(x1, x2, x3, x4, x5, x6, x7)  =  U9_ga(x1, x2, x3, x7)
p50_in_gaggaa(x1, x2, x3, x4, x5, x6)  =  p50_in_gaggaa(x1, x3, x4)
U17_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_gaggaa(x1, x3, x4, x7)
unif_pairs51_in_ga(x1, x2)  =  unif_pairs51_in_ga(x1)
U20_ga(x1, x2, x3)  =  U20_ga(x3)
unif_pairs51_out_ga(x1, x2)  =  unif_pairs51_out_ga(x1, x2)
U21_ga(x1, x2)  =  U21_ga(x2)
U22_ga(x1, x2, x3)  =  U22_ga(x3)
U23_ga(x1, x2, x3)  =  U23_ga(x3)
p50_out_gaggaa(x1, x2, x3, x4, x5, x6)  =  p50_out_gaggaa(x1, x2, x3, x4)
U18_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_gaggaa(x1, x3, x4, x7)
U19_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U19_gaggaa(x1, x2, x3, x4, x7)
unif_lines43_out_ga(x1, x2)  =  unif_lines43_out_ga(x1)
unif_matrx37_out_ga(x1, x2)  =  unif_matrx37_out_ga(x1)
U7_ga(x1, x2, x3, x4)  =  U7_ga(x1, x4)
U8_ga(x1, x2, x3, x4)  =  U8_ga(x1, x4)
U28_ga(x1, x2, x3)  =  U28_ga(x1, x3)
UNIF_LINES43_IN_GA(x1, x2)  =  UNIF_LINES43_IN_GA(x1)
P50_IN_GAGGAA(x1, x2, x3, x4, x5, x6)  =  P50_IN_GAGGAA(x1, x3, x4)
U18_GAGGAA(x1, x2, x3, x4, x5, x6, x7)  =  U18_GAGGAA(x1, x3, x4, x7)

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

(17) UsableRulesProof (EQUIVALENT transformation)

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

(18) Obligation:

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

P50_IN_GAGGAA(T103, T113, T117, T118, T119, T120) → U18_GAGGAA(T103, T113, T117, T118, T119, T120, unif_pairs51_in_ga(T103, T113))
U18_GAGGAA(T103, T113, T117, T118, T119, T120, unif_pairs51_out_ga(T103, T113)) → UNIF_LINES43_IN_GA(.(T117, T118), .(T119, T120))
UNIF_LINES43_IN_GA(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → P50_IN_GAGGAA(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)

The TRS R consists of the following rules:

unif_pairs51_in_ga(w(T140), .(w(T140), T141)) → U20_ga(T140, T141, unif_pairs60_in_a(T141))
unif_pairs51_in_ga(black, .(black, T171)) → U21_ga(T171, unif_pairs60_in_a(T171))
unif_pairs51_in_ga(black, .(w(T176), T177)) → U22_ga(T176, T177, unif_pairs60_in_a(T177))
unif_pairs51_in_ga(w(T180), .(black, T181)) → U23_ga(T180, T181, unif_pairs60_in_a(T181))
U20_ga(T140, T141, unif_pairs60_out_a(T141)) → unif_pairs51_out_ga(w(T140), .(w(T140), T141))
U21_ga(T171, unif_pairs60_out_a(T171)) → unif_pairs51_out_ga(black, .(black, T171))
U22_ga(T176, T177, unif_pairs60_out_a(T177)) → unif_pairs51_out_ga(black, .(w(T176), T177))
U23_ga(T180, T181, unif_pairs60_out_a(T181)) → unif_pairs51_out_ga(w(T180), .(black, T181))
unif_pairs60_in_a([]) → unif_pairs60_out_a([])
unif_pairs60_in_a(.(w(T158), .(w(T158), T159))) → U10_a(T158, T159, unif_pairs60_in_a(T159))
unif_pairs60_in_a(.(black, .(black, T160))) → U11_a(T160, unif_pairs60_in_a(T160))
unif_pairs60_in_a(.(black, .(w(T165), T166))) → U12_a(T165, T166, unif_pairs60_in_a(T166))
unif_pairs60_in_a(.(w(T169), .(black, T170))) → U13_a(T169, T170, unif_pairs60_in_a(T170))
U10_a(T158, T159, unif_pairs60_out_a(T159)) → unif_pairs60_out_a(.(w(T158), .(w(T158), T159)))
U11_a(T160, unif_pairs60_out_a(T160)) → unif_pairs60_out_a(.(black, .(black, T160)))
U12_a(T165, T166, unif_pairs60_out_a(T166)) → unif_pairs60_out_a(.(black, .(w(T165), T166)))
U13_a(T169, T170, unif_pairs60_out_a(T170)) → unif_pairs60_out_a(.(w(T169), .(black, T170)))

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
[]  =  []
black  =  black
w(x1)  =  w
unif_pairs60_in_a(x1)  =  unif_pairs60_in_a
unif_pairs60_out_a(x1)  =  unif_pairs60_out_a(x1)
U10_a(x1, x2, x3)  =  U10_a(x3)
U11_a(x1, x2)  =  U11_a(x2)
U12_a(x1, x2, x3)  =  U12_a(x3)
U13_a(x1, x2, x3)  =  U13_a(x3)
unif_pairs51_in_ga(x1, x2)  =  unif_pairs51_in_ga(x1)
U20_ga(x1, x2, x3)  =  U20_ga(x3)
unif_pairs51_out_ga(x1, x2)  =  unif_pairs51_out_ga(x1, x2)
U21_ga(x1, x2)  =  U21_ga(x2)
U22_ga(x1, x2, x3)  =  U22_ga(x3)
U23_ga(x1, x2, x3)  =  U23_ga(x3)
UNIF_LINES43_IN_GA(x1, x2)  =  UNIF_LINES43_IN_GA(x1)
P50_IN_GAGGAA(x1, x2, x3, x4, x5, x6)  =  P50_IN_GAGGAA(x1, x3, x4)
U18_GAGGAA(x1, x2, x3, x4, x5, x6, x7)  =  U18_GAGGAA(x1, x3, x4, x7)

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

(19) PiDPToQDPProof (SOUND transformation)

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

(20) Obligation:

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

P50_IN_GAGGAA(T103, T117, T118) → U18_GAGGAA(T103, T117, T118, unif_pairs51_in_ga(T103))
U18_GAGGAA(T103, T117, T118, unif_pairs51_out_ga(T103, T113)) → UNIF_LINES43_IN_GA(.(T117, T118))
UNIF_LINES43_IN_GA(.(T103, .(T104, T107))) → P50_IN_GAGGAA(T103, T104, T107)

The TRS R consists of the following rules:

unif_pairs51_in_ga(w) → U20_ga(unif_pairs60_in_a)
unif_pairs51_in_ga(black) → U21_ga(unif_pairs60_in_a)
unif_pairs51_in_ga(black) → U22_ga(unif_pairs60_in_a)
unif_pairs51_in_ga(w) → U23_ga(unif_pairs60_in_a)
U20_ga(unif_pairs60_out_a(T141)) → unif_pairs51_out_ga(w, .(w, T141))
U21_ga(unif_pairs60_out_a(T171)) → unif_pairs51_out_ga(black, .(black, T171))
U22_ga(unif_pairs60_out_a(T177)) → unif_pairs51_out_ga(black, .(w, T177))
U23_ga(unif_pairs60_out_a(T181)) → unif_pairs51_out_ga(w, .(black, T181))
unif_pairs60_in_aunif_pairs60_out_a([])
unif_pairs60_in_aU10_a(unif_pairs60_in_a)
unif_pairs60_in_aU11_a(unif_pairs60_in_a)
unif_pairs60_in_aU12_a(unif_pairs60_in_a)
unif_pairs60_in_aU13_a(unif_pairs60_in_a)
U10_a(unif_pairs60_out_a(T159)) → unif_pairs60_out_a(.(w, .(w, T159)))
U11_a(unif_pairs60_out_a(T160)) → unif_pairs60_out_a(.(black, .(black, T160)))
U12_a(unif_pairs60_out_a(T166)) → unif_pairs60_out_a(.(black, .(w, T166)))
U13_a(unif_pairs60_out_a(T170)) → unif_pairs60_out_a(.(w, .(black, T170)))

The set Q consists of the following terms:

unif_pairs51_in_ga(x0)
U20_ga(x0)
U21_ga(x0)
U22_ga(x0)
U23_ga(x0)
unif_pairs60_in_a
U10_a(x0)
U11_a(x0)
U12_a(x0)
U13_a(x0)

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

(21) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


UNIF_LINES43_IN_GA(.(T103, .(T104, T107))) → P50_IN_GAGGAA(T103, T104, T107)
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:

POL(.(x1, x2)) = 1 + x1 + x2   
POL(P50_IN_GAGGAA(x1, x2, x3)) = 1 + x2 + x3   
POL(U10_a(x1)) = 0   
POL(U11_a(x1)) = 0   
POL(U12_a(x1)) = 0   
POL(U13_a(x1)) = 0   
POL(U18_GAGGAA(x1, x2, x3, x4)) = 1 + x2 + x3   
POL(U20_ga(x1)) = 0   
POL(U21_ga(x1)) = 0   
POL(U22_ga(x1)) = 0   
POL(U23_ga(x1)) = 0   
POL(UNIF_LINES43_IN_GA(x1)) = x1   
POL([]) = 0   
POL(black) = 0   
POL(unif_pairs51_in_ga(x1)) = 0   
POL(unif_pairs51_out_ga(x1, x2)) = 0   
POL(unif_pairs60_in_a) = 0   
POL(unif_pairs60_out_a(x1)) = 0   
POL(w) = 0   

The following usable rules [FROCOS05] were oriented: none

(22) Obligation:

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

P50_IN_GAGGAA(T103, T117, T118) → U18_GAGGAA(T103, T117, T118, unif_pairs51_in_ga(T103))
U18_GAGGAA(T103, T117, T118, unif_pairs51_out_ga(T103, T113)) → UNIF_LINES43_IN_GA(.(T117, T118))

The TRS R consists of the following rules:

unif_pairs51_in_ga(w) → U20_ga(unif_pairs60_in_a)
unif_pairs51_in_ga(black) → U21_ga(unif_pairs60_in_a)
unif_pairs51_in_ga(black) → U22_ga(unif_pairs60_in_a)
unif_pairs51_in_ga(w) → U23_ga(unif_pairs60_in_a)
U20_ga(unif_pairs60_out_a(T141)) → unif_pairs51_out_ga(w, .(w, T141))
U21_ga(unif_pairs60_out_a(T171)) → unif_pairs51_out_ga(black, .(black, T171))
U22_ga(unif_pairs60_out_a(T177)) → unif_pairs51_out_ga(black, .(w, T177))
U23_ga(unif_pairs60_out_a(T181)) → unif_pairs51_out_ga(w, .(black, T181))
unif_pairs60_in_aunif_pairs60_out_a([])
unif_pairs60_in_aU10_a(unif_pairs60_in_a)
unif_pairs60_in_aU11_a(unif_pairs60_in_a)
unif_pairs60_in_aU12_a(unif_pairs60_in_a)
unif_pairs60_in_aU13_a(unif_pairs60_in_a)
U10_a(unif_pairs60_out_a(T159)) → unif_pairs60_out_a(.(w, .(w, T159)))
U11_a(unif_pairs60_out_a(T160)) → unif_pairs60_out_a(.(black, .(black, T160)))
U12_a(unif_pairs60_out_a(T166)) → unif_pairs60_out_a(.(black, .(w, T166)))
U13_a(unif_pairs60_out_a(T170)) → unif_pairs60_out_a(.(w, .(black, T170)))

The set Q consists of the following terms:

unif_pairs51_in_ga(x0)
U20_ga(x0)
U21_ga(x0)
U22_ga(x0)
U23_ga(x0)
unif_pairs60_in_a
U10_a(x0)
U11_a(x0)
U12_a(x0)
U13_a(x0)

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

(23) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 2 less nodes.

(24) TRUE

(25) Obligation:

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

UNIF_LINES43_IN_AA(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → P50_IN_AAAAAA(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)
P50_IN_AAAAAA(T103, T113, T117, T118, T119, T120) → U18_AAAAAA(T103, T113, T117, T118, T119, T120, unif_pairs51_in_aa(T103, T113))
U18_AAAAAA(T103, T113, T117, T118, T119, T120, unif_pairs51_out_aa(T103, T113)) → UNIF_LINES43_IN_AA(.(T117, T118), .(T119, T120))

The TRS R consists of the following rules:

shapes1_in_ga(.(T15, T16), T6) → U24_ga(T15, T16, T6, varmat16_in_ga(T15, X49))
varmat16_in_ga([], []) → varmat16_out_ga([], [])
varmat16_in_ga(.(T26, T27), .(X83, X84)) → U1_ga(T26, T27, X83, X84, varmat16_in_ga(T26, X83))
varmat16_in_ga(.(T26, T27), .(T28, X84)) → U2_ga(T26, T27, T28, X84, varmat16_in_ga(T26, T28))
varmat16_in_ga(.(black, T33), .(black, X103)) → U4_ga(T33, X103, varmat16_in_ga(T33, X103))
varmat16_in_ga(.(white, T36), .(w(X119), X120)) → U5_ga(T36, X119, X120, varmat16_in_ga(T36, X120))
U5_ga(T36, X119, X120, varmat16_out_ga(T36, X120)) → varmat16_out_ga(.(white, T36), .(w(X119), X120))
U4_ga(T33, X103, varmat16_out_ga(T33, X103)) → varmat16_out_ga(.(black, T33), .(black, X103))
U2_ga(T26, T27, T28, X84, varmat16_out_ga(T26, T28)) → U3_ga(T26, T27, T28, X84, varmat16_in_ga(T27, X84))
U3_ga(T26, T27, T28, X84, varmat16_out_ga(T27, X84)) → varmat16_out_ga(.(T26, T27), .(T28, X84))
U1_ga(T26, T27, X83, X84, varmat16_out_ga(T26, X83)) → varmat16_out_ga(.(T26, T27), .(X83, X84))
U24_ga(T15, T16, T6, varmat16_out_ga(T15, X49)) → shapes1_out_ga(.(T15, T16), T6)
shapes1_in_ga(.(T15, T16), T6) → U25_ga(T15, T16, T6, varmat16_in_ga(T15, T17))
U25_ga(T15, T16, T6, varmat16_out_ga(T15, T17)) → U26_ga(T15, T16, T6, p17_in_gaa(T16, X50, T17))
p17_in_gaa(T16, X50, T17) → U14_gaa(T16, X50, T17, varmat16_in_ga(T16, X50))
U14_gaa(T16, X50, T17, varmat16_out_ga(T16, X50)) → p17_out_gaa(T16, X50, T17)
p17_in_gaa(T16, T37, T17) → U15_gaa(T16, T37, T17, varmat16_in_ga(T16, T37))
U15_gaa(T16, T37, T17, varmat16_out_ga(T16, T37)) → U16_gaa(T16, T37, T17, unif_matrx37_in_aa(T17, T37))
unif_matrx37_in_aa(T56, .(T57, T58)) → U6_aa(T56, T57, T58, unif_lines43_in_aa(T56, T57))
unif_lines43_in_aa(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_aa(T103, T104, T107, T105, T106, T108, p50_in_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
p50_in_aaaaaa(T103, T113, T104, T107, T106, T108) → U17_aaaaaa(T103, T113, T104, T107, T106, T108, unif_pairs51_in_aa(T103, T113))
unif_pairs51_in_aa(w(T140), .(w(T140), T141)) → U20_aa(T140, T141, unif_pairs60_in_a(T141))
unif_pairs60_in_a([]) → unif_pairs60_out_a([])
unif_pairs60_in_a(.(w(T158), .(w(T158), T159))) → U10_a(T158, T159, unif_pairs60_in_a(T159))
unif_pairs60_in_a(.(black, .(black, T160))) → U11_a(T160, unif_pairs60_in_a(T160))
unif_pairs60_in_a(.(black, .(w(T165), T166))) → U12_a(T165, T166, unif_pairs60_in_a(T166))
unif_pairs60_in_a(.(w(T169), .(black, T170))) → U13_a(T169, T170, unif_pairs60_in_a(T170))
U13_a(T169, T170, unif_pairs60_out_a(T170)) → unif_pairs60_out_a(.(w(T169), .(black, T170)))
U12_a(T165, T166, unif_pairs60_out_a(T166)) → unif_pairs60_out_a(.(black, .(w(T165), T166)))
U11_a(T160, unif_pairs60_out_a(T160)) → unif_pairs60_out_a(.(black, .(black, T160)))
U10_a(T158, T159, unif_pairs60_out_a(T159)) → unif_pairs60_out_a(.(w(T158), .(w(T158), T159)))
U20_aa(T140, T141, unif_pairs60_out_a(T141)) → unif_pairs51_out_aa(w(T140), .(w(T140), T141))
unif_pairs51_in_aa(black, .(black, T171)) → U21_aa(T171, unif_pairs60_in_a(T171))
U21_aa(T171, unif_pairs60_out_a(T171)) → unif_pairs51_out_aa(black, .(black, T171))
unif_pairs51_in_aa(black, .(w(T176), T177)) → U22_aa(T176, T177, unif_pairs60_in_a(T177))
U22_aa(T176, T177, unif_pairs60_out_a(T177)) → unif_pairs51_out_aa(black, .(w(T176), T177))
unif_pairs51_in_aa(w(T180), .(black, T181)) → U23_aa(T180, T181, unif_pairs60_in_a(T181))
U23_aa(T180, T181, unif_pairs60_out_a(T181)) → unif_pairs51_out_aa(w(T180), .(black, T181))
U17_aaaaaa(T103, T113, T104, T107, T106, T108, unif_pairs51_out_aa(T103, T113)) → p50_out_aaaaaa(T103, T113, T104, T107, T106, T108)
p50_in_aaaaaa(T103, T113, T117, T118, T119, T120) → U18_aaaaaa(T103, T113, T117, T118, T119, T120, unif_pairs51_in_aa(T103, T113))
U18_aaaaaa(T103, T113, T117, T118, T119, T120, unif_pairs51_out_aa(T103, T113)) → U19_aaaaaa(T103, T113, T117, T118, T119, T120, unif_lines43_in_aa(.(T117, T118), .(T119, T120)))
unif_lines43_in_aa(.(T192, []), .(T193, [])) → unif_lines43_out_aa(.(T192, []), .(T193, []))
U19_aaaaaa(T103, T113, T117, T118, T119, T120, unif_lines43_out_aa(.(T117, T118), .(T119, T120))) → p50_out_aaaaaa(T103, T113, T117, T118, T119, T120)
U9_aa(T103, T104, T107, T105, T106, T108, p50_out_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_lines43_out_aa(.(T103, .(T104, T107)), .(T105, .(T106, T108)))
U6_aa(T56, T57, T58, unif_lines43_out_aa(T56, T57)) → unif_matrx37_out_aa(T56, .(T57, T58))
unif_matrx37_in_aa(T56, .(T65, T66)) → U7_aa(T56, T65, T66, unif_lines43_in_aa(T56, T65))
U7_aa(T56, T65, T66, unif_lines43_out_aa(T56, T65)) → U8_aa(T56, T65, T66, unif_matrx37_in_aa(T65, T66))
unif_matrx37_in_aa(T199, []) → unif_matrx37_out_aa(T199, [])
U8_aa(T56, T65, T66, unif_matrx37_out_aa(T65, T66)) → unif_matrx37_out_aa(T56, .(T65, T66))
U16_gaa(T16, T37, T17, unif_matrx37_out_aa(T17, T37)) → p17_out_gaa(T16, T37, T17)
U26_ga(T15, T16, T6, p17_out_gaa(T16, X50, T17)) → shapes1_out_ga(.(T15, T16), T6)
shapes1_in_ga(.(black, T204), T6) → U27_ga(T204, T6, p17_in_gag(T204, X293, black))
p17_in_gag(T16, X50, T17) → U14_gag(T16, X50, T17, varmat16_in_ga(T16, X50))
U14_gag(T16, X50, T17, varmat16_out_ga(T16, X50)) → p17_out_gag(T16, X50, T17)
p17_in_gag(T16, T37, T17) → U15_gag(T16, T37, T17, varmat16_in_ga(T16, T37))
U15_gag(T16, T37, T17, varmat16_out_ga(T16, T37)) → U16_gag(T16, T37, T17, unif_matrx37_in_ga(T17, T37))
unif_matrx37_in_ga(T56, .(T57, T58)) → U6_ga(T56, T57, T58, unif_lines43_in_ga(T56, T57))
unif_lines43_in_ga(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_ga(T103, T104, T107, T105, T106, T108, p50_in_gaggaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
p50_in_gaggaa(T103, T113, T104, T107, T106, T108) → U17_gaggaa(T103, T113, T104, T107, T106, T108, unif_pairs51_in_ga(T103, T113))
unif_pairs51_in_ga(w(T140), .(w(T140), T141)) → U20_ga(T140, T141, unif_pairs60_in_a(T141))
U20_ga(T140, T141, unif_pairs60_out_a(T141)) → unif_pairs51_out_ga(w(T140), .(w(T140), T141))
unif_pairs51_in_ga(black, .(black, T171)) → U21_ga(T171, unif_pairs60_in_a(T171))
U21_ga(T171, unif_pairs60_out_a(T171)) → unif_pairs51_out_ga(black, .(black, T171))
unif_pairs51_in_ga(black, .(w(T176), T177)) → U22_ga(T176, T177, unif_pairs60_in_a(T177))
U22_ga(T176, T177, unif_pairs60_out_a(T177)) → unif_pairs51_out_ga(black, .(w(T176), T177))
unif_pairs51_in_ga(w(T180), .(black, T181)) → U23_ga(T180, T181, unif_pairs60_in_a(T181))
U23_ga(T180, T181, unif_pairs60_out_a(T181)) → unif_pairs51_out_ga(w(T180), .(black, T181))
U17_gaggaa(T103, T113, T104, T107, T106, T108, unif_pairs51_out_ga(T103, T113)) → p50_out_gaggaa(T103, T113, T104, T107, T106, T108)
p50_in_gaggaa(T103, T113, T117, T118, T119, T120) → U18_gaggaa(T103, T113, T117, T118, T119, T120, unif_pairs51_in_ga(T103, T113))
U18_gaggaa(T103, T113, T117, T118, T119, T120, unif_pairs51_out_ga(T103, T113)) → U19_gaggaa(T103, T113, T117, T118, T119, T120, unif_lines43_in_ga(.(T117, T118), .(T119, T120)))
unif_lines43_in_ga(.(T192, []), .(T193, [])) → unif_lines43_out_ga(.(T192, []), .(T193, []))
U19_gaggaa(T103, T113, T117, T118, T119, T120, unif_lines43_out_ga(.(T117, T118), .(T119, T120))) → p50_out_gaggaa(T103, T113, T117, T118, T119, T120)
U9_ga(T103, T104, T107, T105, T106, T108, p50_out_gaggaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_lines43_out_ga(.(T103, .(T104, T107)), .(T105, .(T106, T108)))
U6_ga(T56, T57, T58, unif_lines43_out_ga(T56, T57)) → unif_matrx37_out_ga(T56, .(T57, T58))
unif_matrx37_in_ga(T56, .(T65, T66)) → U7_ga(T56, T65, T66, unif_lines43_in_ga(T56, T65))
U7_ga(T56, T65, T66, unif_lines43_out_ga(T56, T65)) → U8_ga(T56, T65, T66, unif_matrx37_in_aa(T65, T66))
U8_ga(T56, T65, T66, unif_matrx37_out_aa(T65, T66)) → unif_matrx37_out_ga(T56, .(T65, T66))
unif_matrx37_in_ga(T199, []) → unif_matrx37_out_ga(T199, [])
U16_gag(T16, T37, T17, unif_matrx37_out_ga(T17, T37)) → p17_out_gag(T16, T37, T17)
U27_ga(T204, T6, p17_out_gag(T204, X293, black)) → shapes1_out_ga(.(black, T204), T6)
shapes1_in_ga(.(white, T207), T6) → U28_ga(T207, T6, p17_in_gag(T207, X310, w(X309)))
U28_ga(T207, T6, p17_out_gag(T207, X310, w(X309))) → shapes1_out_ga(.(white, T207), T6)

The argument filtering Pi contains the following mapping:
shapes1_in_ga(x1, x2)  =  shapes1_in_ga(x1)
.(x1, x2)  =  .(x1, x2)
U24_ga(x1, x2, x3, x4)  =  U24_ga(x1, x2, x4)
varmat16_in_ga(x1, x2)  =  varmat16_in_ga(x1)
[]  =  []
varmat16_out_ga(x1, x2)  =  varmat16_out_ga(x1)
U1_ga(x1, x2, x3, x4, x5)  =  U1_ga(x1, x2, x5)
U2_ga(x1, x2, x3, x4, x5)  =  U2_ga(x1, x2, x5)
black  =  black
U4_ga(x1, x2, x3)  =  U4_ga(x1, x3)
white  =  white
U5_ga(x1, x2, x3, x4)  =  U5_ga(x1, x4)
w(x1)  =  w
U3_ga(x1, x2, x3, x4, x5)  =  U3_ga(x1, x2, x5)
shapes1_out_ga(x1, x2)  =  shapes1_out_ga(x1)
U25_ga(x1, x2, x3, x4)  =  U25_ga(x1, x2, x4)
U26_ga(x1, x2, x3, x4)  =  U26_ga(x1, x2, x4)
p17_in_gaa(x1, x2, x3)  =  p17_in_gaa(x1)
U14_gaa(x1, x2, x3, x4)  =  U14_gaa(x1, x4)
p17_out_gaa(x1, x2, x3)  =  p17_out_gaa(x1)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x1, x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x1, x4)
unif_matrx37_in_aa(x1, x2)  =  unif_matrx37_in_aa
U6_aa(x1, x2, x3, x4)  =  U6_aa(x4)
unif_lines43_in_aa(x1, x2)  =  unif_lines43_in_aa
U9_aa(x1, x2, x3, x4, x5, x6, x7)  =  U9_aa(x7)
p50_in_aaaaaa(x1, x2, x3, x4, x5, x6)  =  p50_in_aaaaaa
U17_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_aaaaaa(x7)
unif_pairs51_in_aa(x1, x2)  =  unif_pairs51_in_aa
U20_aa(x1, x2, x3)  =  U20_aa(x3)
unif_pairs60_in_a(x1)  =  unif_pairs60_in_a
unif_pairs60_out_a(x1)  =  unif_pairs60_out_a(x1)
U10_a(x1, x2, x3)  =  U10_a(x3)
U11_a(x1, x2)  =  U11_a(x2)
U12_a(x1, x2, x3)  =  U12_a(x3)
U13_a(x1, x2, x3)  =  U13_a(x3)
unif_pairs51_out_aa(x1, x2)  =  unif_pairs51_out_aa(x1, x2)
U21_aa(x1, x2)  =  U21_aa(x2)
U22_aa(x1, x2, x3)  =  U22_aa(x3)
U23_aa(x1, x2, x3)  =  U23_aa(x3)
p50_out_aaaaaa(x1, x2, x3, x4, x5, x6)  =  p50_out_aaaaaa(x1, x2)
U18_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_aaaaaa(x7)
U19_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U19_aaaaaa(x1, x2, x7)
unif_lines43_out_aa(x1, x2)  =  unif_lines43_out_aa
unif_matrx37_out_aa(x1, x2)  =  unif_matrx37_out_aa
U7_aa(x1, x2, x3, x4)  =  U7_aa(x4)
U8_aa(x1, x2, x3, x4)  =  U8_aa(x4)
U27_ga(x1, x2, x3)  =  U27_ga(x1, x3)
p17_in_gag(x1, x2, x3)  =  p17_in_gag(x1, x3)
U14_gag(x1, x2, x3, x4)  =  U14_gag(x1, x3, x4)
p17_out_gag(x1, x2, x3)  =  p17_out_gag(x1, x3)
U15_gag(x1, x2, x3, x4)  =  U15_gag(x1, x3, x4)
U16_gag(x1, x2, x3, x4)  =  U16_gag(x1, x3, x4)
unif_matrx37_in_ga(x1, x2)  =  unif_matrx37_in_ga(x1)
U6_ga(x1, x2, x3, x4)  =  U6_ga(x1, x4)
unif_lines43_in_ga(x1, x2)  =  unif_lines43_in_ga(x1)
U9_ga(x1, x2, x3, x4, x5, x6, x7)  =  U9_ga(x1, x2, x3, x7)
p50_in_gaggaa(x1, x2, x3, x4, x5, x6)  =  p50_in_gaggaa(x1, x3, x4)
U17_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_gaggaa(x1, x3, x4, x7)
unif_pairs51_in_ga(x1, x2)  =  unif_pairs51_in_ga(x1)
U20_ga(x1, x2, x3)  =  U20_ga(x3)
unif_pairs51_out_ga(x1, x2)  =  unif_pairs51_out_ga(x1, x2)
U21_ga(x1, x2)  =  U21_ga(x2)
U22_ga(x1, x2, x3)  =  U22_ga(x3)
U23_ga(x1, x2, x3)  =  U23_ga(x3)
p50_out_gaggaa(x1, x2, x3, x4, x5, x6)  =  p50_out_gaggaa(x1, x2, x3, x4)
U18_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_gaggaa(x1, x3, x4, x7)
U19_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U19_gaggaa(x1, x2, x3, x4, x7)
unif_lines43_out_ga(x1, x2)  =  unif_lines43_out_ga(x1)
unif_matrx37_out_ga(x1, x2)  =  unif_matrx37_out_ga(x1)
U7_ga(x1, x2, x3, x4)  =  U7_ga(x1, x4)
U8_ga(x1, x2, x3, x4)  =  U8_ga(x1, x4)
U28_ga(x1, x2, x3)  =  U28_ga(x1, x3)
UNIF_LINES43_IN_AA(x1, x2)  =  UNIF_LINES43_IN_AA
P50_IN_AAAAAA(x1, x2, x3, x4, x5, x6)  =  P50_IN_AAAAAA
U18_AAAAAA(x1, x2, x3, x4, x5, x6, x7)  =  U18_AAAAAA(x7)

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

(26) UsableRulesProof (EQUIVALENT transformation)

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

(27) Obligation:

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

UNIF_LINES43_IN_AA(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → P50_IN_AAAAAA(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)
P50_IN_AAAAAA(T103, T113, T117, T118, T119, T120) → U18_AAAAAA(T103, T113, T117, T118, T119, T120, unif_pairs51_in_aa(T103, T113))
U18_AAAAAA(T103, T113, T117, T118, T119, T120, unif_pairs51_out_aa(T103, T113)) → UNIF_LINES43_IN_AA(.(T117, T118), .(T119, T120))

The TRS R consists of the following rules:

unif_pairs51_in_aa(w(T140), .(w(T140), T141)) → U20_aa(T140, T141, unif_pairs60_in_a(T141))
unif_pairs51_in_aa(black, .(black, T171)) → U21_aa(T171, unif_pairs60_in_a(T171))
unif_pairs51_in_aa(black, .(w(T176), T177)) → U22_aa(T176, T177, unif_pairs60_in_a(T177))
unif_pairs51_in_aa(w(T180), .(black, T181)) → U23_aa(T180, T181, unif_pairs60_in_a(T181))
U20_aa(T140, T141, unif_pairs60_out_a(T141)) → unif_pairs51_out_aa(w(T140), .(w(T140), T141))
U21_aa(T171, unif_pairs60_out_a(T171)) → unif_pairs51_out_aa(black, .(black, T171))
U22_aa(T176, T177, unif_pairs60_out_a(T177)) → unif_pairs51_out_aa(black, .(w(T176), T177))
U23_aa(T180, T181, unif_pairs60_out_a(T181)) → unif_pairs51_out_aa(w(T180), .(black, T181))
unif_pairs60_in_a([]) → unif_pairs60_out_a([])
unif_pairs60_in_a(.(w(T158), .(w(T158), T159))) → U10_a(T158, T159, unif_pairs60_in_a(T159))
unif_pairs60_in_a(.(black, .(black, T160))) → U11_a(T160, unif_pairs60_in_a(T160))
unif_pairs60_in_a(.(black, .(w(T165), T166))) → U12_a(T165, T166, unif_pairs60_in_a(T166))
unif_pairs60_in_a(.(w(T169), .(black, T170))) → U13_a(T169, T170, unif_pairs60_in_a(T170))
U10_a(T158, T159, unif_pairs60_out_a(T159)) → unif_pairs60_out_a(.(w(T158), .(w(T158), T159)))
U11_a(T160, unif_pairs60_out_a(T160)) → unif_pairs60_out_a(.(black, .(black, T160)))
U12_a(T165, T166, unif_pairs60_out_a(T166)) → unif_pairs60_out_a(.(black, .(w(T165), T166)))
U13_a(T169, T170, unif_pairs60_out_a(T170)) → unif_pairs60_out_a(.(w(T169), .(black, T170)))

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
[]  =  []
black  =  black
w(x1)  =  w
unif_pairs51_in_aa(x1, x2)  =  unif_pairs51_in_aa
U20_aa(x1, x2, x3)  =  U20_aa(x3)
unif_pairs60_in_a(x1)  =  unif_pairs60_in_a
unif_pairs60_out_a(x1)  =  unif_pairs60_out_a(x1)
U10_a(x1, x2, x3)  =  U10_a(x3)
U11_a(x1, x2)  =  U11_a(x2)
U12_a(x1, x2, x3)  =  U12_a(x3)
U13_a(x1, x2, x3)  =  U13_a(x3)
unif_pairs51_out_aa(x1, x2)  =  unif_pairs51_out_aa(x1, x2)
U21_aa(x1, x2)  =  U21_aa(x2)
U22_aa(x1, x2, x3)  =  U22_aa(x3)
U23_aa(x1, x2, x3)  =  U23_aa(x3)
UNIF_LINES43_IN_AA(x1, x2)  =  UNIF_LINES43_IN_AA
P50_IN_AAAAAA(x1, x2, x3, x4, x5, x6)  =  P50_IN_AAAAAA
U18_AAAAAA(x1, x2, x3, x4, x5, x6, x7)  =  U18_AAAAAA(x7)

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

(28) PiDPToQDPProof (SOUND transformation)

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

(29) Obligation:

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

UNIF_LINES43_IN_AAP50_IN_AAAAAA
P50_IN_AAAAAAU18_AAAAAA(unif_pairs51_in_aa)
U18_AAAAAA(unif_pairs51_out_aa(T103, T113)) → UNIF_LINES43_IN_AA

The TRS R consists of the following rules:

unif_pairs51_in_aaU20_aa(unif_pairs60_in_a)
unif_pairs51_in_aaU21_aa(unif_pairs60_in_a)
unif_pairs51_in_aaU22_aa(unif_pairs60_in_a)
unif_pairs51_in_aaU23_aa(unif_pairs60_in_a)
U20_aa(unif_pairs60_out_a(T141)) → unif_pairs51_out_aa(w, .(w, T141))
U21_aa(unif_pairs60_out_a(T171)) → unif_pairs51_out_aa(black, .(black, T171))
U22_aa(unif_pairs60_out_a(T177)) → unif_pairs51_out_aa(black, .(w, T177))
U23_aa(unif_pairs60_out_a(T181)) → unif_pairs51_out_aa(w, .(black, T181))
unif_pairs60_in_aunif_pairs60_out_a([])
unif_pairs60_in_aU10_a(unif_pairs60_in_a)
unif_pairs60_in_aU11_a(unif_pairs60_in_a)
unif_pairs60_in_aU12_a(unif_pairs60_in_a)
unif_pairs60_in_aU13_a(unif_pairs60_in_a)
U10_a(unif_pairs60_out_a(T159)) → unif_pairs60_out_a(.(w, .(w, T159)))
U11_a(unif_pairs60_out_a(T160)) → unif_pairs60_out_a(.(black, .(black, T160)))
U12_a(unif_pairs60_out_a(T166)) → unif_pairs60_out_a(.(black, .(w, T166)))
U13_a(unif_pairs60_out_a(T170)) → unif_pairs60_out_a(.(w, .(black, T170)))

The set Q consists of the following terms:

unif_pairs51_in_aa
U20_aa(x0)
U21_aa(x0)
U22_aa(x0)
U23_aa(x0)
unif_pairs60_in_a
U10_a(x0)
U11_a(x0)
U12_a(x0)
U13_a(x0)

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

(30) Narrowing (SOUND transformation)

By narrowing [LPAR04] the rule P50_IN_AAAAAAU18_AAAAAA(unif_pairs51_in_aa) at position [0] we obtained the following new rules [LPAR04]:

P50_IN_AAAAAAU18_AAAAAA(U20_aa(unif_pairs60_in_a))
P50_IN_AAAAAAU18_AAAAAA(U21_aa(unif_pairs60_in_a))
P50_IN_AAAAAAU18_AAAAAA(U22_aa(unif_pairs60_in_a))
P50_IN_AAAAAAU18_AAAAAA(U23_aa(unif_pairs60_in_a))

(31) Obligation:

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

UNIF_LINES43_IN_AAP50_IN_AAAAAA
U18_AAAAAA(unif_pairs51_out_aa(T103, T113)) → UNIF_LINES43_IN_AA
P50_IN_AAAAAAU18_AAAAAA(U20_aa(unif_pairs60_in_a))
P50_IN_AAAAAAU18_AAAAAA(U21_aa(unif_pairs60_in_a))
P50_IN_AAAAAAU18_AAAAAA(U22_aa(unif_pairs60_in_a))
P50_IN_AAAAAAU18_AAAAAA(U23_aa(unif_pairs60_in_a))

The TRS R consists of the following rules:

unif_pairs51_in_aaU20_aa(unif_pairs60_in_a)
unif_pairs51_in_aaU21_aa(unif_pairs60_in_a)
unif_pairs51_in_aaU22_aa(unif_pairs60_in_a)
unif_pairs51_in_aaU23_aa(unif_pairs60_in_a)
U20_aa(unif_pairs60_out_a(T141)) → unif_pairs51_out_aa(w, .(w, T141))
U21_aa(unif_pairs60_out_a(T171)) → unif_pairs51_out_aa(black, .(black, T171))
U22_aa(unif_pairs60_out_a(T177)) → unif_pairs51_out_aa(black, .(w, T177))
U23_aa(unif_pairs60_out_a(T181)) → unif_pairs51_out_aa(w, .(black, T181))
unif_pairs60_in_aunif_pairs60_out_a([])
unif_pairs60_in_aU10_a(unif_pairs60_in_a)
unif_pairs60_in_aU11_a(unif_pairs60_in_a)
unif_pairs60_in_aU12_a(unif_pairs60_in_a)
unif_pairs60_in_aU13_a(unif_pairs60_in_a)
U10_a(unif_pairs60_out_a(T159)) → unif_pairs60_out_a(.(w, .(w, T159)))
U11_a(unif_pairs60_out_a(T160)) → unif_pairs60_out_a(.(black, .(black, T160)))
U12_a(unif_pairs60_out_a(T166)) → unif_pairs60_out_a(.(black, .(w, T166)))
U13_a(unif_pairs60_out_a(T170)) → unif_pairs60_out_a(.(w, .(black, T170)))

The set Q consists of the following terms:

unif_pairs51_in_aa
U20_aa(x0)
U21_aa(x0)
U22_aa(x0)
U23_aa(x0)
unif_pairs60_in_a
U10_a(x0)
U11_a(x0)
U12_a(x0)
U13_a(x0)

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

(32) 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.

(33) Obligation:

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

UNIF_LINES43_IN_AAP50_IN_AAAAAA
U18_AAAAAA(unif_pairs51_out_aa(T103, T113)) → UNIF_LINES43_IN_AA
P50_IN_AAAAAAU18_AAAAAA(U20_aa(unif_pairs60_in_a))
P50_IN_AAAAAAU18_AAAAAA(U21_aa(unif_pairs60_in_a))
P50_IN_AAAAAAU18_AAAAAA(U22_aa(unif_pairs60_in_a))
P50_IN_AAAAAAU18_AAAAAA(U23_aa(unif_pairs60_in_a))

The TRS R consists of the following rules:

unif_pairs60_in_aunif_pairs60_out_a([])
unif_pairs60_in_aU10_a(unif_pairs60_in_a)
unif_pairs60_in_aU11_a(unif_pairs60_in_a)
unif_pairs60_in_aU12_a(unif_pairs60_in_a)
unif_pairs60_in_aU13_a(unif_pairs60_in_a)
U23_aa(unif_pairs60_out_a(T181)) → unif_pairs51_out_aa(w, .(black, T181))
U13_a(unif_pairs60_out_a(T170)) → unif_pairs60_out_a(.(w, .(black, T170)))
U12_a(unif_pairs60_out_a(T166)) → unif_pairs60_out_a(.(black, .(w, T166)))
U11_a(unif_pairs60_out_a(T160)) → unif_pairs60_out_a(.(black, .(black, T160)))
U10_a(unif_pairs60_out_a(T159)) → unif_pairs60_out_a(.(w, .(w, T159)))
U22_aa(unif_pairs60_out_a(T177)) → unif_pairs51_out_aa(black, .(w, T177))
U21_aa(unif_pairs60_out_a(T171)) → unif_pairs51_out_aa(black, .(black, T171))
U20_aa(unif_pairs60_out_a(T141)) → unif_pairs51_out_aa(w, .(w, T141))

The set Q consists of the following terms:

unif_pairs51_in_aa
U20_aa(x0)
U21_aa(x0)
U22_aa(x0)
U23_aa(x0)
unif_pairs60_in_a
U10_a(x0)
U11_a(x0)
U12_a(x0)
U13_a(x0)

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

(34) 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].

unif_pairs51_in_aa

(35) Obligation:

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

UNIF_LINES43_IN_AAP50_IN_AAAAAA
U18_AAAAAA(unif_pairs51_out_aa(T103, T113)) → UNIF_LINES43_IN_AA
P50_IN_AAAAAAU18_AAAAAA(U20_aa(unif_pairs60_in_a))
P50_IN_AAAAAAU18_AAAAAA(U21_aa(unif_pairs60_in_a))
P50_IN_AAAAAAU18_AAAAAA(U22_aa(unif_pairs60_in_a))
P50_IN_AAAAAAU18_AAAAAA(U23_aa(unif_pairs60_in_a))

The TRS R consists of the following rules:

unif_pairs60_in_aunif_pairs60_out_a([])
unif_pairs60_in_aU10_a(unif_pairs60_in_a)
unif_pairs60_in_aU11_a(unif_pairs60_in_a)
unif_pairs60_in_aU12_a(unif_pairs60_in_a)
unif_pairs60_in_aU13_a(unif_pairs60_in_a)
U23_aa(unif_pairs60_out_a(T181)) → unif_pairs51_out_aa(w, .(black, T181))
U13_a(unif_pairs60_out_a(T170)) → unif_pairs60_out_a(.(w, .(black, T170)))
U12_a(unif_pairs60_out_a(T166)) → unif_pairs60_out_a(.(black, .(w, T166)))
U11_a(unif_pairs60_out_a(T160)) → unif_pairs60_out_a(.(black, .(black, T160)))
U10_a(unif_pairs60_out_a(T159)) → unif_pairs60_out_a(.(w, .(w, T159)))
U22_aa(unif_pairs60_out_a(T177)) → unif_pairs51_out_aa(black, .(w, T177))
U21_aa(unif_pairs60_out_a(T171)) → unif_pairs51_out_aa(black, .(black, T171))
U20_aa(unif_pairs60_out_a(T141)) → unif_pairs51_out_aa(w, .(w, T141))

The set Q consists of the following terms:

U20_aa(x0)
U21_aa(x0)
U22_aa(x0)
U23_aa(x0)
unif_pairs60_in_a
U10_a(x0)
U11_a(x0)
U12_a(x0)
U13_a(x0)

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

(36) 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 = U18_AAAAAA(U20_aa(unif_pairs60_in_a)) evaluates to t =U18_AAAAAA(U20_aa(unif_pairs60_in_a))

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




Rewriting sequence

U18_AAAAAA(U20_aa(unif_pairs60_in_a))U18_AAAAAA(U20_aa(unif_pairs60_out_a([])))
with rule unif_pairs60_in_aunif_pairs60_out_a([]) at position [0,0] and matcher [ ]

U18_AAAAAA(U20_aa(unif_pairs60_out_a([])))U18_AAAAAA(unif_pairs51_out_aa(w, .(w, [])))
with rule U20_aa(unif_pairs60_out_a(T141)) → unif_pairs51_out_aa(w, .(w, T141)) at position [0] and matcher [T141 / []]

U18_AAAAAA(unif_pairs51_out_aa(w, .(w, [])))UNIF_LINES43_IN_AA
with rule U18_AAAAAA(unif_pairs51_out_aa(T103, T113)) → UNIF_LINES43_IN_AA at position [] and matcher [T103 / w, T113 / .(w, [])]

UNIF_LINES43_IN_AAP50_IN_AAAAAA
with rule UNIF_LINES43_IN_AAP50_IN_AAAAAA at position [] and matcher [ ]

P50_IN_AAAAAAU18_AAAAAA(U20_aa(unif_pairs60_in_a))
with rule P50_IN_AAAAAAU18_AAAAAA(U20_aa(unif_pairs60_in_a))

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.



(37) NO

(38) Obligation:

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

UNIF_MATRX37_IN_AA(T56, .(T65, T66)) → U7_AA(T56, T65, T66, unif_lines43_in_aa(T56, T65))
U7_AA(T56, T65, T66, unif_lines43_out_aa(T56, T65)) → UNIF_MATRX37_IN_AA(T65, T66)

The TRS R consists of the following rules:

shapes1_in_ga(.(T15, T16), T6) → U24_ga(T15, T16, T6, varmat16_in_ga(T15, X49))
varmat16_in_ga([], []) → varmat16_out_ga([], [])
varmat16_in_ga(.(T26, T27), .(X83, X84)) → U1_ga(T26, T27, X83, X84, varmat16_in_ga(T26, X83))
varmat16_in_ga(.(T26, T27), .(T28, X84)) → U2_ga(T26, T27, T28, X84, varmat16_in_ga(T26, T28))
varmat16_in_ga(.(black, T33), .(black, X103)) → U4_ga(T33, X103, varmat16_in_ga(T33, X103))
varmat16_in_ga(.(white, T36), .(w(X119), X120)) → U5_ga(T36, X119, X120, varmat16_in_ga(T36, X120))
U5_ga(T36, X119, X120, varmat16_out_ga(T36, X120)) → varmat16_out_ga(.(white, T36), .(w(X119), X120))
U4_ga(T33, X103, varmat16_out_ga(T33, X103)) → varmat16_out_ga(.(black, T33), .(black, X103))
U2_ga(T26, T27, T28, X84, varmat16_out_ga(T26, T28)) → U3_ga(T26, T27, T28, X84, varmat16_in_ga(T27, X84))
U3_ga(T26, T27, T28, X84, varmat16_out_ga(T27, X84)) → varmat16_out_ga(.(T26, T27), .(T28, X84))
U1_ga(T26, T27, X83, X84, varmat16_out_ga(T26, X83)) → varmat16_out_ga(.(T26, T27), .(X83, X84))
U24_ga(T15, T16, T6, varmat16_out_ga(T15, X49)) → shapes1_out_ga(.(T15, T16), T6)
shapes1_in_ga(.(T15, T16), T6) → U25_ga(T15, T16, T6, varmat16_in_ga(T15, T17))
U25_ga(T15, T16, T6, varmat16_out_ga(T15, T17)) → U26_ga(T15, T16, T6, p17_in_gaa(T16, X50, T17))
p17_in_gaa(T16, X50, T17) → U14_gaa(T16, X50, T17, varmat16_in_ga(T16, X50))
U14_gaa(T16, X50, T17, varmat16_out_ga(T16, X50)) → p17_out_gaa(T16, X50, T17)
p17_in_gaa(T16, T37, T17) → U15_gaa(T16, T37, T17, varmat16_in_ga(T16, T37))
U15_gaa(T16, T37, T17, varmat16_out_ga(T16, T37)) → U16_gaa(T16, T37, T17, unif_matrx37_in_aa(T17, T37))
unif_matrx37_in_aa(T56, .(T57, T58)) → U6_aa(T56, T57, T58, unif_lines43_in_aa(T56, T57))
unif_lines43_in_aa(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_aa(T103, T104, T107, T105, T106, T108, p50_in_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
p50_in_aaaaaa(T103, T113, T104, T107, T106, T108) → U17_aaaaaa(T103, T113, T104, T107, T106, T108, unif_pairs51_in_aa(T103, T113))
unif_pairs51_in_aa(w(T140), .(w(T140), T141)) → U20_aa(T140, T141, unif_pairs60_in_a(T141))
unif_pairs60_in_a([]) → unif_pairs60_out_a([])
unif_pairs60_in_a(.(w(T158), .(w(T158), T159))) → U10_a(T158, T159, unif_pairs60_in_a(T159))
unif_pairs60_in_a(.(black, .(black, T160))) → U11_a(T160, unif_pairs60_in_a(T160))
unif_pairs60_in_a(.(black, .(w(T165), T166))) → U12_a(T165, T166, unif_pairs60_in_a(T166))
unif_pairs60_in_a(.(w(T169), .(black, T170))) → U13_a(T169, T170, unif_pairs60_in_a(T170))
U13_a(T169, T170, unif_pairs60_out_a(T170)) → unif_pairs60_out_a(.(w(T169), .(black, T170)))
U12_a(T165, T166, unif_pairs60_out_a(T166)) → unif_pairs60_out_a(.(black, .(w(T165), T166)))
U11_a(T160, unif_pairs60_out_a(T160)) → unif_pairs60_out_a(.(black, .(black, T160)))
U10_a(T158, T159, unif_pairs60_out_a(T159)) → unif_pairs60_out_a(.(w(T158), .(w(T158), T159)))
U20_aa(T140, T141, unif_pairs60_out_a(T141)) → unif_pairs51_out_aa(w(T140), .(w(T140), T141))
unif_pairs51_in_aa(black, .(black, T171)) → U21_aa(T171, unif_pairs60_in_a(T171))
U21_aa(T171, unif_pairs60_out_a(T171)) → unif_pairs51_out_aa(black, .(black, T171))
unif_pairs51_in_aa(black, .(w(T176), T177)) → U22_aa(T176, T177, unif_pairs60_in_a(T177))
U22_aa(T176, T177, unif_pairs60_out_a(T177)) → unif_pairs51_out_aa(black, .(w(T176), T177))
unif_pairs51_in_aa(w(T180), .(black, T181)) → U23_aa(T180, T181, unif_pairs60_in_a(T181))
U23_aa(T180, T181, unif_pairs60_out_a(T181)) → unif_pairs51_out_aa(w(T180), .(black, T181))
U17_aaaaaa(T103, T113, T104, T107, T106, T108, unif_pairs51_out_aa(T103, T113)) → p50_out_aaaaaa(T103, T113, T104, T107, T106, T108)
p50_in_aaaaaa(T103, T113, T117, T118, T119, T120) → U18_aaaaaa(T103, T113, T117, T118, T119, T120, unif_pairs51_in_aa(T103, T113))
U18_aaaaaa(T103, T113, T117, T118, T119, T120, unif_pairs51_out_aa(T103, T113)) → U19_aaaaaa(T103, T113, T117, T118, T119, T120, unif_lines43_in_aa(.(T117, T118), .(T119, T120)))
unif_lines43_in_aa(.(T192, []), .(T193, [])) → unif_lines43_out_aa(.(T192, []), .(T193, []))
U19_aaaaaa(T103, T113, T117, T118, T119, T120, unif_lines43_out_aa(.(T117, T118), .(T119, T120))) → p50_out_aaaaaa(T103, T113, T117, T118, T119, T120)
U9_aa(T103, T104, T107, T105, T106, T108, p50_out_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_lines43_out_aa(.(T103, .(T104, T107)), .(T105, .(T106, T108)))
U6_aa(T56, T57, T58, unif_lines43_out_aa(T56, T57)) → unif_matrx37_out_aa(T56, .(T57, T58))
unif_matrx37_in_aa(T56, .(T65, T66)) → U7_aa(T56, T65, T66, unif_lines43_in_aa(T56, T65))
U7_aa(T56, T65, T66, unif_lines43_out_aa(T56, T65)) → U8_aa(T56, T65, T66, unif_matrx37_in_aa(T65, T66))
unif_matrx37_in_aa(T199, []) → unif_matrx37_out_aa(T199, [])
U8_aa(T56, T65, T66, unif_matrx37_out_aa(T65, T66)) → unif_matrx37_out_aa(T56, .(T65, T66))
U16_gaa(T16, T37, T17, unif_matrx37_out_aa(T17, T37)) → p17_out_gaa(T16, T37, T17)
U26_ga(T15, T16, T6, p17_out_gaa(T16, X50, T17)) → shapes1_out_ga(.(T15, T16), T6)
shapes1_in_ga(.(black, T204), T6) → U27_ga(T204, T6, p17_in_gag(T204, X293, black))
p17_in_gag(T16, X50, T17) → U14_gag(T16, X50, T17, varmat16_in_ga(T16, X50))
U14_gag(T16, X50, T17, varmat16_out_ga(T16, X50)) → p17_out_gag(T16, X50, T17)
p17_in_gag(T16, T37, T17) → U15_gag(T16, T37, T17, varmat16_in_ga(T16, T37))
U15_gag(T16, T37, T17, varmat16_out_ga(T16, T37)) → U16_gag(T16, T37, T17, unif_matrx37_in_ga(T17, T37))
unif_matrx37_in_ga(T56, .(T57, T58)) → U6_ga(T56, T57, T58, unif_lines43_in_ga(T56, T57))
unif_lines43_in_ga(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_ga(T103, T104, T107, T105, T106, T108, p50_in_gaggaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
p50_in_gaggaa(T103, T113, T104, T107, T106, T108) → U17_gaggaa(T103, T113, T104, T107, T106, T108, unif_pairs51_in_ga(T103, T113))
unif_pairs51_in_ga(w(T140), .(w(T140), T141)) → U20_ga(T140, T141, unif_pairs60_in_a(T141))
U20_ga(T140, T141, unif_pairs60_out_a(T141)) → unif_pairs51_out_ga(w(T140), .(w(T140), T141))
unif_pairs51_in_ga(black, .(black, T171)) → U21_ga(T171, unif_pairs60_in_a(T171))
U21_ga(T171, unif_pairs60_out_a(T171)) → unif_pairs51_out_ga(black, .(black, T171))
unif_pairs51_in_ga(black, .(w(T176), T177)) → U22_ga(T176, T177, unif_pairs60_in_a(T177))
U22_ga(T176, T177, unif_pairs60_out_a(T177)) → unif_pairs51_out_ga(black, .(w(T176), T177))
unif_pairs51_in_ga(w(T180), .(black, T181)) → U23_ga(T180, T181, unif_pairs60_in_a(T181))
U23_ga(T180, T181, unif_pairs60_out_a(T181)) → unif_pairs51_out_ga(w(T180), .(black, T181))
U17_gaggaa(T103, T113, T104, T107, T106, T108, unif_pairs51_out_ga(T103, T113)) → p50_out_gaggaa(T103, T113, T104, T107, T106, T108)
p50_in_gaggaa(T103, T113, T117, T118, T119, T120) → U18_gaggaa(T103, T113, T117, T118, T119, T120, unif_pairs51_in_ga(T103, T113))
U18_gaggaa(T103, T113, T117, T118, T119, T120, unif_pairs51_out_ga(T103, T113)) → U19_gaggaa(T103, T113, T117, T118, T119, T120, unif_lines43_in_ga(.(T117, T118), .(T119, T120)))
unif_lines43_in_ga(.(T192, []), .(T193, [])) → unif_lines43_out_ga(.(T192, []), .(T193, []))
U19_gaggaa(T103, T113, T117, T118, T119, T120, unif_lines43_out_ga(.(T117, T118), .(T119, T120))) → p50_out_gaggaa(T103, T113, T117, T118, T119, T120)
U9_ga(T103, T104, T107, T105, T106, T108, p50_out_gaggaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_lines43_out_ga(.(T103, .(T104, T107)), .(T105, .(T106, T108)))
U6_ga(T56, T57, T58, unif_lines43_out_ga(T56, T57)) → unif_matrx37_out_ga(T56, .(T57, T58))
unif_matrx37_in_ga(T56, .(T65, T66)) → U7_ga(T56, T65, T66, unif_lines43_in_ga(T56, T65))
U7_ga(T56, T65, T66, unif_lines43_out_ga(T56, T65)) → U8_ga(T56, T65, T66, unif_matrx37_in_aa(T65, T66))
U8_ga(T56, T65, T66, unif_matrx37_out_aa(T65, T66)) → unif_matrx37_out_ga(T56, .(T65, T66))
unif_matrx37_in_ga(T199, []) → unif_matrx37_out_ga(T199, [])
U16_gag(T16, T37, T17, unif_matrx37_out_ga(T17, T37)) → p17_out_gag(T16, T37, T17)
U27_ga(T204, T6, p17_out_gag(T204, X293, black)) → shapes1_out_ga(.(black, T204), T6)
shapes1_in_ga(.(white, T207), T6) → U28_ga(T207, T6, p17_in_gag(T207, X310, w(X309)))
U28_ga(T207, T6, p17_out_gag(T207, X310, w(X309))) → shapes1_out_ga(.(white, T207), T6)

The argument filtering Pi contains the following mapping:
shapes1_in_ga(x1, x2)  =  shapes1_in_ga(x1)
.(x1, x2)  =  .(x1, x2)
U24_ga(x1, x2, x3, x4)  =  U24_ga(x1, x2, x4)
varmat16_in_ga(x1, x2)  =  varmat16_in_ga(x1)
[]  =  []
varmat16_out_ga(x1, x2)  =  varmat16_out_ga(x1)
U1_ga(x1, x2, x3, x4, x5)  =  U1_ga(x1, x2, x5)
U2_ga(x1, x2, x3, x4, x5)  =  U2_ga(x1, x2, x5)
black  =  black
U4_ga(x1, x2, x3)  =  U4_ga(x1, x3)
white  =  white
U5_ga(x1, x2, x3, x4)  =  U5_ga(x1, x4)
w(x1)  =  w
U3_ga(x1, x2, x3, x4, x5)  =  U3_ga(x1, x2, x5)
shapes1_out_ga(x1, x2)  =  shapes1_out_ga(x1)
U25_ga(x1, x2, x3, x4)  =  U25_ga(x1, x2, x4)
U26_ga(x1, x2, x3, x4)  =  U26_ga(x1, x2, x4)
p17_in_gaa(x1, x2, x3)  =  p17_in_gaa(x1)
U14_gaa(x1, x2, x3, x4)  =  U14_gaa(x1, x4)
p17_out_gaa(x1, x2, x3)  =  p17_out_gaa(x1)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x1, x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x1, x4)
unif_matrx37_in_aa(x1, x2)  =  unif_matrx37_in_aa
U6_aa(x1, x2, x3, x4)  =  U6_aa(x4)
unif_lines43_in_aa(x1, x2)  =  unif_lines43_in_aa
U9_aa(x1, x2, x3, x4, x5, x6, x7)  =  U9_aa(x7)
p50_in_aaaaaa(x1, x2, x3, x4, x5, x6)  =  p50_in_aaaaaa
U17_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_aaaaaa(x7)
unif_pairs51_in_aa(x1, x2)  =  unif_pairs51_in_aa
U20_aa(x1, x2, x3)  =  U20_aa(x3)
unif_pairs60_in_a(x1)  =  unif_pairs60_in_a
unif_pairs60_out_a(x1)  =  unif_pairs60_out_a(x1)
U10_a(x1, x2, x3)  =  U10_a(x3)
U11_a(x1, x2)  =  U11_a(x2)
U12_a(x1, x2, x3)  =  U12_a(x3)
U13_a(x1, x2, x3)  =  U13_a(x3)
unif_pairs51_out_aa(x1, x2)  =  unif_pairs51_out_aa(x1, x2)
U21_aa(x1, x2)  =  U21_aa(x2)
U22_aa(x1, x2, x3)  =  U22_aa(x3)
U23_aa(x1, x2, x3)  =  U23_aa(x3)
p50_out_aaaaaa(x1, x2, x3, x4, x5, x6)  =  p50_out_aaaaaa(x1, x2)
U18_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_aaaaaa(x7)
U19_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U19_aaaaaa(x1, x2, x7)
unif_lines43_out_aa(x1, x2)  =  unif_lines43_out_aa
unif_matrx37_out_aa(x1, x2)  =  unif_matrx37_out_aa
U7_aa(x1, x2, x3, x4)  =  U7_aa(x4)
U8_aa(x1, x2, x3, x4)  =  U8_aa(x4)
U27_ga(x1, x2, x3)  =  U27_ga(x1, x3)
p17_in_gag(x1, x2, x3)  =  p17_in_gag(x1, x3)
U14_gag(x1, x2, x3, x4)  =  U14_gag(x1, x3, x4)
p17_out_gag(x1, x2, x3)  =  p17_out_gag(x1, x3)
U15_gag(x1, x2, x3, x4)  =  U15_gag(x1, x3, x4)
U16_gag(x1, x2, x3, x4)  =  U16_gag(x1, x3, x4)
unif_matrx37_in_ga(x1, x2)  =  unif_matrx37_in_ga(x1)
U6_ga(x1, x2, x3, x4)  =  U6_ga(x1, x4)
unif_lines43_in_ga(x1, x2)  =  unif_lines43_in_ga(x1)
U9_ga(x1, x2, x3, x4, x5, x6, x7)  =  U9_ga(x1, x2, x3, x7)
p50_in_gaggaa(x1, x2, x3, x4, x5, x6)  =  p50_in_gaggaa(x1, x3, x4)
U17_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_gaggaa(x1, x3, x4, x7)
unif_pairs51_in_ga(x1, x2)  =  unif_pairs51_in_ga(x1)
U20_ga(x1, x2, x3)  =  U20_ga(x3)
unif_pairs51_out_ga(x1, x2)  =  unif_pairs51_out_ga(x1, x2)
U21_ga(x1, x2)  =  U21_ga(x2)
U22_ga(x1, x2, x3)  =  U22_ga(x3)
U23_ga(x1, x2, x3)  =  U23_ga(x3)
p50_out_gaggaa(x1, x2, x3, x4, x5, x6)  =  p50_out_gaggaa(x1, x2, x3, x4)
U18_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_gaggaa(x1, x3, x4, x7)
U19_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U19_gaggaa(x1, x2, x3, x4, x7)
unif_lines43_out_ga(x1, x2)  =  unif_lines43_out_ga(x1)
unif_matrx37_out_ga(x1, x2)  =  unif_matrx37_out_ga(x1)
U7_ga(x1, x2, x3, x4)  =  U7_ga(x1, x4)
U8_ga(x1, x2, x3, x4)  =  U8_ga(x1, x4)
U28_ga(x1, x2, x3)  =  U28_ga(x1, x3)
UNIF_MATRX37_IN_AA(x1, x2)  =  UNIF_MATRX37_IN_AA
U7_AA(x1, x2, x3, x4)  =  U7_AA(x4)

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

(39) UsableRulesProof (EQUIVALENT transformation)

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

(40) Obligation:

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

UNIF_MATRX37_IN_AA(T56, .(T65, T66)) → U7_AA(T56, T65, T66, unif_lines43_in_aa(T56, T65))
U7_AA(T56, T65, T66, unif_lines43_out_aa(T56, T65)) → UNIF_MATRX37_IN_AA(T65, T66)

The TRS R consists of the following rules:

unif_lines43_in_aa(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_aa(T103, T104, T107, T105, T106, T108, p50_in_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
unif_lines43_in_aa(.(T192, []), .(T193, [])) → unif_lines43_out_aa(.(T192, []), .(T193, []))
U9_aa(T103, T104, T107, T105, T106, T108, p50_out_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_lines43_out_aa(.(T103, .(T104, T107)), .(T105, .(T106, T108)))
p50_in_aaaaaa(T103, T113, T104, T107, T106, T108) → U17_aaaaaa(T103, T113, T104, T107, T106, T108, unif_pairs51_in_aa(T103, T113))
p50_in_aaaaaa(T103, T113, T117, T118, T119, T120) → U18_aaaaaa(T103, T113, T117, T118, T119, T120, unif_pairs51_in_aa(T103, T113))
U17_aaaaaa(T103, T113, T104, T107, T106, T108, unif_pairs51_out_aa(T103, T113)) → p50_out_aaaaaa(T103, T113, T104, T107, T106, T108)
U18_aaaaaa(T103, T113, T117, T118, T119, T120, unif_pairs51_out_aa(T103, T113)) → U19_aaaaaa(T103, T113, T117, T118, T119, T120, unif_lines43_in_aa(.(T117, T118), .(T119, T120)))
unif_pairs51_in_aa(w(T140), .(w(T140), T141)) → U20_aa(T140, T141, unif_pairs60_in_a(T141))
unif_pairs51_in_aa(black, .(black, T171)) → U21_aa(T171, unif_pairs60_in_a(T171))
unif_pairs51_in_aa(black, .(w(T176), T177)) → U22_aa(T176, T177, unif_pairs60_in_a(T177))
unif_pairs51_in_aa(w(T180), .(black, T181)) → U23_aa(T180, T181, unif_pairs60_in_a(T181))
U19_aaaaaa(T103, T113, T117, T118, T119, T120, unif_lines43_out_aa(.(T117, T118), .(T119, T120))) → p50_out_aaaaaa(T103, T113, T117, T118, T119, T120)
U20_aa(T140, T141, unif_pairs60_out_a(T141)) → unif_pairs51_out_aa(w(T140), .(w(T140), T141))
U21_aa(T171, unif_pairs60_out_a(T171)) → unif_pairs51_out_aa(black, .(black, T171))
U22_aa(T176, T177, unif_pairs60_out_a(T177)) → unif_pairs51_out_aa(black, .(w(T176), T177))
U23_aa(T180, T181, unif_pairs60_out_a(T181)) → unif_pairs51_out_aa(w(T180), .(black, T181))
unif_pairs60_in_a([]) → unif_pairs60_out_a([])
unif_pairs60_in_a(.(w(T158), .(w(T158), T159))) → U10_a(T158, T159, unif_pairs60_in_a(T159))
unif_pairs60_in_a(.(black, .(black, T160))) → U11_a(T160, unif_pairs60_in_a(T160))
unif_pairs60_in_a(.(black, .(w(T165), T166))) → U12_a(T165, T166, unif_pairs60_in_a(T166))
unif_pairs60_in_a(.(w(T169), .(black, T170))) → U13_a(T169, T170, unif_pairs60_in_a(T170))
U10_a(T158, T159, unif_pairs60_out_a(T159)) → unif_pairs60_out_a(.(w(T158), .(w(T158), T159)))
U11_a(T160, unif_pairs60_out_a(T160)) → unif_pairs60_out_a(.(black, .(black, T160)))
U12_a(T165, T166, unif_pairs60_out_a(T166)) → unif_pairs60_out_a(.(black, .(w(T165), T166)))
U13_a(T169, T170, unif_pairs60_out_a(T170)) → unif_pairs60_out_a(.(w(T169), .(black, T170)))

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
[]  =  []
black  =  black
w(x1)  =  w
unif_lines43_in_aa(x1, x2)  =  unif_lines43_in_aa
U9_aa(x1, x2, x3, x4, x5, x6, x7)  =  U9_aa(x7)
p50_in_aaaaaa(x1, x2, x3, x4, x5, x6)  =  p50_in_aaaaaa
U17_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_aaaaaa(x7)
unif_pairs51_in_aa(x1, x2)  =  unif_pairs51_in_aa
U20_aa(x1, x2, x3)  =  U20_aa(x3)
unif_pairs60_in_a(x1)  =  unif_pairs60_in_a
unif_pairs60_out_a(x1)  =  unif_pairs60_out_a(x1)
U10_a(x1, x2, x3)  =  U10_a(x3)
U11_a(x1, x2)  =  U11_a(x2)
U12_a(x1, x2, x3)  =  U12_a(x3)
U13_a(x1, x2, x3)  =  U13_a(x3)
unif_pairs51_out_aa(x1, x2)  =  unif_pairs51_out_aa(x1, x2)
U21_aa(x1, x2)  =  U21_aa(x2)
U22_aa(x1, x2, x3)  =  U22_aa(x3)
U23_aa(x1, x2, x3)  =  U23_aa(x3)
p50_out_aaaaaa(x1, x2, x3, x4, x5, x6)  =  p50_out_aaaaaa(x1, x2)
U18_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_aaaaaa(x7)
U19_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U19_aaaaaa(x1, x2, x7)
unif_lines43_out_aa(x1, x2)  =  unif_lines43_out_aa
UNIF_MATRX37_IN_AA(x1, x2)  =  UNIF_MATRX37_IN_AA
U7_AA(x1, x2, x3, x4)  =  U7_AA(x4)

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

(41) PiDPToQDPProof (SOUND transformation)

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

(42) Obligation:

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

UNIF_MATRX37_IN_AAU7_AA(unif_lines43_in_aa)
U7_AA(unif_lines43_out_aa) → UNIF_MATRX37_IN_AA

The TRS R consists of the following rules:

unif_lines43_in_aaU9_aa(p50_in_aaaaaa)
unif_lines43_in_aaunif_lines43_out_aa
U9_aa(p50_out_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))))) → unif_lines43_out_aa
p50_in_aaaaaaU17_aaaaaa(unif_pairs51_in_aa)
p50_in_aaaaaaU18_aaaaaa(unif_pairs51_in_aa)
U17_aaaaaa(unif_pairs51_out_aa(T103, T113)) → p50_out_aaaaaa(T103, T113)
U18_aaaaaa(unif_pairs51_out_aa(T103, T113)) → U19_aaaaaa(T103, T113, unif_lines43_in_aa)
unif_pairs51_in_aaU20_aa(unif_pairs60_in_a)
unif_pairs51_in_aaU21_aa(unif_pairs60_in_a)
unif_pairs51_in_aaU22_aa(unif_pairs60_in_a)
unif_pairs51_in_aaU23_aa(unif_pairs60_in_a)
U19_aaaaaa(T103, T113, unif_lines43_out_aa) → p50_out_aaaaaa(T103, T113)
U20_aa(unif_pairs60_out_a(T141)) → unif_pairs51_out_aa(w, .(w, T141))
U21_aa(unif_pairs60_out_a(T171)) → unif_pairs51_out_aa(black, .(black, T171))
U22_aa(unif_pairs60_out_a(T177)) → unif_pairs51_out_aa(black, .(w, T177))
U23_aa(unif_pairs60_out_a(T181)) → unif_pairs51_out_aa(w, .(black, T181))
unif_pairs60_in_aunif_pairs60_out_a([])
unif_pairs60_in_aU10_a(unif_pairs60_in_a)
unif_pairs60_in_aU11_a(unif_pairs60_in_a)
unif_pairs60_in_aU12_a(unif_pairs60_in_a)
unif_pairs60_in_aU13_a(unif_pairs60_in_a)
U10_a(unif_pairs60_out_a(T159)) → unif_pairs60_out_a(.(w, .(w, T159)))
U11_a(unif_pairs60_out_a(T160)) → unif_pairs60_out_a(.(black, .(black, T160)))
U12_a(unif_pairs60_out_a(T166)) → unif_pairs60_out_a(.(black, .(w, T166)))
U13_a(unif_pairs60_out_a(T170)) → unif_pairs60_out_a(.(w, .(black, T170)))

The set Q consists of the following terms:

unif_lines43_in_aa
U9_aa(x0)
p50_in_aaaaaa
U17_aaaaaa(x0)
U18_aaaaaa(x0)
unif_pairs51_in_aa
U19_aaaaaa(x0, x1, x2)
U20_aa(x0)
U21_aa(x0)
U22_aa(x0)
U23_aa(x0)
unif_pairs60_in_a
U10_a(x0)
U11_a(x0)
U12_a(x0)
U13_a(x0)

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

(43) Narrowing (SOUND transformation)

By narrowing [LPAR04] the rule UNIF_MATRX37_IN_AAU7_AA(unif_lines43_in_aa) at position [0] we obtained the following new rules [LPAR04]:

UNIF_MATRX37_IN_AAU7_AA(U9_aa(p50_in_aaaaaa))
UNIF_MATRX37_IN_AAU7_AA(unif_lines43_out_aa)

(44) Obligation:

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

U7_AA(unif_lines43_out_aa) → UNIF_MATRX37_IN_AA
UNIF_MATRX37_IN_AAU7_AA(U9_aa(p50_in_aaaaaa))
UNIF_MATRX37_IN_AAU7_AA(unif_lines43_out_aa)

The TRS R consists of the following rules:

unif_lines43_in_aaU9_aa(p50_in_aaaaaa)
unif_lines43_in_aaunif_lines43_out_aa
U9_aa(p50_out_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))))) → unif_lines43_out_aa
p50_in_aaaaaaU17_aaaaaa(unif_pairs51_in_aa)
p50_in_aaaaaaU18_aaaaaa(unif_pairs51_in_aa)
U17_aaaaaa(unif_pairs51_out_aa(T103, T113)) → p50_out_aaaaaa(T103, T113)
U18_aaaaaa(unif_pairs51_out_aa(T103, T113)) → U19_aaaaaa(T103, T113, unif_lines43_in_aa)
unif_pairs51_in_aaU20_aa(unif_pairs60_in_a)
unif_pairs51_in_aaU21_aa(unif_pairs60_in_a)
unif_pairs51_in_aaU22_aa(unif_pairs60_in_a)
unif_pairs51_in_aaU23_aa(unif_pairs60_in_a)
U19_aaaaaa(T103, T113, unif_lines43_out_aa) → p50_out_aaaaaa(T103, T113)
U20_aa(unif_pairs60_out_a(T141)) → unif_pairs51_out_aa(w, .(w, T141))
U21_aa(unif_pairs60_out_a(T171)) → unif_pairs51_out_aa(black, .(black, T171))
U22_aa(unif_pairs60_out_a(T177)) → unif_pairs51_out_aa(black, .(w, T177))
U23_aa(unif_pairs60_out_a(T181)) → unif_pairs51_out_aa(w, .(black, T181))
unif_pairs60_in_aunif_pairs60_out_a([])
unif_pairs60_in_aU10_a(unif_pairs60_in_a)
unif_pairs60_in_aU11_a(unif_pairs60_in_a)
unif_pairs60_in_aU12_a(unif_pairs60_in_a)
unif_pairs60_in_aU13_a(unif_pairs60_in_a)
U10_a(unif_pairs60_out_a(T159)) → unif_pairs60_out_a(.(w, .(w, T159)))
U11_a(unif_pairs60_out_a(T160)) → unif_pairs60_out_a(.(black, .(black, T160)))
U12_a(unif_pairs60_out_a(T166)) → unif_pairs60_out_a(.(black, .(w, T166)))
U13_a(unif_pairs60_out_a(T170)) → unif_pairs60_out_a(.(w, .(black, T170)))

The set Q consists of the following terms:

unif_lines43_in_aa
U9_aa(x0)
p50_in_aaaaaa
U17_aaaaaa(x0)
U18_aaaaaa(x0)
unif_pairs51_in_aa
U19_aaaaaa(x0, x1, x2)
U20_aa(x0)
U21_aa(x0)
U22_aa(x0)
U23_aa(x0)
unif_pairs60_in_a
U10_a(x0)
U11_a(x0)
U12_a(x0)
U13_a(x0)

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

(45) 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 right:

s = U7_AA(unif_lines43_out_aa) evaluates to t =U7_AA(unif_lines43_out_aa)

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




Rewriting sequence

U7_AA(unif_lines43_out_aa)UNIF_MATRX37_IN_AA
with rule U7_AA(unif_lines43_out_aa) → UNIF_MATRX37_IN_AA and matcher [ ].

UNIF_MATRX37_IN_AAU7_AA(unif_lines43_out_aa)
with rule UNIF_MATRX37_IN_AAU7_AA(unif_lines43_out_aa) at position [] and matcher [ ]

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.



(46) NO

(47) Obligation:

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

VARMAT16_IN_GA(.(T26, T27), .(T28, X84)) → U2_GA(T26, T27, T28, X84, varmat16_in_ga(T26, T28))
U2_GA(T26, T27, T28, X84, varmat16_out_ga(T26, T28)) → VARMAT16_IN_GA(T27, X84)
VARMAT16_IN_GA(.(T26, T27), .(X83, X84)) → VARMAT16_IN_GA(T26, X83)
VARMAT16_IN_GA(.(black, T33), .(black, X103)) → VARMAT16_IN_GA(T33, X103)
VARMAT16_IN_GA(.(white, T36), .(w(X119), X120)) → VARMAT16_IN_GA(T36, X120)

The TRS R consists of the following rules:

shapes1_in_ga(.(T15, T16), T6) → U24_ga(T15, T16, T6, varmat16_in_ga(T15, X49))
varmat16_in_ga([], []) → varmat16_out_ga([], [])
varmat16_in_ga(.(T26, T27), .(X83, X84)) → U1_ga(T26, T27, X83, X84, varmat16_in_ga(T26, X83))
varmat16_in_ga(.(T26, T27), .(T28, X84)) → U2_ga(T26, T27, T28, X84, varmat16_in_ga(T26, T28))
varmat16_in_ga(.(black, T33), .(black, X103)) → U4_ga(T33, X103, varmat16_in_ga(T33, X103))
varmat16_in_ga(.(white, T36), .(w(X119), X120)) → U5_ga(T36, X119, X120, varmat16_in_ga(T36, X120))
U5_ga(T36, X119, X120, varmat16_out_ga(T36, X120)) → varmat16_out_ga(.(white, T36), .(w(X119), X120))
U4_ga(T33, X103, varmat16_out_ga(T33, X103)) → varmat16_out_ga(.(black, T33), .(black, X103))
U2_ga(T26, T27, T28, X84, varmat16_out_ga(T26, T28)) → U3_ga(T26, T27, T28, X84, varmat16_in_ga(T27, X84))
U3_ga(T26, T27, T28, X84, varmat16_out_ga(T27, X84)) → varmat16_out_ga(.(T26, T27), .(T28, X84))
U1_ga(T26, T27, X83, X84, varmat16_out_ga(T26, X83)) → varmat16_out_ga(.(T26, T27), .(X83, X84))
U24_ga(T15, T16, T6, varmat16_out_ga(T15, X49)) → shapes1_out_ga(.(T15, T16), T6)
shapes1_in_ga(.(T15, T16), T6) → U25_ga(T15, T16, T6, varmat16_in_ga(T15, T17))
U25_ga(T15, T16, T6, varmat16_out_ga(T15, T17)) → U26_ga(T15, T16, T6, p17_in_gaa(T16, X50, T17))
p17_in_gaa(T16, X50, T17) → U14_gaa(T16, X50, T17, varmat16_in_ga(T16, X50))
U14_gaa(T16, X50, T17, varmat16_out_ga(T16, X50)) → p17_out_gaa(T16, X50, T17)
p17_in_gaa(T16, T37, T17) → U15_gaa(T16, T37, T17, varmat16_in_ga(T16, T37))
U15_gaa(T16, T37, T17, varmat16_out_ga(T16, T37)) → U16_gaa(T16, T37, T17, unif_matrx37_in_aa(T17, T37))
unif_matrx37_in_aa(T56, .(T57, T58)) → U6_aa(T56, T57, T58, unif_lines43_in_aa(T56, T57))
unif_lines43_in_aa(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_aa(T103, T104, T107, T105, T106, T108, p50_in_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
p50_in_aaaaaa(T103, T113, T104, T107, T106, T108) → U17_aaaaaa(T103, T113, T104, T107, T106, T108, unif_pairs51_in_aa(T103, T113))
unif_pairs51_in_aa(w(T140), .(w(T140), T141)) → U20_aa(T140, T141, unif_pairs60_in_a(T141))
unif_pairs60_in_a([]) → unif_pairs60_out_a([])
unif_pairs60_in_a(.(w(T158), .(w(T158), T159))) → U10_a(T158, T159, unif_pairs60_in_a(T159))
unif_pairs60_in_a(.(black, .(black, T160))) → U11_a(T160, unif_pairs60_in_a(T160))
unif_pairs60_in_a(.(black, .(w(T165), T166))) → U12_a(T165, T166, unif_pairs60_in_a(T166))
unif_pairs60_in_a(.(w(T169), .(black, T170))) → U13_a(T169, T170, unif_pairs60_in_a(T170))
U13_a(T169, T170, unif_pairs60_out_a(T170)) → unif_pairs60_out_a(.(w(T169), .(black, T170)))
U12_a(T165, T166, unif_pairs60_out_a(T166)) → unif_pairs60_out_a(.(black, .(w(T165), T166)))
U11_a(T160, unif_pairs60_out_a(T160)) → unif_pairs60_out_a(.(black, .(black, T160)))
U10_a(T158, T159, unif_pairs60_out_a(T159)) → unif_pairs60_out_a(.(w(T158), .(w(T158), T159)))
U20_aa(T140, T141, unif_pairs60_out_a(T141)) → unif_pairs51_out_aa(w(T140), .(w(T140), T141))
unif_pairs51_in_aa(black, .(black, T171)) → U21_aa(T171, unif_pairs60_in_a(T171))
U21_aa(T171, unif_pairs60_out_a(T171)) → unif_pairs51_out_aa(black, .(black, T171))
unif_pairs51_in_aa(black, .(w(T176), T177)) → U22_aa(T176, T177, unif_pairs60_in_a(T177))
U22_aa(T176, T177, unif_pairs60_out_a(T177)) → unif_pairs51_out_aa(black, .(w(T176), T177))
unif_pairs51_in_aa(w(T180), .(black, T181)) → U23_aa(T180, T181, unif_pairs60_in_a(T181))
U23_aa(T180, T181, unif_pairs60_out_a(T181)) → unif_pairs51_out_aa(w(T180), .(black, T181))
U17_aaaaaa(T103, T113, T104, T107, T106, T108, unif_pairs51_out_aa(T103, T113)) → p50_out_aaaaaa(T103, T113, T104, T107, T106, T108)
p50_in_aaaaaa(T103, T113, T117, T118, T119, T120) → U18_aaaaaa(T103, T113, T117, T118, T119, T120, unif_pairs51_in_aa(T103, T113))
U18_aaaaaa(T103, T113, T117, T118, T119, T120, unif_pairs51_out_aa(T103, T113)) → U19_aaaaaa(T103, T113, T117, T118, T119, T120, unif_lines43_in_aa(.(T117, T118), .(T119, T120)))
unif_lines43_in_aa(.(T192, []), .(T193, [])) → unif_lines43_out_aa(.(T192, []), .(T193, []))
U19_aaaaaa(T103, T113, T117, T118, T119, T120, unif_lines43_out_aa(.(T117, T118), .(T119, T120))) → p50_out_aaaaaa(T103, T113, T117, T118, T119, T120)
U9_aa(T103, T104, T107, T105, T106, T108, p50_out_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_lines43_out_aa(.(T103, .(T104, T107)), .(T105, .(T106, T108)))
U6_aa(T56, T57, T58, unif_lines43_out_aa(T56, T57)) → unif_matrx37_out_aa(T56, .(T57, T58))
unif_matrx37_in_aa(T56, .(T65, T66)) → U7_aa(T56, T65, T66, unif_lines43_in_aa(T56, T65))
U7_aa(T56, T65, T66, unif_lines43_out_aa(T56, T65)) → U8_aa(T56, T65, T66, unif_matrx37_in_aa(T65, T66))
unif_matrx37_in_aa(T199, []) → unif_matrx37_out_aa(T199, [])
U8_aa(T56, T65, T66, unif_matrx37_out_aa(T65, T66)) → unif_matrx37_out_aa(T56, .(T65, T66))
U16_gaa(T16, T37, T17, unif_matrx37_out_aa(T17, T37)) → p17_out_gaa(T16, T37, T17)
U26_ga(T15, T16, T6, p17_out_gaa(T16, X50, T17)) → shapes1_out_ga(.(T15, T16), T6)
shapes1_in_ga(.(black, T204), T6) → U27_ga(T204, T6, p17_in_gag(T204, X293, black))
p17_in_gag(T16, X50, T17) → U14_gag(T16, X50, T17, varmat16_in_ga(T16, X50))
U14_gag(T16, X50, T17, varmat16_out_ga(T16, X50)) → p17_out_gag(T16, X50, T17)
p17_in_gag(T16, T37, T17) → U15_gag(T16, T37, T17, varmat16_in_ga(T16, T37))
U15_gag(T16, T37, T17, varmat16_out_ga(T16, T37)) → U16_gag(T16, T37, T17, unif_matrx37_in_ga(T17, T37))
unif_matrx37_in_ga(T56, .(T57, T58)) → U6_ga(T56, T57, T58, unif_lines43_in_ga(T56, T57))
unif_lines43_in_ga(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_ga(T103, T104, T107, T105, T106, T108, p50_in_gaggaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
p50_in_gaggaa(T103, T113, T104, T107, T106, T108) → U17_gaggaa(T103, T113, T104, T107, T106, T108, unif_pairs51_in_ga(T103, T113))
unif_pairs51_in_ga(w(T140), .(w(T140), T141)) → U20_ga(T140, T141, unif_pairs60_in_a(T141))
U20_ga(T140, T141, unif_pairs60_out_a(T141)) → unif_pairs51_out_ga(w(T140), .(w(T140), T141))
unif_pairs51_in_ga(black, .(black, T171)) → U21_ga(T171, unif_pairs60_in_a(T171))
U21_ga(T171, unif_pairs60_out_a(T171)) → unif_pairs51_out_ga(black, .(black, T171))
unif_pairs51_in_ga(black, .(w(T176), T177)) → U22_ga(T176, T177, unif_pairs60_in_a(T177))
U22_ga(T176, T177, unif_pairs60_out_a(T177)) → unif_pairs51_out_ga(black, .(w(T176), T177))
unif_pairs51_in_ga(w(T180), .(black, T181)) → U23_ga(T180, T181, unif_pairs60_in_a(T181))
U23_ga(T180, T181, unif_pairs60_out_a(T181)) → unif_pairs51_out_ga(w(T180), .(black, T181))
U17_gaggaa(T103, T113, T104, T107, T106, T108, unif_pairs51_out_ga(T103, T113)) → p50_out_gaggaa(T103, T113, T104, T107, T106, T108)
p50_in_gaggaa(T103, T113, T117, T118, T119, T120) → U18_gaggaa(T103, T113, T117, T118, T119, T120, unif_pairs51_in_ga(T103, T113))
U18_gaggaa(T103, T113, T117, T118, T119, T120, unif_pairs51_out_ga(T103, T113)) → U19_gaggaa(T103, T113, T117, T118, T119, T120, unif_lines43_in_ga(.(T117, T118), .(T119, T120)))
unif_lines43_in_ga(.(T192, []), .(T193, [])) → unif_lines43_out_ga(.(T192, []), .(T193, []))
U19_gaggaa(T103, T113, T117, T118, T119, T120, unif_lines43_out_ga(.(T117, T118), .(T119, T120))) → p50_out_gaggaa(T103, T113, T117, T118, T119, T120)
U9_ga(T103, T104, T107, T105, T106, T108, p50_out_gaggaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_lines43_out_ga(.(T103, .(T104, T107)), .(T105, .(T106, T108)))
U6_ga(T56, T57, T58, unif_lines43_out_ga(T56, T57)) → unif_matrx37_out_ga(T56, .(T57, T58))
unif_matrx37_in_ga(T56, .(T65, T66)) → U7_ga(T56, T65, T66, unif_lines43_in_ga(T56, T65))
U7_ga(T56, T65, T66, unif_lines43_out_ga(T56, T65)) → U8_ga(T56, T65, T66, unif_matrx37_in_aa(T65, T66))
U8_ga(T56, T65, T66, unif_matrx37_out_aa(T65, T66)) → unif_matrx37_out_ga(T56, .(T65, T66))
unif_matrx37_in_ga(T199, []) → unif_matrx37_out_ga(T199, [])
U16_gag(T16, T37, T17, unif_matrx37_out_ga(T17, T37)) → p17_out_gag(T16, T37, T17)
U27_ga(T204, T6, p17_out_gag(T204, X293, black)) → shapes1_out_ga(.(black, T204), T6)
shapes1_in_ga(.(white, T207), T6) → U28_ga(T207, T6, p17_in_gag(T207, X310, w(X309)))
U28_ga(T207, T6, p17_out_gag(T207, X310, w(X309))) → shapes1_out_ga(.(white, T207), T6)

The argument filtering Pi contains the following mapping:
shapes1_in_ga(x1, x2)  =  shapes1_in_ga(x1)
.(x1, x2)  =  .(x1, x2)
U24_ga(x1, x2, x3, x4)  =  U24_ga(x1, x2, x4)
varmat16_in_ga(x1, x2)  =  varmat16_in_ga(x1)
[]  =  []
varmat16_out_ga(x1, x2)  =  varmat16_out_ga(x1)
U1_ga(x1, x2, x3, x4, x5)  =  U1_ga(x1, x2, x5)
U2_ga(x1, x2, x3, x4, x5)  =  U2_ga(x1, x2, x5)
black  =  black
U4_ga(x1, x2, x3)  =  U4_ga(x1, x3)
white  =  white
U5_ga(x1, x2, x3, x4)  =  U5_ga(x1, x4)
w(x1)  =  w
U3_ga(x1, x2, x3, x4, x5)  =  U3_ga(x1, x2, x5)
shapes1_out_ga(x1, x2)  =  shapes1_out_ga(x1)
U25_ga(x1, x2, x3, x4)  =  U25_ga(x1, x2, x4)
U26_ga(x1, x2, x3, x4)  =  U26_ga(x1, x2, x4)
p17_in_gaa(x1, x2, x3)  =  p17_in_gaa(x1)
U14_gaa(x1, x2, x3, x4)  =  U14_gaa(x1, x4)
p17_out_gaa(x1, x2, x3)  =  p17_out_gaa(x1)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x1, x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x1, x4)
unif_matrx37_in_aa(x1, x2)  =  unif_matrx37_in_aa
U6_aa(x1, x2, x3, x4)  =  U6_aa(x4)
unif_lines43_in_aa(x1, x2)  =  unif_lines43_in_aa
U9_aa(x1, x2, x3, x4, x5, x6, x7)  =  U9_aa(x7)
p50_in_aaaaaa(x1, x2, x3, x4, x5, x6)  =  p50_in_aaaaaa
U17_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_aaaaaa(x7)
unif_pairs51_in_aa(x1, x2)  =  unif_pairs51_in_aa
U20_aa(x1, x2, x3)  =  U20_aa(x3)
unif_pairs60_in_a(x1)  =  unif_pairs60_in_a
unif_pairs60_out_a(x1)  =  unif_pairs60_out_a(x1)
U10_a(x1, x2, x3)  =  U10_a(x3)
U11_a(x1, x2)  =  U11_a(x2)
U12_a(x1, x2, x3)  =  U12_a(x3)
U13_a(x1, x2, x3)  =  U13_a(x3)
unif_pairs51_out_aa(x1, x2)  =  unif_pairs51_out_aa(x1, x2)
U21_aa(x1, x2)  =  U21_aa(x2)
U22_aa(x1, x2, x3)  =  U22_aa(x3)
U23_aa(x1, x2, x3)  =  U23_aa(x3)
p50_out_aaaaaa(x1, x2, x3, x4, x5, x6)  =  p50_out_aaaaaa(x1, x2)
U18_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_aaaaaa(x7)
U19_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U19_aaaaaa(x1, x2, x7)
unif_lines43_out_aa(x1, x2)  =  unif_lines43_out_aa
unif_matrx37_out_aa(x1, x2)  =  unif_matrx37_out_aa
U7_aa(x1, x2, x3, x4)  =  U7_aa(x4)
U8_aa(x1, x2, x3, x4)  =  U8_aa(x4)
U27_ga(x1, x2, x3)  =  U27_ga(x1, x3)
p17_in_gag(x1, x2, x3)  =  p17_in_gag(x1, x3)
U14_gag(x1, x2, x3, x4)  =  U14_gag(x1, x3, x4)
p17_out_gag(x1, x2, x3)  =  p17_out_gag(x1, x3)
U15_gag(x1, x2, x3, x4)  =  U15_gag(x1, x3, x4)
U16_gag(x1, x2, x3, x4)  =  U16_gag(x1, x3, x4)
unif_matrx37_in_ga(x1, x2)  =  unif_matrx37_in_ga(x1)
U6_ga(x1, x2, x3, x4)  =  U6_ga(x1, x4)
unif_lines43_in_ga(x1, x2)  =  unif_lines43_in_ga(x1)
U9_ga(x1, x2, x3, x4, x5, x6, x7)  =  U9_ga(x1, x2, x3, x7)
p50_in_gaggaa(x1, x2, x3, x4, x5, x6)  =  p50_in_gaggaa(x1, x3, x4)
U17_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_gaggaa(x1, x3, x4, x7)
unif_pairs51_in_ga(x1, x2)  =  unif_pairs51_in_ga(x1)
U20_ga(x1, x2, x3)  =  U20_ga(x3)
unif_pairs51_out_ga(x1, x2)  =  unif_pairs51_out_ga(x1, x2)
U21_ga(x1, x2)  =  U21_ga(x2)
U22_ga(x1, x2, x3)  =  U22_ga(x3)
U23_ga(x1, x2, x3)  =  U23_ga(x3)
p50_out_gaggaa(x1, x2, x3, x4, x5, x6)  =  p50_out_gaggaa(x1, x2, x3, x4)
U18_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_gaggaa(x1, x3, x4, x7)
U19_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U19_gaggaa(x1, x2, x3, x4, x7)
unif_lines43_out_ga(x1, x2)  =  unif_lines43_out_ga(x1)
unif_matrx37_out_ga(x1, x2)  =  unif_matrx37_out_ga(x1)
U7_ga(x1, x2, x3, x4)  =  U7_ga(x1, x4)
U8_ga(x1, x2, x3, x4)  =  U8_ga(x1, x4)
U28_ga(x1, x2, x3)  =  U28_ga(x1, x3)
VARMAT16_IN_GA(x1, x2)  =  VARMAT16_IN_GA(x1)
U2_GA(x1, x2, x3, x4, x5)  =  U2_GA(x1, x2, x5)

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

(48) UsableRulesProof (EQUIVALENT transformation)

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

(49) Obligation:

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

VARMAT16_IN_GA(.(T26, T27), .(T28, X84)) → U2_GA(T26, T27, T28, X84, varmat16_in_ga(T26, T28))
U2_GA(T26, T27, T28, X84, varmat16_out_ga(T26, T28)) → VARMAT16_IN_GA(T27, X84)
VARMAT16_IN_GA(.(T26, T27), .(X83, X84)) → VARMAT16_IN_GA(T26, X83)
VARMAT16_IN_GA(.(black, T33), .(black, X103)) → VARMAT16_IN_GA(T33, X103)
VARMAT16_IN_GA(.(white, T36), .(w(X119), X120)) → VARMAT16_IN_GA(T36, X120)

The TRS R consists of the following rules:

varmat16_in_ga([], []) → varmat16_out_ga([], [])
varmat16_in_ga(.(T26, T27), .(X83, X84)) → U1_ga(T26, T27, X83, X84, varmat16_in_ga(T26, X83))
varmat16_in_ga(.(T26, T27), .(T28, X84)) → U2_ga(T26, T27, T28, X84, varmat16_in_ga(T26, T28))
varmat16_in_ga(.(black, T33), .(black, X103)) → U4_ga(T33, X103, varmat16_in_ga(T33, X103))
varmat16_in_ga(.(white, T36), .(w(X119), X120)) → U5_ga(T36, X119, X120, varmat16_in_ga(T36, X120))
U1_ga(T26, T27, X83, X84, varmat16_out_ga(T26, X83)) → varmat16_out_ga(.(T26, T27), .(X83, X84))
U2_ga(T26, T27, T28, X84, varmat16_out_ga(T26, T28)) → U3_ga(T26, T27, T28, X84, varmat16_in_ga(T27, X84))
U4_ga(T33, X103, varmat16_out_ga(T33, X103)) → varmat16_out_ga(.(black, T33), .(black, X103))
U5_ga(T36, X119, X120, varmat16_out_ga(T36, X120)) → varmat16_out_ga(.(white, T36), .(w(X119), X120))
U3_ga(T26, T27, T28, X84, varmat16_out_ga(T27, X84)) → varmat16_out_ga(.(T26, T27), .(T28, X84))

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
varmat16_in_ga(x1, x2)  =  varmat16_in_ga(x1)
[]  =  []
varmat16_out_ga(x1, x2)  =  varmat16_out_ga(x1)
U1_ga(x1, x2, x3, x4, x5)  =  U1_ga(x1, x2, x5)
U2_ga(x1, x2, x3, x4, x5)  =  U2_ga(x1, x2, x5)
black  =  black
U4_ga(x1, x2, x3)  =  U4_ga(x1, x3)
white  =  white
U5_ga(x1, x2, x3, x4)  =  U5_ga(x1, x4)
w(x1)  =  w
U3_ga(x1, x2, x3, x4, x5)  =  U3_ga(x1, x2, x5)
VARMAT16_IN_GA(x1, x2)  =  VARMAT16_IN_GA(x1)
U2_GA(x1, x2, x3, x4, x5)  =  U2_GA(x1, x2, x5)

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

(50) PiDPToQDPProof (SOUND transformation)

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

(51) Obligation:

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

VARMAT16_IN_GA(.(T26, T27)) → U2_GA(T26, T27, varmat16_in_ga(T26))
U2_GA(T26, T27, varmat16_out_ga(T26)) → VARMAT16_IN_GA(T27)
VARMAT16_IN_GA(.(T26, T27)) → VARMAT16_IN_GA(T26)
VARMAT16_IN_GA(.(black, T33)) → VARMAT16_IN_GA(T33)
VARMAT16_IN_GA(.(white, T36)) → VARMAT16_IN_GA(T36)

The TRS R consists of the following rules:

varmat16_in_ga([]) → varmat16_out_ga([])
varmat16_in_ga(.(T26, T27)) → U1_ga(T26, T27, varmat16_in_ga(T26))
varmat16_in_ga(.(T26, T27)) → U2_ga(T26, T27, varmat16_in_ga(T26))
varmat16_in_ga(.(black, T33)) → U4_ga(T33, varmat16_in_ga(T33))
varmat16_in_ga(.(white, T36)) → U5_ga(T36, varmat16_in_ga(T36))
U1_ga(T26, T27, varmat16_out_ga(T26)) → varmat16_out_ga(.(T26, T27))
U2_ga(T26, T27, varmat16_out_ga(T26)) → U3_ga(T26, T27, varmat16_in_ga(T27))
U4_ga(T33, varmat16_out_ga(T33)) → varmat16_out_ga(.(black, T33))
U5_ga(T36, varmat16_out_ga(T36)) → varmat16_out_ga(.(white, T36))
U3_ga(T26, T27, varmat16_out_ga(T27)) → varmat16_out_ga(.(T26, T27))

The set Q consists of the following terms:

varmat16_in_ga(x0)
U1_ga(x0, x1, x2)
U2_ga(x0, x1, x2)
U4_ga(x0, x1)
U5_ga(x0, x1)
U3_ga(x0, x1, x2)

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

(52) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

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

  • U2_GA(T26, T27, varmat16_out_ga(T26)) → VARMAT16_IN_GA(T27)
    The graph contains the following edges 2 >= 1

  • VARMAT16_IN_GA(.(T26, T27)) → U2_GA(T26, T27, varmat16_in_ga(T26))
    The graph contains the following edges 1 > 1, 1 > 2

  • VARMAT16_IN_GA(.(T26, T27)) → VARMAT16_IN_GA(T26)
    The graph contains the following edges 1 > 1

  • VARMAT16_IN_GA(.(black, T33)) → VARMAT16_IN_GA(T33)
    The graph contains the following edges 1 > 1

  • VARMAT16_IN_GA(.(white, T36)) → VARMAT16_IN_GA(T36)
    The graph contains the following edges 1 > 1

(53) YES

(54) PrologToPiTRSProof (SOUND transformation)

We use the technique of [LOPSTR]. With regard to the inferred argument filtering the predicates were used in the following modes:
shapes1_in: (b,f)
varmat16_in: (b,f)
p17_in: (b,f,f) (b,f,b)
unif_matrx37_in: (f,f) (b,f)
unif_lines43_in: (f,f) (b,f)
p50_in: (f,f,f,f,f,f) (b,f,b,b,f,f)
unif_pairs51_in: (f,f) (b,f)
unif_pairs60_in: (f)
Transforming Prolog into the following Term Rewriting System:
Pi-finite rewrite system:
The TRS R consists of the following rules:

shapes1_in_ga(.(T15, T16), T6) → U24_ga(T15, T16, T6, varmat16_in_ga(T15, X49))
varmat16_in_ga([], []) → varmat16_out_ga([], [])
varmat16_in_ga(.(T26, T27), .(X83, X84)) → U1_ga(T26, T27, X83, X84, varmat16_in_ga(T26, X83))
varmat16_in_ga(.(T26, T27), .(T28, X84)) → U2_ga(T26, T27, T28, X84, varmat16_in_ga(T26, T28))
varmat16_in_ga(.(black, T33), .(black, X103)) → U4_ga(T33, X103, varmat16_in_ga(T33, X103))
varmat16_in_ga(.(white, T36), .(w(X119), X120)) → U5_ga(T36, X119, X120, varmat16_in_ga(T36, X120))
U5_ga(T36, X119, X120, varmat16_out_ga(T36, X120)) → varmat16_out_ga(.(white, T36), .(w(X119), X120))
U4_ga(T33, X103, varmat16_out_ga(T33, X103)) → varmat16_out_ga(.(black, T33), .(black, X103))
U2_ga(T26, T27, T28, X84, varmat16_out_ga(T26, T28)) → U3_ga(T26, T27, T28, X84, varmat16_in_ga(T27, X84))
U3_ga(T26, T27, T28, X84, varmat16_out_ga(T27, X84)) → varmat16_out_ga(.(T26, T27), .(T28, X84))
U1_ga(T26, T27, X83, X84, varmat16_out_ga(T26, X83)) → varmat16_out_ga(.(T26, T27), .(X83, X84))
U24_ga(T15, T16, T6, varmat16_out_ga(T15, X49)) → shapes1_out_ga(.(T15, T16), T6)
shapes1_in_ga(.(T15, T16), T6) → U25_ga(T15, T16, T6, varmat16_in_ga(T15, T17))
U25_ga(T15, T16, T6, varmat16_out_ga(T15, T17)) → U26_ga(T15, T16, T6, p17_in_gaa(T16, X50, T17))
p17_in_gaa(T16, X50, T17) → U14_gaa(T16, X50, T17, varmat16_in_ga(T16, X50))
U14_gaa(T16, X50, T17, varmat16_out_ga(T16, X50)) → p17_out_gaa(T16, X50, T17)
p17_in_gaa(T16, T37, T17) → U15_gaa(T16, T37, T17, varmat16_in_ga(T16, T37))
U15_gaa(T16, T37, T17, varmat16_out_ga(T16, T37)) → U16_gaa(T16, T37, T17, unif_matrx37_in_aa(T17, T37))
unif_matrx37_in_aa(T56, .(T57, T58)) → U6_aa(T56, T57, T58, unif_lines43_in_aa(T56, T57))
unif_lines43_in_aa(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_aa(T103, T104, T107, T105, T106, T108, p50_in_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
p50_in_aaaaaa(T103, T113, T104, T107, T106, T108) → U17_aaaaaa(T103, T113, T104, T107, T106, T108, unif_pairs51_in_aa(T103, T113))
unif_pairs51_in_aa(w(T140), .(w(T140), T141)) → U20_aa(T140, T141, unif_pairs60_in_a(T141))
unif_pairs60_in_a([]) → unif_pairs60_out_a([])
unif_pairs60_in_a(.(w(T158), .(w(T158), T159))) → U10_a(T158, T159, unif_pairs60_in_a(T159))
unif_pairs60_in_a(.(black, .(black, T160))) → U11_a(T160, unif_pairs60_in_a(T160))
unif_pairs60_in_a(.(black, .(w(T165), T166))) → U12_a(T165, T166, unif_pairs60_in_a(T166))
unif_pairs60_in_a(.(w(T169), .(black, T170))) → U13_a(T169, T170, unif_pairs60_in_a(T170))
U13_a(T169, T170, unif_pairs60_out_a(T170)) → unif_pairs60_out_a(.(w(T169), .(black, T170)))
U12_a(T165, T166, unif_pairs60_out_a(T166)) → unif_pairs60_out_a(.(black, .(w(T165), T166)))
U11_a(T160, unif_pairs60_out_a(T160)) → unif_pairs60_out_a(.(black, .(black, T160)))
U10_a(T158, T159, unif_pairs60_out_a(T159)) → unif_pairs60_out_a(.(w(T158), .(w(T158), T159)))
U20_aa(T140, T141, unif_pairs60_out_a(T141)) → unif_pairs51_out_aa(w(T140), .(w(T140), T141))
unif_pairs51_in_aa(black, .(black, T171)) → U21_aa(T171, unif_pairs60_in_a(T171))
U21_aa(T171, unif_pairs60_out_a(T171)) → unif_pairs51_out_aa(black, .(black, T171))
unif_pairs51_in_aa(black, .(w(T176), T177)) → U22_aa(T176, T177, unif_pairs60_in_a(T177))
U22_aa(T176, T177, unif_pairs60_out_a(T177)) → unif_pairs51_out_aa(black, .(w(T176), T177))
unif_pairs51_in_aa(w(T180), .(black, T181)) → U23_aa(T180, T181, unif_pairs60_in_a(T181))
U23_aa(T180, T181, unif_pairs60_out_a(T181)) → unif_pairs51_out_aa(w(T180), .(black, T181))
U17_aaaaaa(T103, T113, T104, T107, T106, T108, unif_pairs51_out_aa(T103, T113)) → p50_out_aaaaaa(T103, T113, T104, T107, T106, T108)
p50_in_aaaaaa(T103, T113, T117, T118, T119, T120) → U18_aaaaaa(T103, T113, T117, T118, T119, T120, unif_pairs51_in_aa(T103, T113))
U18_aaaaaa(T103, T113, T117, T118, T119, T120, unif_pairs51_out_aa(T103, T113)) → U19_aaaaaa(T103, T113, T117, T118, T119, T120, unif_lines43_in_aa(.(T117, T118), .(T119, T120)))
unif_lines43_in_aa(.(T192, []), .(T193, [])) → unif_lines43_out_aa(.(T192, []), .(T193, []))
U19_aaaaaa(T103, T113, T117, T118, T119, T120, unif_lines43_out_aa(.(T117, T118), .(T119, T120))) → p50_out_aaaaaa(T103, T113, T117, T118, T119, T120)
U9_aa(T103, T104, T107, T105, T106, T108, p50_out_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_lines43_out_aa(.(T103, .(T104, T107)), .(T105, .(T106, T108)))
U6_aa(T56, T57, T58, unif_lines43_out_aa(T56, T57)) → unif_matrx37_out_aa(T56, .(T57, T58))
unif_matrx37_in_aa(T56, .(T65, T66)) → U7_aa(T56, T65, T66, unif_lines43_in_aa(T56, T65))
U7_aa(T56, T65, T66, unif_lines43_out_aa(T56, T65)) → U8_aa(T56, T65, T66, unif_matrx37_in_aa(T65, T66))
unif_matrx37_in_aa(T199, []) → unif_matrx37_out_aa(T199, [])
U8_aa(T56, T65, T66, unif_matrx37_out_aa(T65, T66)) → unif_matrx37_out_aa(T56, .(T65, T66))
U16_gaa(T16, T37, T17, unif_matrx37_out_aa(T17, T37)) → p17_out_gaa(T16, T37, T17)
U26_ga(T15, T16, T6, p17_out_gaa(T16, X50, T17)) → shapes1_out_ga(.(T15, T16), T6)
shapes1_in_ga(.(black, T204), T6) → U27_ga(T204, T6, p17_in_gag(T204, X293, black))
p17_in_gag(T16, X50, T17) → U14_gag(T16, X50, T17, varmat16_in_ga(T16, X50))
U14_gag(T16, X50, T17, varmat16_out_ga(T16, X50)) → p17_out_gag(T16, X50, T17)
p17_in_gag(T16, T37, T17) → U15_gag(T16, T37, T17, varmat16_in_ga(T16, T37))
U15_gag(T16, T37, T17, varmat16_out_ga(T16, T37)) → U16_gag(T16, T37, T17, unif_matrx37_in_ga(T17, T37))
unif_matrx37_in_ga(T56, .(T57, T58)) → U6_ga(T56, T57, T58, unif_lines43_in_ga(T56, T57))
unif_lines43_in_ga(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_ga(T103, T104, T107, T105, T106, T108, p50_in_gaggaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
p50_in_gaggaa(T103, T113, T104, T107, T106, T108) → U17_gaggaa(T103, T113, T104, T107, T106, T108, unif_pairs51_in_ga(T103, T113))
unif_pairs51_in_ga(w(T140), .(w(T140), T141)) → U20_ga(T140, T141, unif_pairs60_in_a(T141))
U20_ga(T140, T141, unif_pairs60_out_a(T141)) → unif_pairs51_out_ga(w(T140), .(w(T140), T141))
unif_pairs51_in_ga(black, .(black, T171)) → U21_ga(T171, unif_pairs60_in_a(T171))
U21_ga(T171, unif_pairs60_out_a(T171)) → unif_pairs51_out_ga(black, .(black, T171))
unif_pairs51_in_ga(black, .(w(T176), T177)) → U22_ga(T176, T177, unif_pairs60_in_a(T177))
U22_ga(T176, T177, unif_pairs60_out_a(T177)) → unif_pairs51_out_ga(black, .(w(T176), T177))
unif_pairs51_in_ga(w(T180), .(black, T181)) → U23_ga(T180, T181, unif_pairs60_in_a(T181))
U23_ga(T180, T181, unif_pairs60_out_a(T181)) → unif_pairs51_out_ga(w(T180), .(black, T181))
U17_gaggaa(T103, T113, T104, T107, T106, T108, unif_pairs51_out_ga(T103, T113)) → p50_out_gaggaa(T103, T113, T104, T107, T106, T108)
p50_in_gaggaa(T103, T113, T117, T118, T119, T120) → U18_gaggaa(T103, T113, T117, T118, T119, T120, unif_pairs51_in_ga(T103, T113))
U18_gaggaa(T103, T113, T117, T118, T119, T120, unif_pairs51_out_ga(T103, T113)) → U19_gaggaa(T103, T113, T117, T118, T119, T120, unif_lines43_in_ga(.(T117, T118), .(T119, T120)))
unif_lines43_in_ga(.(T192, []), .(T193, [])) → unif_lines43_out_ga(.(T192, []), .(T193, []))
U19_gaggaa(T103, T113, T117, T118, T119, T120, unif_lines43_out_ga(.(T117, T118), .(T119, T120))) → p50_out_gaggaa(T103, T113, T117, T118, T119, T120)
U9_ga(T103, T104, T107, T105, T106, T108, p50_out_gaggaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_lines43_out_ga(.(T103, .(T104, T107)), .(T105, .(T106, T108)))
U6_ga(T56, T57, T58, unif_lines43_out_ga(T56, T57)) → unif_matrx37_out_ga(T56, .(T57, T58))
unif_matrx37_in_ga(T56, .(T65, T66)) → U7_ga(T56, T65, T66, unif_lines43_in_ga(T56, T65))
U7_ga(T56, T65, T66, unif_lines43_out_ga(T56, T65)) → U8_ga(T56, T65, T66, unif_matrx37_in_aa(T65, T66))
U8_ga(T56, T65, T66, unif_matrx37_out_aa(T65, T66)) → unif_matrx37_out_ga(T56, .(T65, T66))
unif_matrx37_in_ga(T199, []) → unif_matrx37_out_ga(T199, [])
U16_gag(T16, T37, T17, unif_matrx37_out_ga(T17, T37)) → p17_out_gag(T16, T37, T17)
U27_ga(T204, T6, p17_out_gag(T204, X293, black)) → shapes1_out_ga(.(black, T204), T6)
shapes1_in_ga(.(white, T207), T6) → U28_ga(T207, T6, p17_in_gag(T207, X310, w(X309)))
U28_ga(T207, T6, p17_out_gag(T207, X310, w(X309))) → shapes1_out_ga(.(white, T207), T6)

The argument filtering Pi contains the following mapping:
shapes1_in_ga(x1, x2)  =  shapes1_in_ga(x1)
.(x1, x2)  =  .(x1, x2)
U24_ga(x1, x2, x3, x4)  =  U24_ga(x4)
varmat16_in_ga(x1, x2)  =  varmat16_in_ga(x1)
[]  =  []
varmat16_out_ga(x1, x2)  =  varmat16_out_ga
U1_ga(x1, x2, x3, x4, x5)  =  U1_ga(x5)
U2_ga(x1, x2, x3, x4, x5)  =  U2_ga(x2, x5)
black  =  black
U4_ga(x1, x2, x3)  =  U4_ga(x3)
white  =  white
U5_ga(x1, x2, x3, x4)  =  U5_ga(x4)
w(x1)  =  w
U3_ga(x1, x2, x3, x4, x5)  =  U3_ga(x5)
shapes1_out_ga(x1, x2)  =  shapes1_out_ga
U25_ga(x1, x2, x3, x4)  =  U25_ga(x2, x4)
U26_ga(x1, x2, x3, x4)  =  U26_ga(x4)
p17_in_gaa(x1, x2, x3)  =  p17_in_gaa(x1)
U14_gaa(x1, x2, x3, x4)  =  U14_gaa(x4)
p17_out_gaa(x1, x2, x3)  =  p17_out_gaa
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x4)
unif_matrx37_in_aa(x1, x2)  =  unif_matrx37_in_aa
U6_aa(x1, x2, x3, x4)  =  U6_aa(x4)
unif_lines43_in_aa(x1, x2)  =  unif_lines43_in_aa
U9_aa(x1, x2, x3, x4, x5, x6, x7)  =  U9_aa(x7)
p50_in_aaaaaa(x1, x2, x3, x4, x5, x6)  =  p50_in_aaaaaa
U17_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_aaaaaa(x7)
unif_pairs51_in_aa(x1, x2)  =  unif_pairs51_in_aa
U20_aa(x1, x2, x3)  =  U20_aa(x3)
unif_pairs60_in_a(x1)  =  unif_pairs60_in_a
unif_pairs60_out_a(x1)  =  unif_pairs60_out_a(x1)
U10_a(x1, x2, x3)  =  U10_a(x3)
U11_a(x1, x2)  =  U11_a(x2)
U12_a(x1, x2, x3)  =  U12_a(x3)
U13_a(x1, x2, x3)  =  U13_a(x3)
unif_pairs51_out_aa(x1, x2)  =  unif_pairs51_out_aa(x1, x2)
U21_aa(x1, x2)  =  U21_aa(x2)
U22_aa(x1, x2, x3)  =  U22_aa(x3)
U23_aa(x1, x2, x3)  =  U23_aa(x3)
p50_out_aaaaaa(x1, x2, x3, x4, x5, x6)  =  p50_out_aaaaaa(x1, x2)
U18_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_aaaaaa(x7)
U19_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U19_aaaaaa(x1, x2, x7)
unif_lines43_out_aa(x1, x2)  =  unif_lines43_out_aa
unif_matrx37_out_aa(x1, x2)  =  unif_matrx37_out_aa
U7_aa(x1, x2, x3, x4)  =  U7_aa(x4)
U8_aa(x1, x2, x3, x4)  =  U8_aa(x4)
U27_ga(x1, x2, x3)  =  U27_ga(x3)
p17_in_gag(x1, x2, x3)  =  p17_in_gag(x1, x3)
U14_gag(x1, x2, x3, x4)  =  U14_gag(x4)
p17_out_gag(x1, x2, x3)  =  p17_out_gag
U15_gag(x1, x2, x3, x4)  =  U15_gag(x3, x4)
U16_gag(x1, x2, x3, x4)  =  U16_gag(x4)
unif_matrx37_in_ga(x1, x2)  =  unif_matrx37_in_ga(x1)
U6_ga(x1, x2, x3, x4)  =  U6_ga(x4)
unif_lines43_in_ga(x1, x2)  =  unif_lines43_in_ga(x1)
U9_ga(x1, x2, x3, x4, x5, x6, x7)  =  U9_ga(x7)
p50_in_gaggaa(x1, x2, x3, x4, x5, x6)  =  p50_in_gaggaa(x1, x3, x4)
U17_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_gaggaa(x7)
unif_pairs51_in_ga(x1, x2)  =  unif_pairs51_in_ga(x1)
U20_ga(x1, x2, x3)  =  U20_ga(x3)
unif_pairs51_out_ga(x1, x2)  =  unif_pairs51_out_ga(x2)
U21_ga(x1, x2)  =  U21_ga(x2)
U22_ga(x1, x2, x3)  =  U22_ga(x3)
U23_ga(x1, x2, x3)  =  U23_ga(x3)
p50_out_gaggaa(x1, x2, x3, x4, x5, x6)  =  p50_out_gaggaa(x2)
U18_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_gaggaa(x3, x4, x7)
U19_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U19_gaggaa(x2, x7)
unif_lines43_out_ga(x1, x2)  =  unif_lines43_out_ga
unif_matrx37_out_ga(x1, x2)  =  unif_matrx37_out_ga
U7_ga(x1, x2, x3, x4)  =  U7_ga(x4)
U8_ga(x1, x2, x3, x4)  =  U8_ga(x4)
U28_ga(x1, x2, x3)  =  U28_ga(x3)

Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog

(55) Obligation:

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

shapes1_in_ga(.(T15, T16), T6) → U24_ga(T15, T16, T6, varmat16_in_ga(T15, X49))
varmat16_in_ga([], []) → varmat16_out_ga([], [])
varmat16_in_ga(.(T26, T27), .(X83, X84)) → U1_ga(T26, T27, X83, X84, varmat16_in_ga(T26, X83))
varmat16_in_ga(.(T26, T27), .(T28, X84)) → U2_ga(T26, T27, T28, X84, varmat16_in_ga(T26, T28))
varmat16_in_ga(.(black, T33), .(black, X103)) → U4_ga(T33, X103, varmat16_in_ga(T33, X103))
varmat16_in_ga(.(white, T36), .(w(X119), X120)) → U5_ga(T36, X119, X120, varmat16_in_ga(T36, X120))
U5_ga(T36, X119, X120, varmat16_out_ga(T36, X120)) → varmat16_out_ga(.(white, T36), .(w(X119), X120))
U4_ga(T33, X103, varmat16_out_ga(T33, X103)) → varmat16_out_ga(.(black, T33), .(black, X103))
U2_ga(T26, T27, T28, X84, varmat16_out_ga(T26, T28)) → U3_ga(T26, T27, T28, X84, varmat16_in_ga(T27, X84))
U3_ga(T26, T27, T28, X84, varmat16_out_ga(T27, X84)) → varmat16_out_ga(.(T26, T27), .(T28, X84))
U1_ga(T26, T27, X83, X84, varmat16_out_ga(T26, X83)) → varmat16_out_ga(.(T26, T27), .(X83, X84))
U24_ga(T15, T16, T6, varmat16_out_ga(T15, X49)) → shapes1_out_ga(.(T15, T16), T6)
shapes1_in_ga(.(T15, T16), T6) → U25_ga(T15, T16, T6, varmat16_in_ga(T15, T17))
U25_ga(T15, T16, T6, varmat16_out_ga(T15, T17)) → U26_ga(T15, T16, T6, p17_in_gaa(T16, X50, T17))
p17_in_gaa(T16, X50, T17) → U14_gaa(T16, X50, T17, varmat16_in_ga(T16, X50))
U14_gaa(T16, X50, T17, varmat16_out_ga(T16, X50)) → p17_out_gaa(T16, X50, T17)
p17_in_gaa(T16, T37, T17) → U15_gaa(T16, T37, T17, varmat16_in_ga(T16, T37))
U15_gaa(T16, T37, T17, varmat16_out_ga(T16, T37)) → U16_gaa(T16, T37, T17, unif_matrx37_in_aa(T17, T37))
unif_matrx37_in_aa(T56, .(T57, T58)) → U6_aa(T56, T57, T58, unif_lines43_in_aa(T56, T57))
unif_lines43_in_aa(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_aa(T103, T104, T107, T105, T106, T108, p50_in_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
p50_in_aaaaaa(T103, T113, T104, T107, T106, T108) → U17_aaaaaa(T103, T113, T104, T107, T106, T108, unif_pairs51_in_aa(T103, T113))
unif_pairs51_in_aa(w(T140), .(w(T140), T141)) → U20_aa(T140, T141, unif_pairs60_in_a(T141))
unif_pairs60_in_a([]) → unif_pairs60_out_a([])
unif_pairs60_in_a(.(w(T158), .(w(T158), T159))) → U10_a(T158, T159, unif_pairs60_in_a(T159))
unif_pairs60_in_a(.(black, .(black, T160))) → U11_a(T160, unif_pairs60_in_a(T160))
unif_pairs60_in_a(.(black, .(w(T165), T166))) → U12_a(T165, T166, unif_pairs60_in_a(T166))
unif_pairs60_in_a(.(w(T169), .(black, T170))) → U13_a(T169, T170, unif_pairs60_in_a(T170))
U13_a(T169, T170, unif_pairs60_out_a(T170)) → unif_pairs60_out_a(.(w(T169), .(black, T170)))
U12_a(T165, T166, unif_pairs60_out_a(T166)) → unif_pairs60_out_a(.(black, .(w(T165), T166)))
U11_a(T160, unif_pairs60_out_a(T160)) → unif_pairs60_out_a(.(black, .(black, T160)))
U10_a(T158, T159, unif_pairs60_out_a(T159)) → unif_pairs60_out_a(.(w(T158), .(w(T158), T159)))
U20_aa(T140, T141, unif_pairs60_out_a(T141)) → unif_pairs51_out_aa(w(T140), .(w(T140), T141))
unif_pairs51_in_aa(black, .(black, T171)) → U21_aa(T171, unif_pairs60_in_a(T171))
U21_aa(T171, unif_pairs60_out_a(T171)) → unif_pairs51_out_aa(black, .(black, T171))
unif_pairs51_in_aa(black, .(w(T176), T177)) → U22_aa(T176, T177, unif_pairs60_in_a(T177))
U22_aa(T176, T177, unif_pairs60_out_a(T177)) → unif_pairs51_out_aa(black, .(w(T176), T177))
unif_pairs51_in_aa(w(T180), .(black, T181)) → U23_aa(T180, T181, unif_pairs60_in_a(T181))
U23_aa(T180, T181, unif_pairs60_out_a(T181)) → unif_pairs51_out_aa(w(T180), .(black, T181))
U17_aaaaaa(T103, T113, T104, T107, T106, T108, unif_pairs51_out_aa(T103, T113)) → p50_out_aaaaaa(T103, T113, T104, T107, T106, T108)
p50_in_aaaaaa(T103, T113, T117, T118, T119, T120) → U18_aaaaaa(T103, T113, T117, T118, T119, T120, unif_pairs51_in_aa(T103, T113))
U18_aaaaaa(T103, T113, T117, T118, T119, T120, unif_pairs51_out_aa(T103, T113)) → U19_aaaaaa(T103, T113, T117, T118, T119, T120, unif_lines43_in_aa(.(T117, T118), .(T119, T120)))
unif_lines43_in_aa(.(T192, []), .(T193, [])) → unif_lines43_out_aa(.(T192, []), .(T193, []))
U19_aaaaaa(T103, T113, T117, T118, T119, T120, unif_lines43_out_aa(.(T117, T118), .(T119, T120))) → p50_out_aaaaaa(T103, T113, T117, T118, T119, T120)
U9_aa(T103, T104, T107, T105, T106, T108, p50_out_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_lines43_out_aa(.(T103, .(T104, T107)), .(T105, .(T106, T108)))
U6_aa(T56, T57, T58, unif_lines43_out_aa(T56, T57)) → unif_matrx37_out_aa(T56, .(T57, T58))
unif_matrx37_in_aa(T56, .(T65, T66)) → U7_aa(T56, T65, T66, unif_lines43_in_aa(T56, T65))
U7_aa(T56, T65, T66, unif_lines43_out_aa(T56, T65)) → U8_aa(T56, T65, T66, unif_matrx37_in_aa(T65, T66))
unif_matrx37_in_aa(T199, []) → unif_matrx37_out_aa(T199, [])
U8_aa(T56, T65, T66, unif_matrx37_out_aa(T65, T66)) → unif_matrx37_out_aa(T56, .(T65, T66))
U16_gaa(T16, T37, T17, unif_matrx37_out_aa(T17, T37)) → p17_out_gaa(T16, T37, T17)
U26_ga(T15, T16, T6, p17_out_gaa(T16, X50, T17)) → shapes1_out_ga(.(T15, T16), T6)
shapes1_in_ga(.(black, T204), T6) → U27_ga(T204, T6, p17_in_gag(T204, X293, black))
p17_in_gag(T16, X50, T17) → U14_gag(T16, X50, T17, varmat16_in_ga(T16, X50))
U14_gag(T16, X50, T17, varmat16_out_ga(T16, X50)) → p17_out_gag(T16, X50, T17)
p17_in_gag(T16, T37, T17) → U15_gag(T16, T37, T17, varmat16_in_ga(T16, T37))
U15_gag(T16, T37, T17, varmat16_out_ga(T16, T37)) → U16_gag(T16, T37, T17, unif_matrx37_in_ga(T17, T37))
unif_matrx37_in_ga(T56, .(T57, T58)) → U6_ga(T56, T57, T58, unif_lines43_in_ga(T56, T57))
unif_lines43_in_ga(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_ga(T103, T104, T107, T105, T106, T108, p50_in_gaggaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
p50_in_gaggaa(T103, T113, T104, T107, T106, T108) → U17_gaggaa(T103, T113, T104, T107, T106, T108, unif_pairs51_in_ga(T103, T113))
unif_pairs51_in_ga(w(T140), .(w(T140), T141)) → U20_ga(T140, T141, unif_pairs60_in_a(T141))
U20_ga(T140, T141, unif_pairs60_out_a(T141)) → unif_pairs51_out_ga(w(T140), .(w(T140), T141))
unif_pairs51_in_ga(black, .(black, T171)) → U21_ga(T171, unif_pairs60_in_a(T171))
U21_ga(T171, unif_pairs60_out_a(T171)) → unif_pairs51_out_ga(black, .(black, T171))
unif_pairs51_in_ga(black, .(w(T176), T177)) → U22_ga(T176, T177, unif_pairs60_in_a(T177))
U22_ga(T176, T177, unif_pairs60_out_a(T177)) → unif_pairs51_out_ga(black, .(w(T176), T177))
unif_pairs51_in_ga(w(T180), .(black, T181)) → U23_ga(T180, T181, unif_pairs60_in_a(T181))
U23_ga(T180, T181, unif_pairs60_out_a(T181)) → unif_pairs51_out_ga(w(T180), .(black, T181))
U17_gaggaa(T103, T113, T104, T107, T106, T108, unif_pairs51_out_ga(T103, T113)) → p50_out_gaggaa(T103, T113, T104, T107, T106, T108)
p50_in_gaggaa(T103, T113, T117, T118, T119, T120) → U18_gaggaa(T103, T113, T117, T118, T119, T120, unif_pairs51_in_ga(T103, T113))
U18_gaggaa(T103, T113, T117, T118, T119, T120, unif_pairs51_out_ga(T103, T113)) → U19_gaggaa(T103, T113, T117, T118, T119, T120, unif_lines43_in_ga(.(T117, T118), .(T119, T120)))
unif_lines43_in_ga(.(T192, []), .(T193, [])) → unif_lines43_out_ga(.(T192, []), .(T193, []))
U19_gaggaa(T103, T113, T117, T118, T119, T120, unif_lines43_out_ga(.(T117, T118), .(T119, T120))) → p50_out_gaggaa(T103, T113, T117, T118, T119, T120)
U9_ga(T103, T104, T107, T105, T106, T108, p50_out_gaggaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_lines43_out_ga(.(T103, .(T104, T107)), .(T105, .(T106, T108)))
U6_ga(T56, T57, T58, unif_lines43_out_ga(T56, T57)) → unif_matrx37_out_ga(T56, .(T57, T58))
unif_matrx37_in_ga(T56, .(T65, T66)) → U7_ga(T56, T65, T66, unif_lines43_in_ga(T56, T65))
U7_ga(T56, T65, T66, unif_lines43_out_ga(T56, T65)) → U8_ga(T56, T65, T66, unif_matrx37_in_aa(T65, T66))
U8_ga(T56, T65, T66, unif_matrx37_out_aa(T65, T66)) → unif_matrx37_out_ga(T56, .(T65, T66))
unif_matrx37_in_ga(T199, []) → unif_matrx37_out_ga(T199, [])
U16_gag(T16, T37, T17, unif_matrx37_out_ga(T17, T37)) → p17_out_gag(T16, T37, T17)
U27_ga(T204, T6, p17_out_gag(T204, X293, black)) → shapes1_out_ga(.(black, T204), T6)
shapes1_in_ga(.(white, T207), T6) → U28_ga(T207, T6, p17_in_gag(T207, X310, w(X309)))
U28_ga(T207, T6, p17_out_gag(T207, X310, w(X309))) → shapes1_out_ga(.(white, T207), T6)

The argument filtering Pi contains the following mapping:
shapes1_in_ga(x1, x2)  =  shapes1_in_ga(x1)
.(x1, x2)  =  .(x1, x2)
U24_ga(x1, x2, x3, x4)  =  U24_ga(x4)
varmat16_in_ga(x1, x2)  =  varmat16_in_ga(x1)
[]  =  []
varmat16_out_ga(x1, x2)  =  varmat16_out_ga
U1_ga(x1, x2, x3, x4, x5)  =  U1_ga(x5)
U2_ga(x1, x2, x3, x4, x5)  =  U2_ga(x2, x5)
black  =  black
U4_ga(x1, x2, x3)  =  U4_ga(x3)
white  =  white
U5_ga(x1, x2, x3, x4)  =  U5_ga(x4)
w(x1)  =  w
U3_ga(x1, x2, x3, x4, x5)  =  U3_ga(x5)
shapes1_out_ga(x1, x2)  =  shapes1_out_ga
U25_ga(x1, x2, x3, x4)  =  U25_ga(x2, x4)
U26_ga(x1, x2, x3, x4)  =  U26_ga(x4)
p17_in_gaa(x1, x2, x3)  =  p17_in_gaa(x1)
U14_gaa(x1, x2, x3, x4)  =  U14_gaa(x4)
p17_out_gaa(x1, x2, x3)  =  p17_out_gaa
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x4)
unif_matrx37_in_aa(x1, x2)  =  unif_matrx37_in_aa
U6_aa(x1, x2, x3, x4)  =  U6_aa(x4)
unif_lines43_in_aa(x1, x2)  =  unif_lines43_in_aa
U9_aa(x1, x2, x3, x4, x5, x6, x7)  =  U9_aa(x7)
p50_in_aaaaaa(x1, x2, x3, x4, x5, x6)  =  p50_in_aaaaaa
U17_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_aaaaaa(x7)
unif_pairs51_in_aa(x1, x2)  =  unif_pairs51_in_aa
U20_aa(x1, x2, x3)  =  U20_aa(x3)
unif_pairs60_in_a(x1)  =  unif_pairs60_in_a
unif_pairs60_out_a(x1)  =  unif_pairs60_out_a(x1)
U10_a(x1, x2, x3)  =  U10_a(x3)
U11_a(x1, x2)  =  U11_a(x2)
U12_a(x1, x2, x3)  =  U12_a(x3)
U13_a(x1, x2, x3)  =  U13_a(x3)
unif_pairs51_out_aa(x1, x2)  =  unif_pairs51_out_aa(x1, x2)
U21_aa(x1, x2)  =  U21_aa(x2)
U22_aa(x1, x2, x3)  =  U22_aa(x3)
U23_aa(x1, x2, x3)  =  U23_aa(x3)
p50_out_aaaaaa(x1, x2, x3, x4, x5, x6)  =  p50_out_aaaaaa(x1, x2)
U18_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_aaaaaa(x7)
U19_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U19_aaaaaa(x1, x2, x7)
unif_lines43_out_aa(x1, x2)  =  unif_lines43_out_aa
unif_matrx37_out_aa(x1, x2)  =  unif_matrx37_out_aa
U7_aa(x1, x2, x3, x4)  =  U7_aa(x4)
U8_aa(x1, x2, x3, x4)  =  U8_aa(x4)
U27_ga(x1, x2, x3)  =  U27_ga(x3)
p17_in_gag(x1, x2, x3)  =  p17_in_gag(x1, x3)
U14_gag(x1, x2, x3, x4)  =  U14_gag(x4)
p17_out_gag(x1, x2, x3)  =  p17_out_gag
U15_gag(x1, x2, x3, x4)  =  U15_gag(x3, x4)
U16_gag(x1, x2, x3, x4)  =  U16_gag(x4)
unif_matrx37_in_ga(x1, x2)  =  unif_matrx37_in_ga(x1)
U6_ga(x1, x2, x3, x4)  =  U6_ga(x4)
unif_lines43_in_ga(x1, x2)  =  unif_lines43_in_ga(x1)
U9_ga(x1, x2, x3, x4, x5, x6, x7)  =  U9_ga(x7)
p50_in_gaggaa(x1, x2, x3, x4, x5, x6)  =  p50_in_gaggaa(x1, x3, x4)
U17_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_gaggaa(x7)
unif_pairs51_in_ga(x1, x2)  =  unif_pairs51_in_ga(x1)
U20_ga(x1, x2, x3)  =  U20_ga(x3)
unif_pairs51_out_ga(x1, x2)  =  unif_pairs51_out_ga(x2)
U21_ga(x1, x2)  =  U21_ga(x2)
U22_ga(x1, x2, x3)  =  U22_ga(x3)
U23_ga(x1, x2, x3)  =  U23_ga(x3)
p50_out_gaggaa(x1, x2, x3, x4, x5, x6)  =  p50_out_gaggaa(x2)
U18_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_gaggaa(x3, x4, x7)
U19_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U19_gaggaa(x2, x7)
unif_lines43_out_ga(x1, x2)  =  unif_lines43_out_ga
unif_matrx37_out_ga(x1, x2)  =  unif_matrx37_out_ga
U7_ga(x1, x2, x3, x4)  =  U7_ga(x4)
U8_ga(x1, x2, x3, x4)  =  U8_ga(x4)
U28_ga(x1, x2, x3)  =  U28_ga(x3)

(56) 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:

SHAPES1_IN_GA(.(T15, T16), T6) → U24_GA(T15, T16, T6, varmat16_in_ga(T15, X49))
SHAPES1_IN_GA(.(T15, T16), T6) → VARMAT16_IN_GA(T15, X49)
VARMAT16_IN_GA(.(T26, T27), .(X83, X84)) → U1_GA(T26, T27, X83, X84, varmat16_in_ga(T26, X83))
VARMAT16_IN_GA(.(T26, T27), .(X83, X84)) → VARMAT16_IN_GA(T26, X83)
VARMAT16_IN_GA(.(T26, T27), .(T28, X84)) → U2_GA(T26, T27, T28, X84, varmat16_in_ga(T26, T28))
VARMAT16_IN_GA(.(black, T33), .(black, X103)) → U4_GA(T33, X103, varmat16_in_ga(T33, X103))
VARMAT16_IN_GA(.(black, T33), .(black, X103)) → VARMAT16_IN_GA(T33, X103)
VARMAT16_IN_GA(.(white, T36), .(w(X119), X120)) → U5_GA(T36, X119, X120, varmat16_in_ga(T36, X120))
VARMAT16_IN_GA(.(white, T36), .(w(X119), X120)) → VARMAT16_IN_GA(T36, X120)
U2_GA(T26, T27, T28, X84, varmat16_out_ga(T26, T28)) → U3_GA(T26, T27, T28, X84, varmat16_in_ga(T27, X84))
U2_GA(T26, T27, T28, X84, varmat16_out_ga(T26, T28)) → VARMAT16_IN_GA(T27, X84)
SHAPES1_IN_GA(.(T15, T16), T6) → U25_GA(T15, T16, T6, varmat16_in_ga(T15, T17))
U25_GA(T15, T16, T6, varmat16_out_ga(T15, T17)) → U26_GA(T15, T16, T6, p17_in_gaa(T16, X50, T17))
U25_GA(T15, T16, T6, varmat16_out_ga(T15, T17)) → P17_IN_GAA(T16, X50, T17)
P17_IN_GAA(T16, X50, T17) → U14_GAA(T16, X50, T17, varmat16_in_ga(T16, X50))
P17_IN_GAA(T16, X50, T17) → VARMAT16_IN_GA(T16, X50)
P17_IN_GAA(T16, T37, T17) → U15_GAA(T16, T37, T17, varmat16_in_ga(T16, T37))
U15_GAA(T16, T37, T17, varmat16_out_ga(T16, T37)) → U16_GAA(T16, T37, T17, unif_matrx37_in_aa(T17, T37))
U15_GAA(T16, T37, T17, varmat16_out_ga(T16, T37)) → UNIF_MATRX37_IN_AA(T17, T37)
UNIF_MATRX37_IN_AA(T56, .(T57, T58)) → U6_AA(T56, T57, T58, unif_lines43_in_aa(T56, T57))
UNIF_MATRX37_IN_AA(T56, .(T57, T58)) → UNIF_LINES43_IN_AA(T56, T57)
UNIF_LINES43_IN_AA(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_AA(T103, T104, T107, T105, T106, T108, p50_in_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
UNIF_LINES43_IN_AA(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → P50_IN_AAAAAA(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)
P50_IN_AAAAAA(T103, T113, T104, T107, T106, T108) → U17_AAAAAA(T103, T113, T104, T107, T106, T108, unif_pairs51_in_aa(T103, T113))
P50_IN_AAAAAA(T103, T113, T104, T107, T106, T108) → UNIF_PAIRS51_IN_AA(T103, T113)
UNIF_PAIRS51_IN_AA(w(T140), .(w(T140), T141)) → U20_AA(T140, T141, unif_pairs60_in_a(T141))
UNIF_PAIRS51_IN_AA(w(T140), .(w(T140), T141)) → UNIF_PAIRS60_IN_A(T141)
UNIF_PAIRS60_IN_A(.(w(T158), .(w(T158), T159))) → U10_A(T158, T159, unif_pairs60_in_a(T159))
UNIF_PAIRS60_IN_A(.(w(T158), .(w(T158), T159))) → UNIF_PAIRS60_IN_A(T159)
UNIF_PAIRS60_IN_A(.(black, .(black, T160))) → U11_A(T160, unif_pairs60_in_a(T160))
UNIF_PAIRS60_IN_A(.(black, .(black, T160))) → UNIF_PAIRS60_IN_A(T160)
UNIF_PAIRS60_IN_A(.(black, .(w(T165), T166))) → U12_A(T165, T166, unif_pairs60_in_a(T166))
UNIF_PAIRS60_IN_A(.(black, .(w(T165), T166))) → UNIF_PAIRS60_IN_A(T166)
UNIF_PAIRS60_IN_A(.(w(T169), .(black, T170))) → U13_A(T169, T170, unif_pairs60_in_a(T170))
UNIF_PAIRS60_IN_A(.(w(T169), .(black, T170))) → UNIF_PAIRS60_IN_A(T170)
UNIF_PAIRS51_IN_AA(black, .(black, T171)) → U21_AA(T171, unif_pairs60_in_a(T171))
UNIF_PAIRS51_IN_AA(black, .(black, T171)) → UNIF_PAIRS60_IN_A(T171)
UNIF_PAIRS51_IN_AA(black, .(w(T176), T177)) → U22_AA(T176, T177, unif_pairs60_in_a(T177))
UNIF_PAIRS51_IN_AA(black, .(w(T176), T177)) → UNIF_PAIRS60_IN_A(T177)
UNIF_PAIRS51_IN_AA(w(T180), .(black, T181)) → U23_AA(T180, T181, unif_pairs60_in_a(T181))
UNIF_PAIRS51_IN_AA(w(T180), .(black, T181)) → UNIF_PAIRS60_IN_A(T181)
P50_IN_AAAAAA(T103, T113, T117, T118, T119, T120) → U18_AAAAAA(T103, T113, T117, T118, T119, T120, unif_pairs51_in_aa(T103, T113))
U18_AAAAAA(T103, T113, T117, T118, T119, T120, unif_pairs51_out_aa(T103, T113)) → U19_AAAAAA(T103, T113, T117, T118, T119, T120, unif_lines43_in_aa(.(T117, T118), .(T119, T120)))
U18_AAAAAA(T103, T113, T117, T118, T119, T120, unif_pairs51_out_aa(T103, T113)) → UNIF_LINES43_IN_AA(.(T117, T118), .(T119, T120))
UNIF_MATRX37_IN_AA(T56, .(T65, T66)) → U7_AA(T56, T65, T66, unif_lines43_in_aa(T56, T65))
U7_AA(T56, T65, T66, unif_lines43_out_aa(T56, T65)) → U8_AA(T56, T65, T66, unif_matrx37_in_aa(T65, T66))
U7_AA(T56, T65, T66, unif_lines43_out_aa(T56, T65)) → UNIF_MATRX37_IN_AA(T65, T66)
SHAPES1_IN_GA(.(black, T204), T6) → U27_GA(T204, T6, p17_in_gag(T204, X293, black))
SHAPES1_IN_GA(.(black, T204), T6) → P17_IN_GAG(T204, X293, black)
P17_IN_GAG(T16, X50, T17) → U14_GAG(T16, X50, T17, varmat16_in_ga(T16, X50))
P17_IN_GAG(T16, X50, T17) → VARMAT16_IN_GA(T16, X50)
P17_IN_GAG(T16, T37, T17) → U15_GAG(T16, T37, T17, varmat16_in_ga(T16, T37))
U15_GAG(T16, T37, T17, varmat16_out_ga(T16, T37)) → U16_GAG(T16, T37, T17, unif_matrx37_in_ga(T17, T37))
U15_GAG(T16, T37, T17, varmat16_out_ga(T16, T37)) → UNIF_MATRX37_IN_GA(T17, T37)
UNIF_MATRX37_IN_GA(T56, .(T57, T58)) → U6_GA(T56, T57, T58, unif_lines43_in_ga(T56, T57))
UNIF_MATRX37_IN_GA(T56, .(T57, T58)) → UNIF_LINES43_IN_GA(T56, T57)
UNIF_LINES43_IN_GA(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_GA(T103, T104, T107, T105, T106, T108, p50_in_gaggaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
UNIF_LINES43_IN_GA(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → P50_IN_GAGGAA(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)
P50_IN_GAGGAA(T103, T113, T104, T107, T106, T108) → U17_GAGGAA(T103, T113, T104, T107, T106, T108, unif_pairs51_in_ga(T103, T113))
P50_IN_GAGGAA(T103, T113, T104, T107, T106, T108) → UNIF_PAIRS51_IN_GA(T103, T113)
UNIF_PAIRS51_IN_GA(w(T140), .(w(T140), T141)) → U20_GA(T140, T141, unif_pairs60_in_a(T141))
UNIF_PAIRS51_IN_GA(w(T140), .(w(T140), T141)) → UNIF_PAIRS60_IN_A(T141)
UNIF_PAIRS51_IN_GA(black, .(black, T171)) → U21_GA(T171, unif_pairs60_in_a(T171))
UNIF_PAIRS51_IN_GA(black, .(black, T171)) → UNIF_PAIRS60_IN_A(T171)
UNIF_PAIRS51_IN_GA(black, .(w(T176), T177)) → U22_GA(T176, T177, unif_pairs60_in_a(T177))
UNIF_PAIRS51_IN_GA(black, .(w(T176), T177)) → UNIF_PAIRS60_IN_A(T177)
UNIF_PAIRS51_IN_GA(w(T180), .(black, T181)) → U23_GA(T180, T181, unif_pairs60_in_a(T181))
UNIF_PAIRS51_IN_GA(w(T180), .(black, T181)) → UNIF_PAIRS60_IN_A(T181)
P50_IN_GAGGAA(T103, T113, T117, T118, T119, T120) → U18_GAGGAA(T103, T113, T117, T118, T119, T120, unif_pairs51_in_ga(T103, T113))
U18_GAGGAA(T103, T113, T117, T118, T119, T120, unif_pairs51_out_ga(T103, T113)) → U19_GAGGAA(T103, T113, T117, T118, T119, T120, unif_lines43_in_ga(.(T117, T118), .(T119, T120)))
U18_GAGGAA(T103, T113, T117, T118, T119, T120, unif_pairs51_out_ga(T103, T113)) → UNIF_LINES43_IN_GA(.(T117, T118), .(T119, T120))
UNIF_MATRX37_IN_GA(T56, .(T65, T66)) → U7_GA(T56, T65, T66, unif_lines43_in_ga(T56, T65))
U7_GA(T56, T65, T66, unif_lines43_out_ga(T56, T65)) → U8_GA(T56, T65, T66, unif_matrx37_in_aa(T65, T66))
U7_GA(T56, T65, T66, unif_lines43_out_ga(T56, T65)) → UNIF_MATRX37_IN_AA(T65, T66)
SHAPES1_IN_GA(.(white, T207), T6) → U28_GA(T207, T6, p17_in_gag(T207, X310, w(X309)))
SHAPES1_IN_GA(.(white, T207), T6) → P17_IN_GAG(T207, X310, w(X309))

The TRS R consists of the following rules:

shapes1_in_ga(.(T15, T16), T6) → U24_ga(T15, T16, T6, varmat16_in_ga(T15, X49))
varmat16_in_ga([], []) → varmat16_out_ga([], [])
varmat16_in_ga(.(T26, T27), .(X83, X84)) → U1_ga(T26, T27, X83, X84, varmat16_in_ga(T26, X83))
varmat16_in_ga(.(T26, T27), .(T28, X84)) → U2_ga(T26, T27, T28, X84, varmat16_in_ga(T26, T28))
varmat16_in_ga(.(black, T33), .(black, X103)) → U4_ga(T33, X103, varmat16_in_ga(T33, X103))
varmat16_in_ga(.(white, T36), .(w(X119), X120)) → U5_ga(T36, X119, X120, varmat16_in_ga(T36, X120))
U5_ga(T36, X119, X120, varmat16_out_ga(T36, X120)) → varmat16_out_ga(.(white, T36), .(w(X119), X120))
U4_ga(T33, X103, varmat16_out_ga(T33, X103)) → varmat16_out_ga(.(black, T33), .(black, X103))
U2_ga(T26, T27, T28, X84, varmat16_out_ga(T26, T28)) → U3_ga(T26, T27, T28, X84, varmat16_in_ga(T27, X84))
U3_ga(T26, T27, T28, X84, varmat16_out_ga(T27, X84)) → varmat16_out_ga(.(T26, T27), .(T28, X84))
U1_ga(T26, T27, X83, X84, varmat16_out_ga(T26, X83)) → varmat16_out_ga(.(T26, T27), .(X83, X84))
U24_ga(T15, T16, T6, varmat16_out_ga(T15, X49)) → shapes1_out_ga(.(T15, T16), T6)
shapes1_in_ga(.(T15, T16), T6) → U25_ga(T15, T16, T6, varmat16_in_ga(T15, T17))
U25_ga(T15, T16, T6, varmat16_out_ga(T15, T17)) → U26_ga(T15, T16, T6, p17_in_gaa(T16, X50, T17))
p17_in_gaa(T16, X50, T17) → U14_gaa(T16, X50, T17, varmat16_in_ga(T16, X50))
U14_gaa(T16, X50, T17, varmat16_out_ga(T16, X50)) → p17_out_gaa(T16, X50, T17)
p17_in_gaa(T16, T37, T17) → U15_gaa(T16, T37, T17, varmat16_in_ga(T16, T37))
U15_gaa(T16, T37, T17, varmat16_out_ga(T16, T37)) → U16_gaa(T16, T37, T17, unif_matrx37_in_aa(T17, T37))
unif_matrx37_in_aa(T56, .(T57, T58)) → U6_aa(T56, T57, T58, unif_lines43_in_aa(T56, T57))
unif_lines43_in_aa(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_aa(T103, T104, T107, T105, T106, T108, p50_in_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
p50_in_aaaaaa(T103, T113, T104, T107, T106, T108) → U17_aaaaaa(T103, T113, T104, T107, T106, T108, unif_pairs51_in_aa(T103, T113))
unif_pairs51_in_aa(w(T140), .(w(T140), T141)) → U20_aa(T140, T141, unif_pairs60_in_a(T141))
unif_pairs60_in_a([]) → unif_pairs60_out_a([])
unif_pairs60_in_a(.(w(T158), .(w(T158), T159))) → U10_a(T158, T159, unif_pairs60_in_a(T159))
unif_pairs60_in_a(.(black, .(black, T160))) → U11_a(T160, unif_pairs60_in_a(T160))
unif_pairs60_in_a(.(black, .(w(T165), T166))) → U12_a(T165, T166, unif_pairs60_in_a(T166))
unif_pairs60_in_a(.(w(T169), .(black, T170))) → U13_a(T169, T170, unif_pairs60_in_a(T170))
U13_a(T169, T170, unif_pairs60_out_a(T170)) → unif_pairs60_out_a(.(w(T169), .(black, T170)))
U12_a(T165, T166, unif_pairs60_out_a(T166)) → unif_pairs60_out_a(.(black, .(w(T165), T166)))
U11_a(T160, unif_pairs60_out_a(T160)) → unif_pairs60_out_a(.(black, .(black, T160)))
U10_a(T158, T159, unif_pairs60_out_a(T159)) → unif_pairs60_out_a(.(w(T158), .(w(T158), T159)))
U20_aa(T140, T141, unif_pairs60_out_a(T141)) → unif_pairs51_out_aa(w(T140), .(w(T140), T141))
unif_pairs51_in_aa(black, .(black, T171)) → U21_aa(T171, unif_pairs60_in_a(T171))
U21_aa(T171, unif_pairs60_out_a(T171)) → unif_pairs51_out_aa(black, .(black, T171))
unif_pairs51_in_aa(black, .(w(T176), T177)) → U22_aa(T176, T177, unif_pairs60_in_a(T177))
U22_aa(T176, T177, unif_pairs60_out_a(T177)) → unif_pairs51_out_aa(black, .(w(T176), T177))
unif_pairs51_in_aa(w(T180), .(black, T181)) → U23_aa(T180, T181, unif_pairs60_in_a(T181))
U23_aa(T180, T181, unif_pairs60_out_a(T181)) → unif_pairs51_out_aa(w(T180), .(black, T181))
U17_aaaaaa(T103, T113, T104, T107, T106, T108, unif_pairs51_out_aa(T103, T113)) → p50_out_aaaaaa(T103, T113, T104, T107, T106, T108)
p50_in_aaaaaa(T103, T113, T117, T118, T119, T120) → U18_aaaaaa(T103, T113, T117, T118, T119, T120, unif_pairs51_in_aa(T103, T113))
U18_aaaaaa(T103, T113, T117, T118, T119, T120, unif_pairs51_out_aa(T103, T113)) → U19_aaaaaa(T103, T113, T117, T118, T119, T120, unif_lines43_in_aa(.(T117, T118), .(T119, T120)))
unif_lines43_in_aa(.(T192, []), .(T193, [])) → unif_lines43_out_aa(.(T192, []), .(T193, []))
U19_aaaaaa(T103, T113, T117, T118, T119, T120, unif_lines43_out_aa(.(T117, T118), .(T119, T120))) → p50_out_aaaaaa(T103, T113, T117, T118, T119, T120)
U9_aa(T103, T104, T107, T105, T106, T108, p50_out_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_lines43_out_aa(.(T103, .(T104, T107)), .(T105, .(T106, T108)))
U6_aa(T56, T57, T58, unif_lines43_out_aa(T56, T57)) → unif_matrx37_out_aa(T56, .(T57, T58))
unif_matrx37_in_aa(T56, .(T65, T66)) → U7_aa(T56, T65, T66, unif_lines43_in_aa(T56, T65))
U7_aa(T56, T65, T66, unif_lines43_out_aa(T56, T65)) → U8_aa(T56, T65, T66, unif_matrx37_in_aa(T65, T66))
unif_matrx37_in_aa(T199, []) → unif_matrx37_out_aa(T199, [])
U8_aa(T56, T65, T66, unif_matrx37_out_aa(T65, T66)) → unif_matrx37_out_aa(T56, .(T65, T66))
U16_gaa(T16, T37, T17, unif_matrx37_out_aa(T17, T37)) → p17_out_gaa(T16, T37, T17)
U26_ga(T15, T16, T6, p17_out_gaa(T16, X50, T17)) → shapes1_out_ga(.(T15, T16), T6)
shapes1_in_ga(.(black, T204), T6) → U27_ga(T204, T6, p17_in_gag(T204, X293, black))
p17_in_gag(T16, X50, T17) → U14_gag(T16, X50, T17, varmat16_in_ga(T16, X50))
U14_gag(T16, X50, T17, varmat16_out_ga(T16, X50)) → p17_out_gag(T16, X50, T17)
p17_in_gag(T16, T37, T17) → U15_gag(T16, T37, T17, varmat16_in_ga(T16, T37))
U15_gag(T16, T37, T17, varmat16_out_ga(T16, T37)) → U16_gag(T16, T37, T17, unif_matrx37_in_ga(T17, T37))
unif_matrx37_in_ga(T56, .(T57, T58)) → U6_ga(T56, T57, T58, unif_lines43_in_ga(T56, T57))
unif_lines43_in_ga(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_ga(T103, T104, T107, T105, T106, T108, p50_in_gaggaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
p50_in_gaggaa(T103, T113, T104, T107, T106, T108) → U17_gaggaa(T103, T113, T104, T107, T106, T108, unif_pairs51_in_ga(T103, T113))
unif_pairs51_in_ga(w(T140), .(w(T140), T141)) → U20_ga(T140, T141, unif_pairs60_in_a(T141))
U20_ga(T140, T141, unif_pairs60_out_a(T141)) → unif_pairs51_out_ga(w(T140), .(w(T140), T141))
unif_pairs51_in_ga(black, .(black, T171)) → U21_ga(T171, unif_pairs60_in_a(T171))
U21_ga(T171, unif_pairs60_out_a(T171)) → unif_pairs51_out_ga(black, .(black, T171))
unif_pairs51_in_ga(black, .(w(T176), T177)) → U22_ga(T176, T177, unif_pairs60_in_a(T177))
U22_ga(T176, T177, unif_pairs60_out_a(T177)) → unif_pairs51_out_ga(black, .(w(T176), T177))
unif_pairs51_in_ga(w(T180), .(black, T181)) → U23_ga(T180, T181, unif_pairs60_in_a(T181))
U23_ga(T180, T181, unif_pairs60_out_a(T181)) → unif_pairs51_out_ga(w(T180), .(black, T181))
U17_gaggaa(T103, T113, T104, T107, T106, T108, unif_pairs51_out_ga(T103, T113)) → p50_out_gaggaa(T103, T113, T104, T107, T106, T108)
p50_in_gaggaa(T103, T113, T117, T118, T119, T120) → U18_gaggaa(T103, T113, T117, T118, T119, T120, unif_pairs51_in_ga(T103, T113))
U18_gaggaa(T103, T113, T117, T118, T119, T120, unif_pairs51_out_ga(T103, T113)) → U19_gaggaa(T103, T113, T117, T118, T119, T120, unif_lines43_in_ga(.(T117, T118), .(T119, T120)))
unif_lines43_in_ga(.(T192, []), .(T193, [])) → unif_lines43_out_ga(.(T192, []), .(T193, []))
U19_gaggaa(T103, T113, T117, T118, T119, T120, unif_lines43_out_ga(.(T117, T118), .(T119, T120))) → p50_out_gaggaa(T103, T113, T117, T118, T119, T120)
U9_ga(T103, T104, T107, T105, T106, T108, p50_out_gaggaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_lines43_out_ga(.(T103, .(T104, T107)), .(T105, .(T106, T108)))
U6_ga(T56, T57, T58, unif_lines43_out_ga(T56, T57)) → unif_matrx37_out_ga(T56, .(T57, T58))
unif_matrx37_in_ga(T56, .(T65, T66)) → U7_ga(T56, T65, T66, unif_lines43_in_ga(T56, T65))
U7_ga(T56, T65, T66, unif_lines43_out_ga(T56, T65)) → U8_ga(T56, T65, T66, unif_matrx37_in_aa(T65, T66))
U8_ga(T56, T65, T66, unif_matrx37_out_aa(T65, T66)) → unif_matrx37_out_ga(T56, .(T65, T66))
unif_matrx37_in_ga(T199, []) → unif_matrx37_out_ga(T199, [])
U16_gag(T16, T37, T17, unif_matrx37_out_ga(T17, T37)) → p17_out_gag(T16, T37, T17)
U27_ga(T204, T6, p17_out_gag(T204, X293, black)) → shapes1_out_ga(.(black, T204), T6)
shapes1_in_ga(.(white, T207), T6) → U28_ga(T207, T6, p17_in_gag(T207, X310, w(X309)))
U28_ga(T207, T6, p17_out_gag(T207, X310, w(X309))) → shapes1_out_ga(.(white, T207), T6)

The argument filtering Pi contains the following mapping:
shapes1_in_ga(x1, x2)  =  shapes1_in_ga(x1)
.(x1, x2)  =  .(x1, x2)
U24_ga(x1, x2, x3, x4)  =  U24_ga(x4)
varmat16_in_ga(x1, x2)  =  varmat16_in_ga(x1)
[]  =  []
varmat16_out_ga(x1, x2)  =  varmat16_out_ga
U1_ga(x1, x2, x3, x4, x5)  =  U1_ga(x5)
U2_ga(x1, x2, x3, x4, x5)  =  U2_ga(x2, x5)
black  =  black
U4_ga(x1, x2, x3)  =  U4_ga(x3)
white  =  white
U5_ga(x1, x2, x3, x4)  =  U5_ga(x4)
w(x1)  =  w
U3_ga(x1, x2, x3, x4, x5)  =  U3_ga(x5)
shapes1_out_ga(x1, x2)  =  shapes1_out_ga
U25_ga(x1, x2, x3, x4)  =  U25_ga(x2, x4)
U26_ga(x1, x2, x3, x4)  =  U26_ga(x4)
p17_in_gaa(x1, x2, x3)  =  p17_in_gaa(x1)
U14_gaa(x1, x2, x3, x4)  =  U14_gaa(x4)
p17_out_gaa(x1, x2, x3)  =  p17_out_gaa
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x4)
unif_matrx37_in_aa(x1, x2)  =  unif_matrx37_in_aa
U6_aa(x1, x2, x3, x4)  =  U6_aa(x4)
unif_lines43_in_aa(x1, x2)  =  unif_lines43_in_aa
U9_aa(x1, x2, x3, x4, x5, x6, x7)  =  U9_aa(x7)
p50_in_aaaaaa(x1, x2, x3, x4, x5, x6)  =  p50_in_aaaaaa
U17_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_aaaaaa(x7)
unif_pairs51_in_aa(x1, x2)  =  unif_pairs51_in_aa
U20_aa(x1, x2, x3)  =  U20_aa(x3)
unif_pairs60_in_a(x1)  =  unif_pairs60_in_a
unif_pairs60_out_a(x1)  =  unif_pairs60_out_a(x1)
U10_a(x1, x2, x3)  =  U10_a(x3)
U11_a(x1, x2)  =  U11_a(x2)
U12_a(x1, x2, x3)  =  U12_a(x3)
U13_a(x1, x2, x3)  =  U13_a(x3)
unif_pairs51_out_aa(x1, x2)  =  unif_pairs51_out_aa(x1, x2)
U21_aa(x1, x2)  =  U21_aa(x2)
U22_aa(x1, x2, x3)  =  U22_aa(x3)
U23_aa(x1, x2, x3)  =  U23_aa(x3)
p50_out_aaaaaa(x1, x2, x3, x4, x5, x6)  =  p50_out_aaaaaa(x1, x2)
U18_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_aaaaaa(x7)
U19_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U19_aaaaaa(x1, x2, x7)
unif_lines43_out_aa(x1, x2)  =  unif_lines43_out_aa
unif_matrx37_out_aa(x1, x2)  =  unif_matrx37_out_aa
U7_aa(x1, x2, x3, x4)  =  U7_aa(x4)
U8_aa(x1, x2, x3, x4)  =  U8_aa(x4)
U27_ga(x1, x2, x3)  =  U27_ga(x3)
p17_in_gag(x1, x2, x3)  =  p17_in_gag(x1, x3)
U14_gag(x1, x2, x3, x4)  =  U14_gag(x4)
p17_out_gag(x1, x2, x3)  =  p17_out_gag
U15_gag(x1, x2, x3, x4)  =  U15_gag(x3, x4)
U16_gag(x1, x2, x3, x4)  =  U16_gag(x4)
unif_matrx37_in_ga(x1, x2)  =  unif_matrx37_in_ga(x1)
U6_ga(x1, x2, x3, x4)  =  U6_ga(x4)
unif_lines43_in_ga(x1, x2)  =  unif_lines43_in_ga(x1)
U9_ga(x1, x2, x3, x4, x5, x6, x7)  =  U9_ga(x7)
p50_in_gaggaa(x1, x2, x3, x4, x5, x6)  =  p50_in_gaggaa(x1, x3, x4)
U17_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_gaggaa(x7)
unif_pairs51_in_ga(x1, x2)  =  unif_pairs51_in_ga(x1)
U20_ga(x1, x2, x3)  =  U20_ga(x3)
unif_pairs51_out_ga(x1, x2)  =  unif_pairs51_out_ga(x2)
U21_ga(x1, x2)  =  U21_ga(x2)
U22_ga(x1, x2, x3)  =  U22_ga(x3)
U23_ga(x1, x2, x3)  =  U23_ga(x3)
p50_out_gaggaa(x1, x2, x3, x4, x5, x6)  =  p50_out_gaggaa(x2)
U18_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_gaggaa(x3, x4, x7)
U19_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U19_gaggaa(x2, x7)
unif_lines43_out_ga(x1, x2)  =  unif_lines43_out_ga
unif_matrx37_out_ga(x1, x2)  =  unif_matrx37_out_ga
U7_ga(x1, x2, x3, x4)  =  U7_ga(x4)
U8_ga(x1, x2, x3, x4)  =  U8_ga(x4)
U28_ga(x1, x2, x3)  =  U28_ga(x3)
SHAPES1_IN_GA(x1, x2)  =  SHAPES1_IN_GA(x1)
U24_GA(x1, x2, x3, x4)  =  U24_GA(x4)
VARMAT16_IN_GA(x1, x2)  =  VARMAT16_IN_GA(x1)
U1_GA(x1, x2, x3, x4, x5)  =  U1_GA(x5)
U2_GA(x1, x2, x3, x4, x5)  =  U2_GA(x2, x5)
U4_GA(x1, x2, x3)  =  U4_GA(x3)
U5_GA(x1, x2, x3, x4)  =  U5_GA(x4)
U3_GA(x1, x2, x3, x4, x5)  =  U3_GA(x5)
U25_GA(x1, x2, x3, x4)  =  U25_GA(x2, x4)
U26_GA(x1, x2, x3, x4)  =  U26_GA(x4)
P17_IN_GAA(x1, x2, x3)  =  P17_IN_GAA(x1)
U14_GAA(x1, x2, x3, x4)  =  U14_GAA(x4)
U15_GAA(x1, x2, x3, x4)  =  U15_GAA(x4)
U16_GAA(x1, x2, x3, x4)  =  U16_GAA(x4)
UNIF_MATRX37_IN_AA(x1, x2)  =  UNIF_MATRX37_IN_AA
U6_AA(x1, x2, x3, x4)  =  U6_AA(x4)
UNIF_LINES43_IN_AA(x1, x2)  =  UNIF_LINES43_IN_AA
U9_AA(x1, x2, x3, x4, x5, x6, x7)  =  U9_AA(x7)
P50_IN_AAAAAA(x1, x2, x3, x4, x5, x6)  =  P50_IN_AAAAAA
U17_AAAAAA(x1, x2, x3, x4, x5, x6, x7)  =  U17_AAAAAA(x7)
UNIF_PAIRS51_IN_AA(x1, x2)  =  UNIF_PAIRS51_IN_AA
U20_AA(x1, x2, x3)  =  U20_AA(x3)
UNIF_PAIRS60_IN_A(x1)  =  UNIF_PAIRS60_IN_A
U10_A(x1, x2, x3)  =  U10_A(x3)
U11_A(x1, x2)  =  U11_A(x2)
U12_A(x1, x2, x3)  =  U12_A(x3)
U13_A(x1, x2, x3)  =  U13_A(x3)
U21_AA(x1, x2)  =  U21_AA(x2)
U22_AA(x1, x2, x3)  =  U22_AA(x3)
U23_AA(x1, x2, x3)  =  U23_AA(x3)
U18_AAAAAA(x1, x2, x3, x4, x5, x6, x7)  =  U18_AAAAAA(x7)
U19_AAAAAA(x1, x2, x3, x4, x5, x6, x7)  =  U19_AAAAAA(x1, x2, x7)
U7_AA(x1, x2, x3, x4)  =  U7_AA(x4)
U8_AA(x1, x2, x3, x4)  =  U8_AA(x4)
U27_GA(x1, x2, x3)  =  U27_GA(x3)
P17_IN_GAG(x1, x2, x3)  =  P17_IN_GAG(x1, x3)
U14_GAG(x1, x2, x3, x4)  =  U14_GAG(x4)
U15_GAG(x1, x2, x3, x4)  =  U15_GAG(x3, x4)
U16_GAG(x1, x2, x3, x4)  =  U16_GAG(x4)
UNIF_MATRX37_IN_GA(x1, x2)  =  UNIF_MATRX37_IN_GA(x1)
U6_GA(x1, x2, x3, x4)  =  U6_GA(x4)
UNIF_LINES43_IN_GA(x1, x2)  =  UNIF_LINES43_IN_GA(x1)
U9_GA(x1, x2, x3, x4, x5, x6, x7)  =  U9_GA(x7)
P50_IN_GAGGAA(x1, x2, x3, x4, x5, x6)  =  P50_IN_GAGGAA(x1, x3, x4)
U17_GAGGAA(x1, x2, x3, x4, x5, x6, x7)  =  U17_GAGGAA(x7)
UNIF_PAIRS51_IN_GA(x1, x2)  =  UNIF_PAIRS51_IN_GA(x1)
U20_GA(x1, x2, x3)  =  U20_GA(x3)
U21_GA(x1, x2)  =  U21_GA(x2)
U22_GA(x1, x2, x3)  =  U22_GA(x3)
U23_GA(x1, x2, x3)  =  U23_GA(x3)
U18_GAGGAA(x1, x2, x3, x4, x5, x6, x7)  =  U18_GAGGAA(x3, x4, x7)
U19_GAGGAA(x1, x2, x3, x4, x5, x6, x7)  =  U19_GAGGAA(x2, x7)
U7_GA(x1, x2, x3, x4)  =  U7_GA(x4)
U8_GA(x1, x2, x3, x4)  =  U8_GA(x4)
U28_GA(x1, x2, x3)  =  U28_GA(x3)

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

(57) Obligation:

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

SHAPES1_IN_GA(.(T15, T16), T6) → U24_GA(T15, T16, T6, varmat16_in_ga(T15, X49))
SHAPES1_IN_GA(.(T15, T16), T6) → VARMAT16_IN_GA(T15, X49)
VARMAT16_IN_GA(.(T26, T27), .(X83, X84)) → U1_GA(T26, T27, X83, X84, varmat16_in_ga(T26, X83))
VARMAT16_IN_GA(.(T26, T27), .(X83, X84)) → VARMAT16_IN_GA(T26, X83)
VARMAT16_IN_GA(.(T26, T27), .(T28, X84)) → U2_GA(T26, T27, T28, X84, varmat16_in_ga(T26, T28))
VARMAT16_IN_GA(.(black, T33), .(black, X103)) → U4_GA(T33, X103, varmat16_in_ga(T33, X103))
VARMAT16_IN_GA(.(black, T33), .(black, X103)) → VARMAT16_IN_GA(T33, X103)
VARMAT16_IN_GA(.(white, T36), .(w(X119), X120)) → U5_GA(T36, X119, X120, varmat16_in_ga(T36, X120))
VARMAT16_IN_GA(.(white, T36), .(w(X119), X120)) → VARMAT16_IN_GA(T36, X120)
U2_GA(T26, T27, T28, X84, varmat16_out_ga(T26, T28)) → U3_GA(T26, T27, T28, X84, varmat16_in_ga(T27, X84))
U2_GA(T26, T27, T28, X84, varmat16_out_ga(T26, T28)) → VARMAT16_IN_GA(T27, X84)
SHAPES1_IN_GA(.(T15, T16), T6) → U25_GA(T15, T16, T6, varmat16_in_ga(T15, T17))
U25_GA(T15, T16, T6, varmat16_out_ga(T15, T17)) → U26_GA(T15, T16, T6, p17_in_gaa(T16, X50, T17))
U25_GA(T15, T16, T6, varmat16_out_ga(T15, T17)) → P17_IN_GAA(T16, X50, T17)
P17_IN_GAA(T16, X50, T17) → U14_GAA(T16, X50, T17, varmat16_in_ga(T16, X50))
P17_IN_GAA(T16, X50, T17) → VARMAT16_IN_GA(T16, X50)
P17_IN_GAA(T16, T37, T17) → U15_GAA(T16, T37, T17, varmat16_in_ga(T16, T37))
U15_GAA(T16, T37, T17, varmat16_out_ga(T16, T37)) → U16_GAA(T16, T37, T17, unif_matrx37_in_aa(T17, T37))
U15_GAA(T16, T37, T17, varmat16_out_ga(T16, T37)) → UNIF_MATRX37_IN_AA(T17, T37)
UNIF_MATRX37_IN_AA(T56, .(T57, T58)) → U6_AA(T56, T57, T58, unif_lines43_in_aa(T56, T57))
UNIF_MATRX37_IN_AA(T56, .(T57, T58)) → UNIF_LINES43_IN_AA(T56, T57)
UNIF_LINES43_IN_AA(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_AA(T103, T104, T107, T105, T106, T108, p50_in_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
UNIF_LINES43_IN_AA(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → P50_IN_AAAAAA(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)
P50_IN_AAAAAA(T103, T113, T104, T107, T106, T108) → U17_AAAAAA(T103, T113, T104, T107, T106, T108, unif_pairs51_in_aa(T103, T113))
P50_IN_AAAAAA(T103, T113, T104, T107, T106, T108) → UNIF_PAIRS51_IN_AA(T103, T113)
UNIF_PAIRS51_IN_AA(w(T140), .(w(T140), T141)) → U20_AA(T140, T141, unif_pairs60_in_a(T141))
UNIF_PAIRS51_IN_AA(w(T140), .(w(T140), T141)) → UNIF_PAIRS60_IN_A(T141)
UNIF_PAIRS60_IN_A(.(w(T158), .(w(T158), T159))) → U10_A(T158, T159, unif_pairs60_in_a(T159))
UNIF_PAIRS60_IN_A(.(w(T158), .(w(T158), T159))) → UNIF_PAIRS60_IN_A(T159)
UNIF_PAIRS60_IN_A(.(black, .(black, T160))) → U11_A(T160, unif_pairs60_in_a(T160))
UNIF_PAIRS60_IN_A(.(black, .(black, T160))) → UNIF_PAIRS60_IN_A(T160)
UNIF_PAIRS60_IN_A(.(black, .(w(T165), T166))) → U12_A(T165, T166, unif_pairs60_in_a(T166))
UNIF_PAIRS60_IN_A(.(black, .(w(T165), T166))) → UNIF_PAIRS60_IN_A(T166)
UNIF_PAIRS60_IN_A(.(w(T169), .(black, T170))) → U13_A(T169, T170, unif_pairs60_in_a(T170))
UNIF_PAIRS60_IN_A(.(w(T169), .(black, T170))) → UNIF_PAIRS60_IN_A(T170)
UNIF_PAIRS51_IN_AA(black, .(black, T171)) → U21_AA(T171, unif_pairs60_in_a(T171))
UNIF_PAIRS51_IN_AA(black, .(black, T171)) → UNIF_PAIRS60_IN_A(T171)
UNIF_PAIRS51_IN_AA(black, .(w(T176), T177)) → U22_AA(T176, T177, unif_pairs60_in_a(T177))
UNIF_PAIRS51_IN_AA(black, .(w(T176), T177)) → UNIF_PAIRS60_IN_A(T177)
UNIF_PAIRS51_IN_AA(w(T180), .(black, T181)) → U23_AA(T180, T181, unif_pairs60_in_a(T181))
UNIF_PAIRS51_IN_AA(w(T180), .(black, T181)) → UNIF_PAIRS60_IN_A(T181)
P50_IN_AAAAAA(T103, T113, T117, T118, T119, T120) → U18_AAAAAA(T103, T113, T117, T118, T119, T120, unif_pairs51_in_aa(T103, T113))
U18_AAAAAA(T103, T113, T117, T118, T119, T120, unif_pairs51_out_aa(T103, T113)) → U19_AAAAAA(T103, T113, T117, T118, T119, T120, unif_lines43_in_aa(.(T117, T118), .(T119, T120)))
U18_AAAAAA(T103, T113, T117, T118, T119, T120, unif_pairs51_out_aa(T103, T113)) → UNIF_LINES43_IN_AA(.(T117, T118), .(T119, T120))
UNIF_MATRX37_IN_AA(T56, .(T65, T66)) → U7_AA(T56, T65, T66, unif_lines43_in_aa(T56, T65))
U7_AA(T56, T65, T66, unif_lines43_out_aa(T56, T65)) → U8_AA(T56, T65, T66, unif_matrx37_in_aa(T65, T66))
U7_AA(T56, T65, T66, unif_lines43_out_aa(T56, T65)) → UNIF_MATRX37_IN_AA(T65, T66)
SHAPES1_IN_GA(.(black, T204), T6) → U27_GA(T204, T6, p17_in_gag(T204, X293, black))
SHAPES1_IN_GA(.(black, T204), T6) → P17_IN_GAG(T204, X293, black)
P17_IN_GAG(T16, X50, T17) → U14_GAG(T16, X50, T17, varmat16_in_ga(T16, X50))
P17_IN_GAG(T16, X50, T17) → VARMAT16_IN_GA(T16, X50)
P17_IN_GAG(T16, T37, T17) → U15_GAG(T16, T37, T17, varmat16_in_ga(T16, T37))
U15_GAG(T16, T37, T17, varmat16_out_ga(T16, T37)) → U16_GAG(T16, T37, T17, unif_matrx37_in_ga(T17, T37))
U15_GAG(T16, T37, T17, varmat16_out_ga(T16, T37)) → UNIF_MATRX37_IN_GA(T17, T37)
UNIF_MATRX37_IN_GA(T56, .(T57, T58)) → U6_GA(T56, T57, T58, unif_lines43_in_ga(T56, T57))
UNIF_MATRX37_IN_GA(T56, .(T57, T58)) → UNIF_LINES43_IN_GA(T56, T57)
UNIF_LINES43_IN_GA(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_GA(T103, T104, T107, T105, T106, T108, p50_in_gaggaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
UNIF_LINES43_IN_GA(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → P50_IN_GAGGAA(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)
P50_IN_GAGGAA(T103, T113, T104, T107, T106, T108) → U17_GAGGAA(T103, T113, T104, T107, T106, T108, unif_pairs51_in_ga(T103, T113))
P50_IN_GAGGAA(T103, T113, T104, T107, T106, T108) → UNIF_PAIRS51_IN_GA(T103, T113)
UNIF_PAIRS51_IN_GA(w(T140), .(w(T140), T141)) → U20_GA(T140, T141, unif_pairs60_in_a(T141))
UNIF_PAIRS51_IN_GA(w(T140), .(w(T140), T141)) → UNIF_PAIRS60_IN_A(T141)
UNIF_PAIRS51_IN_GA(black, .(black, T171)) → U21_GA(T171, unif_pairs60_in_a(T171))
UNIF_PAIRS51_IN_GA(black, .(black, T171)) → UNIF_PAIRS60_IN_A(T171)
UNIF_PAIRS51_IN_GA(black, .(w(T176), T177)) → U22_GA(T176, T177, unif_pairs60_in_a(T177))
UNIF_PAIRS51_IN_GA(black, .(w(T176), T177)) → UNIF_PAIRS60_IN_A(T177)
UNIF_PAIRS51_IN_GA(w(T180), .(black, T181)) → U23_GA(T180, T181, unif_pairs60_in_a(T181))
UNIF_PAIRS51_IN_GA(w(T180), .(black, T181)) → UNIF_PAIRS60_IN_A(T181)
P50_IN_GAGGAA(T103, T113, T117, T118, T119, T120) → U18_GAGGAA(T103, T113, T117, T118, T119, T120, unif_pairs51_in_ga(T103, T113))
U18_GAGGAA(T103, T113, T117, T118, T119, T120, unif_pairs51_out_ga(T103, T113)) → U19_GAGGAA(T103, T113, T117, T118, T119, T120, unif_lines43_in_ga(.(T117, T118), .(T119, T120)))
U18_GAGGAA(T103, T113, T117, T118, T119, T120, unif_pairs51_out_ga(T103, T113)) → UNIF_LINES43_IN_GA(.(T117, T118), .(T119, T120))
UNIF_MATRX37_IN_GA(T56, .(T65, T66)) → U7_GA(T56, T65, T66, unif_lines43_in_ga(T56, T65))
U7_GA(T56, T65, T66, unif_lines43_out_ga(T56, T65)) → U8_GA(T56, T65, T66, unif_matrx37_in_aa(T65, T66))
U7_GA(T56, T65, T66, unif_lines43_out_ga(T56, T65)) → UNIF_MATRX37_IN_AA(T65, T66)
SHAPES1_IN_GA(.(white, T207), T6) → U28_GA(T207, T6, p17_in_gag(T207, X310, w(X309)))
SHAPES1_IN_GA(.(white, T207), T6) → P17_IN_GAG(T207, X310, w(X309))

The TRS R consists of the following rules:

shapes1_in_ga(.(T15, T16), T6) → U24_ga(T15, T16, T6, varmat16_in_ga(T15, X49))
varmat16_in_ga([], []) → varmat16_out_ga([], [])
varmat16_in_ga(.(T26, T27), .(X83, X84)) → U1_ga(T26, T27, X83, X84, varmat16_in_ga(T26, X83))
varmat16_in_ga(.(T26, T27), .(T28, X84)) → U2_ga(T26, T27, T28, X84, varmat16_in_ga(T26, T28))
varmat16_in_ga(.(black, T33), .(black, X103)) → U4_ga(T33, X103, varmat16_in_ga(T33, X103))
varmat16_in_ga(.(white, T36), .(w(X119), X120)) → U5_ga(T36, X119, X120, varmat16_in_ga(T36, X120))
U5_ga(T36, X119, X120, varmat16_out_ga(T36, X120)) → varmat16_out_ga(.(white, T36), .(w(X119), X120))
U4_ga(T33, X103, varmat16_out_ga(T33, X103)) → varmat16_out_ga(.(black, T33), .(black, X103))
U2_ga(T26, T27, T28, X84, varmat16_out_ga(T26, T28)) → U3_ga(T26, T27, T28, X84, varmat16_in_ga(T27, X84))
U3_ga(T26, T27, T28, X84, varmat16_out_ga(T27, X84)) → varmat16_out_ga(.(T26, T27), .(T28, X84))
U1_ga(T26, T27, X83, X84, varmat16_out_ga(T26, X83)) → varmat16_out_ga(.(T26, T27), .(X83, X84))
U24_ga(T15, T16, T6, varmat16_out_ga(T15, X49)) → shapes1_out_ga(.(T15, T16), T6)
shapes1_in_ga(.(T15, T16), T6) → U25_ga(T15, T16, T6, varmat16_in_ga(T15, T17))
U25_ga(T15, T16, T6, varmat16_out_ga(T15, T17)) → U26_ga(T15, T16, T6, p17_in_gaa(T16, X50, T17))
p17_in_gaa(T16, X50, T17) → U14_gaa(T16, X50, T17, varmat16_in_ga(T16, X50))
U14_gaa(T16, X50, T17, varmat16_out_ga(T16, X50)) → p17_out_gaa(T16, X50, T17)
p17_in_gaa(T16, T37, T17) → U15_gaa(T16, T37, T17, varmat16_in_ga(T16, T37))
U15_gaa(T16, T37, T17, varmat16_out_ga(T16, T37)) → U16_gaa(T16, T37, T17, unif_matrx37_in_aa(T17, T37))
unif_matrx37_in_aa(T56, .(T57, T58)) → U6_aa(T56, T57, T58, unif_lines43_in_aa(T56, T57))
unif_lines43_in_aa(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_aa(T103, T104, T107, T105, T106, T108, p50_in_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
p50_in_aaaaaa(T103, T113, T104, T107, T106, T108) → U17_aaaaaa(T103, T113, T104, T107, T106, T108, unif_pairs51_in_aa(T103, T113))
unif_pairs51_in_aa(w(T140), .(w(T140), T141)) → U20_aa(T140, T141, unif_pairs60_in_a(T141))
unif_pairs60_in_a([]) → unif_pairs60_out_a([])
unif_pairs60_in_a(.(w(T158), .(w(T158), T159))) → U10_a(T158, T159, unif_pairs60_in_a(T159))
unif_pairs60_in_a(.(black, .(black, T160))) → U11_a(T160, unif_pairs60_in_a(T160))
unif_pairs60_in_a(.(black, .(w(T165), T166))) → U12_a(T165, T166, unif_pairs60_in_a(T166))
unif_pairs60_in_a(.(w(T169), .(black, T170))) → U13_a(T169, T170, unif_pairs60_in_a(T170))
U13_a(T169, T170, unif_pairs60_out_a(T170)) → unif_pairs60_out_a(.(w(T169), .(black, T170)))
U12_a(T165, T166, unif_pairs60_out_a(T166)) → unif_pairs60_out_a(.(black, .(w(T165), T166)))
U11_a(T160, unif_pairs60_out_a(T160)) → unif_pairs60_out_a(.(black, .(black, T160)))
U10_a(T158, T159, unif_pairs60_out_a(T159)) → unif_pairs60_out_a(.(w(T158), .(w(T158), T159)))
U20_aa(T140, T141, unif_pairs60_out_a(T141)) → unif_pairs51_out_aa(w(T140), .(w(T140), T141))
unif_pairs51_in_aa(black, .(black, T171)) → U21_aa(T171, unif_pairs60_in_a(T171))
U21_aa(T171, unif_pairs60_out_a(T171)) → unif_pairs51_out_aa(black, .(black, T171))
unif_pairs51_in_aa(black, .(w(T176), T177)) → U22_aa(T176, T177, unif_pairs60_in_a(T177))
U22_aa(T176, T177, unif_pairs60_out_a(T177)) → unif_pairs51_out_aa(black, .(w(T176), T177))
unif_pairs51_in_aa(w(T180), .(black, T181)) → U23_aa(T180, T181, unif_pairs60_in_a(T181))
U23_aa(T180, T181, unif_pairs60_out_a(T181)) → unif_pairs51_out_aa(w(T180), .(black, T181))
U17_aaaaaa(T103, T113, T104, T107, T106, T108, unif_pairs51_out_aa(T103, T113)) → p50_out_aaaaaa(T103, T113, T104, T107, T106, T108)
p50_in_aaaaaa(T103, T113, T117, T118, T119, T120) → U18_aaaaaa(T103, T113, T117, T118, T119, T120, unif_pairs51_in_aa(T103, T113))
U18_aaaaaa(T103, T113, T117, T118, T119, T120, unif_pairs51_out_aa(T103, T113)) → U19_aaaaaa(T103, T113, T117, T118, T119, T120, unif_lines43_in_aa(.(T117, T118), .(T119, T120)))
unif_lines43_in_aa(.(T192, []), .(T193, [])) → unif_lines43_out_aa(.(T192, []), .(T193, []))
U19_aaaaaa(T103, T113, T117, T118, T119, T120, unif_lines43_out_aa(.(T117, T118), .(T119, T120))) → p50_out_aaaaaa(T103, T113, T117, T118, T119, T120)
U9_aa(T103, T104, T107, T105, T106, T108, p50_out_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_lines43_out_aa(.(T103, .(T104, T107)), .(T105, .(T106, T108)))
U6_aa(T56, T57, T58, unif_lines43_out_aa(T56, T57)) → unif_matrx37_out_aa(T56, .(T57, T58))
unif_matrx37_in_aa(T56, .(T65, T66)) → U7_aa(T56, T65, T66, unif_lines43_in_aa(T56, T65))
U7_aa(T56, T65, T66, unif_lines43_out_aa(T56, T65)) → U8_aa(T56, T65, T66, unif_matrx37_in_aa(T65, T66))
unif_matrx37_in_aa(T199, []) → unif_matrx37_out_aa(T199, [])
U8_aa(T56, T65, T66, unif_matrx37_out_aa(T65, T66)) → unif_matrx37_out_aa(T56, .(T65, T66))
U16_gaa(T16, T37, T17, unif_matrx37_out_aa(T17, T37)) → p17_out_gaa(T16, T37, T17)
U26_ga(T15, T16, T6, p17_out_gaa(T16, X50, T17)) → shapes1_out_ga(.(T15, T16), T6)
shapes1_in_ga(.(black, T204), T6) → U27_ga(T204, T6, p17_in_gag(T204, X293, black))
p17_in_gag(T16, X50, T17) → U14_gag(T16, X50, T17, varmat16_in_ga(T16, X50))
U14_gag(T16, X50, T17, varmat16_out_ga(T16, X50)) → p17_out_gag(T16, X50, T17)
p17_in_gag(T16, T37, T17) → U15_gag(T16, T37, T17, varmat16_in_ga(T16, T37))
U15_gag(T16, T37, T17, varmat16_out_ga(T16, T37)) → U16_gag(T16, T37, T17, unif_matrx37_in_ga(T17, T37))
unif_matrx37_in_ga(T56, .(T57, T58)) → U6_ga(T56, T57, T58, unif_lines43_in_ga(T56, T57))
unif_lines43_in_ga(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_ga(T103, T104, T107, T105, T106, T108, p50_in_gaggaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
p50_in_gaggaa(T103, T113, T104, T107, T106, T108) → U17_gaggaa(T103, T113, T104, T107, T106, T108, unif_pairs51_in_ga(T103, T113))
unif_pairs51_in_ga(w(T140), .(w(T140), T141)) → U20_ga(T140, T141, unif_pairs60_in_a(T141))
U20_ga(T140, T141, unif_pairs60_out_a(T141)) → unif_pairs51_out_ga(w(T140), .(w(T140), T141))
unif_pairs51_in_ga(black, .(black, T171)) → U21_ga(T171, unif_pairs60_in_a(T171))
U21_ga(T171, unif_pairs60_out_a(T171)) → unif_pairs51_out_ga(black, .(black, T171))
unif_pairs51_in_ga(black, .(w(T176), T177)) → U22_ga(T176, T177, unif_pairs60_in_a(T177))
U22_ga(T176, T177, unif_pairs60_out_a(T177)) → unif_pairs51_out_ga(black, .(w(T176), T177))
unif_pairs51_in_ga(w(T180), .(black, T181)) → U23_ga(T180, T181, unif_pairs60_in_a(T181))
U23_ga(T180, T181, unif_pairs60_out_a(T181)) → unif_pairs51_out_ga(w(T180), .(black, T181))
U17_gaggaa(T103, T113, T104, T107, T106, T108, unif_pairs51_out_ga(T103, T113)) → p50_out_gaggaa(T103, T113, T104, T107, T106, T108)
p50_in_gaggaa(T103, T113, T117, T118, T119, T120) → U18_gaggaa(T103, T113, T117, T118, T119, T120, unif_pairs51_in_ga(T103, T113))
U18_gaggaa(T103, T113, T117, T118, T119, T120, unif_pairs51_out_ga(T103, T113)) → U19_gaggaa(T103, T113, T117, T118, T119, T120, unif_lines43_in_ga(.(T117, T118), .(T119, T120)))
unif_lines43_in_ga(.(T192, []), .(T193, [])) → unif_lines43_out_ga(.(T192, []), .(T193, []))
U19_gaggaa(T103, T113, T117, T118, T119, T120, unif_lines43_out_ga(.(T117, T118), .(T119, T120))) → p50_out_gaggaa(T103, T113, T117, T118, T119, T120)
U9_ga(T103, T104, T107, T105, T106, T108, p50_out_gaggaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_lines43_out_ga(.(T103, .(T104, T107)), .(T105, .(T106, T108)))
U6_ga(T56, T57, T58, unif_lines43_out_ga(T56, T57)) → unif_matrx37_out_ga(T56, .(T57, T58))
unif_matrx37_in_ga(T56, .(T65, T66)) → U7_ga(T56, T65, T66, unif_lines43_in_ga(T56, T65))
U7_ga(T56, T65, T66, unif_lines43_out_ga(T56, T65)) → U8_ga(T56, T65, T66, unif_matrx37_in_aa(T65, T66))
U8_ga(T56, T65, T66, unif_matrx37_out_aa(T65, T66)) → unif_matrx37_out_ga(T56, .(T65, T66))
unif_matrx37_in_ga(T199, []) → unif_matrx37_out_ga(T199, [])
U16_gag(T16, T37, T17, unif_matrx37_out_ga(T17, T37)) → p17_out_gag(T16, T37, T17)
U27_ga(T204, T6, p17_out_gag(T204, X293, black)) → shapes1_out_ga(.(black, T204), T6)
shapes1_in_ga(.(white, T207), T6) → U28_ga(T207, T6, p17_in_gag(T207, X310, w(X309)))
U28_ga(T207, T6, p17_out_gag(T207, X310, w(X309))) → shapes1_out_ga(.(white, T207), T6)

The argument filtering Pi contains the following mapping:
shapes1_in_ga(x1, x2)  =  shapes1_in_ga(x1)
.(x1, x2)  =  .(x1, x2)
U24_ga(x1, x2, x3, x4)  =  U24_ga(x4)
varmat16_in_ga(x1, x2)  =  varmat16_in_ga(x1)
[]  =  []
varmat16_out_ga(x1, x2)  =  varmat16_out_ga
U1_ga(x1, x2, x3, x4, x5)  =  U1_ga(x5)
U2_ga(x1, x2, x3, x4, x5)  =  U2_ga(x2, x5)
black  =  black
U4_ga(x1, x2, x3)  =  U4_ga(x3)
white  =  white
U5_ga(x1, x2, x3, x4)  =  U5_ga(x4)
w(x1)  =  w
U3_ga(x1, x2, x3, x4, x5)  =  U3_ga(x5)
shapes1_out_ga(x1, x2)  =  shapes1_out_ga
U25_ga(x1, x2, x3, x4)  =  U25_ga(x2, x4)
U26_ga(x1, x2, x3, x4)  =  U26_ga(x4)
p17_in_gaa(x1, x2, x3)  =  p17_in_gaa(x1)
U14_gaa(x1, x2, x3, x4)  =  U14_gaa(x4)
p17_out_gaa(x1, x2, x3)  =  p17_out_gaa
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x4)
unif_matrx37_in_aa(x1, x2)  =  unif_matrx37_in_aa
U6_aa(x1, x2, x3, x4)  =  U6_aa(x4)
unif_lines43_in_aa(x1, x2)  =  unif_lines43_in_aa
U9_aa(x1, x2, x3, x4, x5, x6, x7)  =  U9_aa(x7)
p50_in_aaaaaa(x1, x2, x3, x4, x5, x6)  =  p50_in_aaaaaa
U17_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_aaaaaa(x7)
unif_pairs51_in_aa(x1, x2)  =  unif_pairs51_in_aa
U20_aa(x1, x2, x3)  =  U20_aa(x3)
unif_pairs60_in_a(x1)  =  unif_pairs60_in_a
unif_pairs60_out_a(x1)  =  unif_pairs60_out_a(x1)
U10_a(x1, x2, x3)  =  U10_a(x3)
U11_a(x1, x2)  =  U11_a(x2)
U12_a(x1, x2, x3)  =  U12_a(x3)
U13_a(x1, x2, x3)  =  U13_a(x3)
unif_pairs51_out_aa(x1, x2)  =  unif_pairs51_out_aa(x1, x2)
U21_aa(x1, x2)  =  U21_aa(x2)
U22_aa(x1, x2, x3)  =  U22_aa(x3)
U23_aa(x1, x2, x3)  =  U23_aa(x3)
p50_out_aaaaaa(x1, x2, x3, x4, x5, x6)  =  p50_out_aaaaaa(x1, x2)
U18_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_aaaaaa(x7)
U19_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U19_aaaaaa(x1, x2, x7)
unif_lines43_out_aa(x1, x2)  =  unif_lines43_out_aa
unif_matrx37_out_aa(x1, x2)  =  unif_matrx37_out_aa
U7_aa(x1, x2, x3, x4)  =  U7_aa(x4)
U8_aa(x1, x2, x3, x4)  =  U8_aa(x4)
U27_ga(x1, x2, x3)  =  U27_ga(x3)
p17_in_gag(x1, x2, x3)  =  p17_in_gag(x1, x3)
U14_gag(x1, x2, x3, x4)  =  U14_gag(x4)
p17_out_gag(x1, x2, x3)  =  p17_out_gag
U15_gag(x1, x2, x3, x4)  =  U15_gag(x3, x4)
U16_gag(x1, x2, x3, x4)  =  U16_gag(x4)
unif_matrx37_in_ga(x1, x2)  =  unif_matrx37_in_ga(x1)
U6_ga(x1, x2, x3, x4)  =  U6_ga(x4)
unif_lines43_in_ga(x1, x2)  =  unif_lines43_in_ga(x1)
U9_ga(x1, x2, x3, x4, x5, x6, x7)  =  U9_ga(x7)
p50_in_gaggaa(x1, x2, x3, x4, x5, x6)  =  p50_in_gaggaa(x1, x3, x4)
U17_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_gaggaa(x7)
unif_pairs51_in_ga(x1, x2)  =  unif_pairs51_in_ga(x1)
U20_ga(x1, x2, x3)  =  U20_ga(x3)
unif_pairs51_out_ga(x1, x2)  =  unif_pairs51_out_ga(x2)
U21_ga(x1, x2)  =  U21_ga(x2)
U22_ga(x1, x2, x3)  =  U22_ga(x3)
U23_ga(x1, x2, x3)  =  U23_ga(x3)
p50_out_gaggaa(x1, x2, x3, x4, x5, x6)  =  p50_out_gaggaa(x2)
U18_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_gaggaa(x3, x4, x7)
U19_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U19_gaggaa(x2, x7)
unif_lines43_out_ga(x1, x2)  =  unif_lines43_out_ga
unif_matrx37_out_ga(x1, x2)  =  unif_matrx37_out_ga
U7_ga(x1, x2, x3, x4)  =  U7_ga(x4)
U8_ga(x1, x2, x3, x4)  =  U8_ga(x4)
U28_ga(x1, x2, x3)  =  U28_ga(x3)
SHAPES1_IN_GA(x1, x2)  =  SHAPES1_IN_GA(x1)
U24_GA(x1, x2, x3, x4)  =  U24_GA(x4)
VARMAT16_IN_GA(x1, x2)  =  VARMAT16_IN_GA(x1)
U1_GA(x1, x2, x3, x4, x5)  =  U1_GA(x5)
U2_GA(x1, x2, x3, x4, x5)  =  U2_GA(x2, x5)
U4_GA(x1, x2, x3)  =  U4_GA(x3)
U5_GA(x1, x2, x3, x4)  =  U5_GA(x4)
U3_GA(x1, x2, x3, x4, x5)  =  U3_GA(x5)
U25_GA(x1, x2, x3, x4)  =  U25_GA(x2, x4)
U26_GA(x1, x2, x3, x4)  =  U26_GA(x4)
P17_IN_GAA(x1, x2, x3)  =  P17_IN_GAA(x1)
U14_GAA(x1, x2, x3, x4)  =  U14_GAA(x4)
U15_GAA(x1, x2, x3, x4)  =  U15_GAA(x4)
U16_GAA(x1, x2, x3, x4)  =  U16_GAA(x4)
UNIF_MATRX37_IN_AA(x1, x2)  =  UNIF_MATRX37_IN_AA
U6_AA(x1, x2, x3, x4)  =  U6_AA(x4)
UNIF_LINES43_IN_AA(x1, x2)  =  UNIF_LINES43_IN_AA
U9_AA(x1, x2, x3, x4, x5, x6, x7)  =  U9_AA(x7)
P50_IN_AAAAAA(x1, x2, x3, x4, x5, x6)  =  P50_IN_AAAAAA
U17_AAAAAA(x1, x2, x3, x4, x5, x6, x7)  =  U17_AAAAAA(x7)
UNIF_PAIRS51_IN_AA(x1, x2)  =  UNIF_PAIRS51_IN_AA
U20_AA(x1, x2, x3)  =  U20_AA(x3)
UNIF_PAIRS60_IN_A(x1)  =  UNIF_PAIRS60_IN_A
U10_A(x1, x2, x3)  =  U10_A(x3)
U11_A(x1, x2)  =  U11_A(x2)
U12_A(x1, x2, x3)  =  U12_A(x3)
U13_A(x1, x2, x3)  =  U13_A(x3)
U21_AA(x1, x2)  =  U21_AA(x2)
U22_AA(x1, x2, x3)  =  U22_AA(x3)
U23_AA(x1, x2, x3)  =  U23_AA(x3)
U18_AAAAAA(x1, x2, x3, x4, x5, x6, x7)  =  U18_AAAAAA(x7)
U19_AAAAAA(x1, x2, x3, x4, x5, x6, x7)  =  U19_AAAAAA(x1, x2, x7)
U7_AA(x1, x2, x3, x4)  =  U7_AA(x4)
U8_AA(x1, x2, x3, x4)  =  U8_AA(x4)
U27_GA(x1, x2, x3)  =  U27_GA(x3)
P17_IN_GAG(x1, x2, x3)  =  P17_IN_GAG(x1, x3)
U14_GAG(x1, x2, x3, x4)  =  U14_GAG(x4)
U15_GAG(x1, x2, x3, x4)  =  U15_GAG(x3, x4)
U16_GAG(x1, x2, x3, x4)  =  U16_GAG(x4)
UNIF_MATRX37_IN_GA(x1, x2)  =  UNIF_MATRX37_IN_GA(x1)
U6_GA(x1, x2, x3, x4)  =  U6_GA(x4)
UNIF_LINES43_IN_GA(x1, x2)  =  UNIF_LINES43_IN_GA(x1)
U9_GA(x1, x2, x3, x4, x5, x6, x7)  =  U9_GA(x7)
P50_IN_GAGGAA(x1, x2, x3, x4, x5, x6)  =  P50_IN_GAGGAA(x1, x3, x4)
U17_GAGGAA(x1, x2, x3, x4, x5, x6, x7)  =  U17_GAGGAA(x7)
UNIF_PAIRS51_IN_GA(x1, x2)  =  UNIF_PAIRS51_IN_GA(x1)
U20_GA(x1, x2, x3)  =  U20_GA(x3)
U21_GA(x1, x2)  =  U21_GA(x2)
U22_GA(x1, x2, x3)  =  U22_GA(x3)
U23_GA(x1, x2, x3)  =  U23_GA(x3)
U18_GAGGAA(x1, x2, x3, x4, x5, x6, x7)  =  U18_GAGGAA(x3, x4, x7)
U19_GAGGAA(x1, x2, x3, x4, x5, x6, x7)  =  U19_GAGGAA(x2, x7)
U7_GA(x1, x2, x3, x4)  =  U7_GA(x4)
U8_GA(x1, x2, x3, x4)  =  U8_GA(x4)
U28_GA(x1, x2, x3)  =  U28_GA(x3)

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

(58) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LOPSTR] contains 5 SCCs with 59 less nodes.

(59) Complex Obligation (AND)

(60) Obligation:

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

UNIF_PAIRS60_IN_A(.(black, .(black, T160))) → UNIF_PAIRS60_IN_A(T160)
UNIF_PAIRS60_IN_A(.(w(T158), .(w(T158), T159))) → UNIF_PAIRS60_IN_A(T159)
UNIF_PAIRS60_IN_A(.(black, .(w(T165), T166))) → UNIF_PAIRS60_IN_A(T166)
UNIF_PAIRS60_IN_A(.(w(T169), .(black, T170))) → UNIF_PAIRS60_IN_A(T170)

The TRS R consists of the following rules:

shapes1_in_ga(.(T15, T16), T6) → U24_ga(T15, T16, T6, varmat16_in_ga(T15, X49))
varmat16_in_ga([], []) → varmat16_out_ga([], [])
varmat16_in_ga(.(T26, T27), .(X83, X84)) → U1_ga(T26, T27, X83, X84, varmat16_in_ga(T26, X83))
varmat16_in_ga(.(T26, T27), .(T28, X84)) → U2_ga(T26, T27, T28, X84, varmat16_in_ga(T26, T28))
varmat16_in_ga(.(black, T33), .(black, X103)) → U4_ga(T33, X103, varmat16_in_ga(T33, X103))
varmat16_in_ga(.(white, T36), .(w(X119), X120)) → U5_ga(T36, X119, X120, varmat16_in_ga(T36, X120))
U5_ga(T36, X119, X120, varmat16_out_ga(T36, X120)) → varmat16_out_ga(.(white, T36), .(w(X119), X120))
U4_ga(T33, X103, varmat16_out_ga(T33, X103)) → varmat16_out_ga(.(black, T33), .(black, X103))
U2_ga(T26, T27, T28, X84, varmat16_out_ga(T26, T28)) → U3_ga(T26, T27, T28, X84, varmat16_in_ga(T27, X84))
U3_ga(T26, T27, T28, X84, varmat16_out_ga(T27, X84)) → varmat16_out_ga(.(T26, T27), .(T28, X84))
U1_ga(T26, T27, X83, X84, varmat16_out_ga(T26, X83)) → varmat16_out_ga(.(T26, T27), .(X83, X84))
U24_ga(T15, T16, T6, varmat16_out_ga(T15, X49)) → shapes1_out_ga(.(T15, T16), T6)
shapes1_in_ga(.(T15, T16), T6) → U25_ga(T15, T16, T6, varmat16_in_ga(T15, T17))
U25_ga(T15, T16, T6, varmat16_out_ga(T15, T17)) → U26_ga(T15, T16, T6, p17_in_gaa(T16, X50, T17))
p17_in_gaa(T16, X50, T17) → U14_gaa(T16, X50, T17, varmat16_in_ga(T16, X50))
U14_gaa(T16, X50, T17, varmat16_out_ga(T16, X50)) → p17_out_gaa(T16, X50, T17)
p17_in_gaa(T16, T37, T17) → U15_gaa(T16, T37, T17, varmat16_in_ga(T16, T37))
U15_gaa(T16, T37, T17, varmat16_out_ga(T16, T37)) → U16_gaa(T16, T37, T17, unif_matrx37_in_aa(T17, T37))
unif_matrx37_in_aa(T56, .(T57, T58)) → U6_aa(T56, T57, T58, unif_lines43_in_aa(T56, T57))
unif_lines43_in_aa(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_aa(T103, T104, T107, T105, T106, T108, p50_in_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
p50_in_aaaaaa(T103, T113, T104, T107, T106, T108) → U17_aaaaaa(T103, T113, T104, T107, T106, T108, unif_pairs51_in_aa(T103, T113))
unif_pairs51_in_aa(w(T140), .(w(T140), T141)) → U20_aa(T140, T141, unif_pairs60_in_a(T141))
unif_pairs60_in_a([]) → unif_pairs60_out_a([])
unif_pairs60_in_a(.(w(T158), .(w(T158), T159))) → U10_a(T158, T159, unif_pairs60_in_a(T159))
unif_pairs60_in_a(.(black, .(black, T160))) → U11_a(T160, unif_pairs60_in_a(T160))
unif_pairs60_in_a(.(black, .(w(T165), T166))) → U12_a(T165, T166, unif_pairs60_in_a(T166))
unif_pairs60_in_a(.(w(T169), .(black, T170))) → U13_a(T169, T170, unif_pairs60_in_a(T170))
U13_a(T169, T170, unif_pairs60_out_a(T170)) → unif_pairs60_out_a(.(w(T169), .(black, T170)))
U12_a(T165, T166, unif_pairs60_out_a(T166)) → unif_pairs60_out_a(.(black, .(w(T165), T166)))
U11_a(T160, unif_pairs60_out_a(T160)) → unif_pairs60_out_a(.(black, .(black, T160)))
U10_a(T158, T159, unif_pairs60_out_a(T159)) → unif_pairs60_out_a(.(w(T158), .(w(T158), T159)))
U20_aa(T140, T141, unif_pairs60_out_a(T141)) → unif_pairs51_out_aa(w(T140), .(w(T140), T141))
unif_pairs51_in_aa(black, .(black, T171)) → U21_aa(T171, unif_pairs60_in_a(T171))
U21_aa(T171, unif_pairs60_out_a(T171)) → unif_pairs51_out_aa(black, .(black, T171))
unif_pairs51_in_aa(black, .(w(T176), T177)) → U22_aa(T176, T177, unif_pairs60_in_a(T177))
U22_aa(T176, T177, unif_pairs60_out_a(T177)) → unif_pairs51_out_aa(black, .(w(T176), T177))
unif_pairs51_in_aa(w(T180), .(black, T181)) → U23_aa(T180, T181, unif_pairs60_in_a(T181))
U23_aa(T180, T181, unif_pairs60_out_a(T181)) → unif_pairs51_out_aa(w(T180), .(black, T181))
U17_aaaaaa(T103, T113, T104, T107, T106, T108, unif_pairs51_out_aa(T103, T113)) → p50_out_aaaaaa(T103, T113, T104, T107, T106, T108)
p50_in_aaaaaa(T103, T113, T117, T118, T119, T120) → U18_aaaaaa(T103, T113, T117, T118, T119, T120, unif_pairs51_in_aa(T103, T113))
U18_aaaaaa(T103, T113, T117, T118, T119, T120, unif_pairs51_out_aa(T103, T113)) → U19_aaaaaa(T103, T113, T117, T118, T119, T120, unif_lines43_in_aa(.(T117, T118), .(T119, T120)))
unif_lines43_in_aa(.(T192, []), .(T193, [])) → unif_lines43_out_aa(.(T192, []), .(T193, []))
U19_aaaaaa(T103, T113, T117, T118, T119, T120, unif_lines43_out_aa(.(T117, T118), .(T119, T120))) → p50_out_aaaaaa(T103, T113, T117, T118, T119, T120)
U9_aa(T103, T104, T107, T105, T106, T108, p50_out_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_lines43_out_aa(.(T103, .(T104, T107)), .(T105, .(T106, T108)))
U6_aa(T56, T57, T58, unif_lines43_out_aa(T56, T57)) → unif_matrx37_out_aa(T56, .(T57, T58))
unif_matrx37_in_aa(T56, .(T65, T66)) → U7_aa(T56, T65, T66, unif_lines43_in_aa(T56, T65))
U7_aa(T56, T65, T66, unif_lines43_out_aa(T56, T65)) → U8_aa(T56, T65, T66, unif_matrx37_in_aa(T65, T66))
unif_matrx37_in_aa(T199, []) → unif_matrx37_out_aa(T199, [])
U8_aa(T56, T65, T66, unif_matrx37_out_aa(T65, T66)) → unif_matrx37_out_aa(T56, .(T65, T66))
U16_gaa(T16, T37, T17, unif_matrx37_out_aa(T17, T37)) → p17_out_gaa(T16, T37, T17)
U26_ga(T15, T16, T6, p17_out_gaa(T16, X50, T17)) → shapes1_out_ga(.(T15, T16), T6)
shapes1_in_ga(.(black, T204), T6) → U27_ga(T204, T6, p17_in_gag(T204, X293, black))
p17_in_gag(T16, X50, T17) → U14_gag(T16, X50, T17, varmat16_in_ga(T16, X50))
U14_gag(T16, X50, T17, varmat16_out_ga(T16, X50)) → p17_out_gag(T16, X50, T17)
p17_in_gag(T16, T37, T17) → U15_gag(T16, T37, T17, varmat16_in_ga(T16, T37))
U15_gag(T16, T37, T17, varmat16_out_ga(T16, T37)) → U16_gag(T16, T37, T17, unif_matrx37_in_ga(T17, T37))
unif_matrx37_in_ga(T56, .(T57, T58)) → U6_ga(T56, T57, T58, unif_lines43_in_ga(T56, T57))
unif_lines43_in_ga(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_ga(T103, T104, T107, T105, T106, T108, p50_in_gaggaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
p50_in_gaggaa(T103, T113, T104, T107, T106, T108) → U17_gaggaa(T103, T113, T104, T107, T106, T108, unif_pairs51_in_ga(T103, T113))
unif_pairs51_in_ga(w(T140), .(w(T140), T141)) → U20_ga(T140, T141, unif_pairs60_in_a(T141))
U20_ga(T140, T141, unif_pairs60_out_a(T141)) → unif_pairs51_out_ga(w(T140), .(w(T140), T141))
unif_pairs51_in_ga(black, .(black, T171)) → U21_ga(T171, unif_pairs60_in_a(T171))
U21_ga(T171, unif_pairs60_out_a(T171)) → unif_pairs51_out_ga(black, .(black, T171))
unif_pairs51_in_ga(black, .(w(T176), T177)) → U22_ga(T176, T177, unif_pairs60_in_a(T177))
U22_ga(T176, T177, unif_pairs60_out_a(T177)) → unif_pairs51_out_ga(black, .(w(T176), T177))
unif_pairs51_in_ga(w(T180), .(black, T181)) → U23_ga(T180, T181, unif_pairs60_in_a(T181))
U23_ga(T180, T181, unif_pairs60_out_a(T181)) → unif_pairs51_out_ga(w(T180), .(black, T181))
U17_gaggaa(T103, T113, T104, T107, T106, T108, unif_pairs51_out_ga(T103, T113)) → p50_out_gaggaa(T103, T113, T104, T107, T106, T108)
p50_in_gaggaa(T103, T113, T117, T118, T119, T120) → U18_gaggaa(T103, T113, T117, T118, T119, T120, unif_pairs51_in_ga(T103, T113))
U18_gaggaa(T103, T113, T117, T118, T119, T120, unif_pairs51_out_ga(T103, T113)) → U19_gaggaa(T103, T113, T117, T118, T119, T120, unif_lines43_in_ga(.(T117, T118), .(T119, T120)))
unif_lines43_in_ga(.(T192, []), .(T193, [])) → unif_lines43_out_ga(.(T192, []), .(T193, []))
U19_gaggaa(T103, T113, T117, T118, T119, T120, unif_lines43_out_ga(.(T117, T118), .(T119, T120))) → p50_out_gaggaa(T103, T113, T117, T118, T119, T120)
U9_ga(T103, T104, T107, T105, T106, T108, p50_out_gaggaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_lines43_out_ga(.(T103, .(T104, T107)), .(T105, .(T106, T108)))
U6_ga(T56, T57, T58, unif_lines43_out_ga(T56, T57)) → unif_matrx37_out_ga(T56, .(T57, T58))
unif_matrx37_in_ga(T56, .(T65, T66)) → U7_ga(T56, T65, T66, unif_lines43_in_ga(T56, T65))
U7_ga(T56, T65, T66, unif_lines43_out_ga(T56, T65)) → U8_ga(T56, T65, T66, unif_matrx37_in_aa(T65, T66))
U8_ga(T56, T65, T66, unif_matrx37_out_aa(T65, T66)) → unif_matrx37_out_ga(T56, .(T65, T66))
unif_matrx37_in_ga(T199, []) → unif_matrx37_out_ga(T199, [])
U16_gag(T16, T37, T17, unif_matrx37_out_ga(T17, T37)) → p17_out_gag(T16, T37, T17)
U27_ga(T204, T6, p17_out_gag(T204, X293, black)) → shapes1_out_ga(.(black, T204), T6)
shapes1_in_ga(.(white, T207), T6) → U28_ga(T207, T6, p17_in_gag(T207, X310, w(X309)))
U28_ga(T207, T6, p17_out_gag(T207, X310, w(X309))) → shapes1_out_ga(.(white, T207), T6)

The argument filtering Pi contains the following mapping:
shapes1_in_ga(x1, x2)  =  shapes1_in_ga(x1)
.(x1, x2)  =  .(x1, x2)
U24_ga(x1, x2, x3, x4)  =  U24_ga(x4)
varmat16_in_ga(x1, x2)  =  varmat16_in_ga(x1)
[]  =  []
varmat16_out_ga(x1, x2)  =  varmat16_out_ga
U1_ga(x1, x2, x3, x4, x5)  =  U1_ga(x5)
U2_ga(x1, x2, x3, x4, x5)  =  U2_ga(x2, x5)
black  =  black
U4_ga(x1, x2, x3)  =  U4_ga(x3)
white  =  white
U5_ga(x1, x2, x3, x4)  =  U5_ga(x4)
w(x1)  =  w
U3_ga(x1, x2, x3, x4, x5)  =  U3_ga(x5)
shapes1_out_ga(x1, x2)  =  shapes1_out_ga
U25_ga(x1, x2, x3, x4)  =  U25_ga(x2, x4)
U26_ga(x1, x2, x3, x4)  =  U26_ga(x4)
p17_in_gaa(x1, x2, x3)  =  p17_in_gaa(x1)
U14_gaa(x1, x2, x3, x4)  =  U14_gaa(x4)
p17_out_gaa(x1, x2, x3)  =  p17_out_gaa
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x4)
unif_matrx37_in_aa(x1, x2)  =  unif_matrx37_in_aa
U6_aa(x1, x2, x3, x4)  =  U6_aa(x4)
unif_lines43_in_aa(x1, x2)  =  unif_lines43_in_aa
U9_aa(x1, x2, x3, x4, x5, x6, x7)  =  U9_aa(x7)
p50_in_aaaaaa(x1, x2, x3, x4, x5, x6)  =  p50_in_aaaaaa
U17_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_aaaaaa(x7)
unif_pairs51_in_aa(x1, x2)  =  unif_pairs51_in_aa
U20_aa(x1, x2, x3)  =  U20_aa(x3)
unif_pairs60_in_a(x1)  =  unif_pairs60_in_a
unif_pairs60_out_a(x1)  =  unif_pairs60_out_a(x1)
U10_a(x1, x2, x3)  =  U10_a(x3)
U11_a(x1, x2)  =  U11_a(x2)
U12_a(x1, x2, x3)  =  U12_a(x3)
U13_a(x1, x2, x3)  =  U13_a(x3)
unif_pairs51_out_aa(x1, x2)  =  unif_pairs51_out_aa(x1, x2)
U21_aa(x1, x2)  =  U21_aa(x2)
U22_aa(x1, x2, x3)  =  U22_aa(x3)
U23_aa(x1, x2, x3)  =  U23_aa(x3)
p50_out_aaaaaa(x1, x2, x3, x4, x5, x6)  =  p50_out_aaaaaa(x1, x2)
U18_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_aaaaaa(x7)
U19_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U19_aaaaaa(x1, x2, x7)
unif_lines43_out_aa(x1, x2)  =  unif_lines43_out_aa
unif_matrx37_out_aa(x1, x2)  =  unif_matrx37_out_aa
U7_aa(x1, x2, x3, x4)  =  U7_aa(x4)
U8_aa(x1, x2, x3, x4)  =  U8_aa(x4)
U27_ga(x1, x2, x3)  =  U27_ga(x3)
p17_in_gag(x1, x2, x3)  =  p17_in_gag(x1, x3)
U14_gag(x1, x2, x3, x4)  =  U14_gag(x4)
p17_out_gag(x1, x2, x3)  =  p17_out_gag
U15_gag(x1, x2, x3, x4)  =  U15_gag(x3, x4)
U16_gag(x1, x2, x3, x4)  =  U16_gag(x4)
unif_matrx37_in_ga(x1, x2)  =  unif_matrx37_in_ga(x1)
U6_ga(x1, x2, x3, x4)  =  U6_ga(x4)
unif_lines43_in_ga(x1, x2)  =  unif_lines43_in_ga(x1)
U9_ga(x1, x2, x3, x4, x5, x6, x7)  =  U9_ga(x7)
p50_in_gaggaa(x1, x2, x3, x4, x5, x6)  =  p50_in_gaggaa(x1, x3, x4)
U17_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_gaggaa(x7)
unif_pairs51_in_ga(x1, x2)  =  unif_pairs51_in_ga(x1)
U20_ga(x1, x2, x3)  =  U20_ga(x3)
unif_pairs51_out_ga(x1, x2)  =  unif_pairs51_out_ga(x2)
U21_ga(x1, x2)  =  U21_ga(x2)
U22_ga(x1, x2, x3)  =  U22_ga(x3)
U23_ga(x1, x2, x3)  =  U23_ga(x3)
p50_out_gaggaa(x1, x2, x3, x4, x5, x6)  =  p50_out_gaggaa(x2)
U18_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_gaggaa(x3, x4, x7)
U19_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U19_gaggaa(x2, x7)
unif_lines43_out_ga(x1, x2)  =  unif_lines43_out_ga
unif_matrx37_out_ga(x1, x2)  =  unif_matrx37_out_ga
U7_ga(x1, x2, x3, x4)  =  U7_ga(x4)
U8_ga(x1, x2, x3, x4)  =  U8_ga(x4)
U28_ga(x1, x2, x3)  =  U28_ga(x3)
UNIF_PAIRS60_IN_A(x1)  =  UNIF_PAIRS60_IN_A

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

(61) UsableRulesProof (EQUIVALENT transformation)

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

(62) Obligation:

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

UNIF_PAIRS60_IN_A(.(black, .(black, T160))) → UNIF_PAIRS60_IN_A(T160)
UNIF_PAIRS60_IN_A(.(w(T158), .(w(T158), T159))) → UNIF_PAIRS60_IN_A(T159)
UNIF_PAIRS60_IN_A(.(black, .(w(T165), T166))) → UNIF_PAIRS60_IN_A(T166)
UNIF_PAIRS60_IN_A(.(w(T169), .(black, T170))) → UNIF_PAIRS60_IN_A(T170)

R is empty.
The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
black  =  black
w(x1)  =  w
UNIF_PAIRS60_IN_A(x1)  =  UNIF_PAIRS60_IN_A

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

(63) PiDPToQDPProof (SOUND transformation)

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

(64) Obligation:

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

UNIF_PAIRS60_IN_AUNIF_PAIRS60_IN_A

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

(65) NonTerminationProof (EQUIVALENT transformation)

We used the non-termination processor [FROCOS05] to show that the DP problem is infinite.
Found a loop by semiunifying a rule from P directly.

s = UNIF_PAIRS60_IN_A evaluates to t =UNIF_PAIRS60_IN_A

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




Rewriting sequence

The DP semiunifies directly so there is only one rewrite step from UNIF_PAIRS60_IN_A to UNIF_PAIRS60_IN_A.



(66) NO

(67) Obligation:

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

P50_IN_GAGGAA(T103, T113, T117, T118, T119, T120) → U18_GAGGAA(T103, T113, T117, T118, T119, T120, unif_pairs51_in_ga(T103, T113))
U18_GAGGAA(T103, T113, T117, T118, T119, T120, unif_pairs51_out_ga(T103, T113)) → UNIF_LINES43_IN_GA(.(T117, T118), .(T119, T120))
UNIF_LINES43_IN_GA(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → P50_IN_GAGGAA(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)

The TRS R consists of the following rules:

shapes1_in_ga(.(T15, T16), T6) → U24_ga(T15, T16, T6, varmat16_in_ga(T15, X49))
varmat16_in_ga([], []) → varmat16_out_ga([], [])
varmat16_in_ga(.(T26, T27), .(X83, X84)) → U1_ga(T26, T27, X83, X84, varmat16_in_ga(T26, X83))
varmat16_in_ga(.(T26, T27), .(T28, X84)) → U2_ga(T26, T27, T28, X84, varmat16_in_ga(T26, T28))
varmat16_in_ga(.(black, T33), .(black, X103)) → U4_ga(T33, X103, varmat16_in_ga(T33, X103))
varmat16_in_ga(.(white, T36), .(w(X119), X120)) → U5_ga(T36, X119, X120, varmat16_in_ga(T36, X120))
U5_ga(T36, X119, X120, varmat16_out_ga(T36, X120)) → varmat16_out_ga(.(white, T36), .(w(X119), X120))
U4_ga(T33, X103, varmat16_out_ga(T33, X103)) → varmat16_out_ga(.(black, T33), .(black, X103))
U2_ga(T26, T27, T28, X84, varmat16_out_ga(T26, T28)) → U3_ga(T26, T27, T28, X84, varmat16_in_ga(T27, X84))
U3_ga(T26, T27, T28, X84, varmat16_out_ga(T27, X84)) → varmat16_out_ga(.(T26, T27), .(T28, X84))
U1_ga(T26, T27, X83, X84, varmat16_out_ga(T26, X83)) → varmat16_out_ga(.(T26, T27), .(X83, X84))
U24_ga(T15, T16, T6, varmat16_out_ga(T15, X49)) → shapes1_out_ga(.(T15, T16), T6)
shapes1_in_ga(.(T15, T16), T6) → U25_ga(T15, T16, T6, varmat16_in_ga(T15, T17))
U25_ga(T15, T16, T6, varmat16_out_ga(T15, T17)) → U26_ga(T15, T16, T6, p17_in_gaa(T16, X50, T17))
p17_in_gaa(T16, X50, T17) → U14_gaa(T16, X50, T17, varmat16_in_ga(T16, X50))
U14_gaa(T16, X50, T17, varmat16_out_ga(T16, X50)) → p17_out_gaa(T16, X50, T17)
p17_in_gaa(T16, T37, T17) → U15_gaa(T16, T37, T17, varmat16_in_ga(T16, T37))
U15_gaa(T16, T37, T17, varmat16_out_ga(T16, T37)) → U16_gaa(T16, T37, T17, unif_matrx37_in_aa(T17, T37))
unif_matrx37_in_aa(T56, .(T57, T58)) → U6_aa(T56, T57, T58, unif_lines43_in_aa(T56, T57))
unif_lines43_in_aa(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_aa(T103, T104, T107, T105, T106, T108, p50_in_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
p50_in_aaaaaa(T103, T113, T104, T107, T106, T108) → U17_aaaaaa(T103, T113, T104, T107, T106, T108, unif_pairs51_in_aa(T103, T113))
unif_pairs51_in_aa(w(T140), .(w(T140), T141)) → U20_aa(T140, T141, unif_pairs60_in_a(T141))
unif_pairs60_in_a([]) → unif_pairs60_out_a([])
unif_pairs60_in_a(.(w(T158), .(w(T158), T159))) → U10_a(T158, T159, unif_pairs60_in_a(T159))
unif_pairs60_in_a(.(black, .(black, T160))) → U11_a(T160, unif_pairs60_in_a(T160))
unif_pairs60_in_a(.(black, .(w(T165), T166))) → U12_a(T165, T166, unif_pairs60_in_a(T166))
unif_pairs60_in_a(.(w(T169), .(black, T170))) → U13_a(T169, T170, unif_pairs60_in_a(T170))
U13_a(T169, T170, unif_pairs60_out_a(T170)) → unif_pairs60_out_a(.(w(T169), .(black, T170)))
U12_a(T165, T166, unif_pairs60_out_a(T166)) → unif_pairs60_out_a(.(black, .(w(T165), T166)))
U11_a(T160, unif_pairs60_out_a(T160)) → unif_pairs60_out_a(.(black, .(black, T160)))
U10_a(T158, T159, unif_pairs60_out_a(T159)) → unif_pairs60_out_a(.(w(T158), .(w(T158), T159)))
U20_aa(T140, T141, unif_pairs60_out_a(T141)) → unif_pairs51_out_aa(w(T140), .(w(T140), T141))
unif_pairs51_in_aa(black, .(black, T171)) → U21_aa(T171, unif_pairs60_in_a(T171))
U21_aa(T171, unif_pairs60_out_a(T171)) → unif_pairs51_out_aa(black, .(black, T171))
unif_pairs51_in_aa(black, .(w(T176), T177)) → U22_aa(T176, T177, unif_pairs60_in_a(T177))
U22_aa(T176, T177, unif_pairs60_out_a(T177)) → unif_pairs51_out_aa(black, .(w(T176), T177))
unif_pairs51_in_aa(w(T180), .(black, T181)) → U23_aa(T180, T181, unif_pairs60_in_a(T181))
U23_aa(T180, T181, unif_pairs60_out_a(T181)) → unif_pairs51_out_aa(w(T180), .(black, T181))
U17_aaaaaa(T103, T113, T104, T107, T106, T108, unif_pairs51_out_aa(T103, T113)) → p50_out_aaaaaa(T103, T113, T104, T107, T106, T108)
p50_in_aaaaaa(T103, T113, T117, T118, T119, T120) → U18_aaaaaa(T103, T113, T117, T118, T119, T120, unif_pairs51_in_aa(T103, T113))
U18_aaaaaa(T103, T113, T117, T118, T119, T120, unif_pairs51_out_aa(T103, T113)) → U19_aaaaaa(T103, T113, T117, T118, T119, T120, unif_lines43_in_aa(.(T117, T118), .(T119, T120)))
unif_lines43_in_aa(.(T192, []), .(T193, [])) → unif_lines43_out_aa(.(T192, []), .(T193, []))
U19_aaaaaa(T103, T113, T117, T118, T119, T120, unif_lines43_out_aa(.(T117, T118), .(T119, T120))) → p50_out_aaaaaa(T103, T113, T117, T118, T119, T120)
U9_aa(T103, T104, T107, T105, T106, T108, p50_out_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_lines43_out_aa(.(T103, .(T104, T107)), .(T105, .(T106, T108)))
U6_aa(T56, T57, T58, unif_lines43_out_aa(T56, T57)) → unif_matrx37_out_aa(T56, .(T57, T58))
unif_matrx37_in_aa(T56, .(T65, T66)) → U7_aa(T56, T65, T66, unif_lines43_in_aa(T56, T65))
U7_aa(T56, T65, T66, unif_lines43_out_aa(T56, T65)) → U8_aa(T56, T65, T66, unif_matrx37_in_aa(T65, T66))
unif_matrx37_in_aa(T199, []) → unif_matrx37_out_aa(T199, [])
U8_aa(T56, T65, T66, unif_matrx37_out_aa(T65, T66)) → unif_matrx37_out_aa(T56, .(T65, T66))
U16_gaa(T16, T37, T17, unif_matrx37_out_aa(T17, T37)) → p17_out_gaa(T16, T37, T17)
U26_ga(T15, T16, T6, p17_out_gaa(T16, X50, T17)) → shapes1_out_ga(.(T15, T16), T6)
shapes1_in_ga(.(black, T204), T6) → U27_ga(T204, T6, p17_in_gag(T204, X293, black))
p17_in_gag(T16, X50, T17) → U14_gag(T16, X50, T17, varmat16_in_ga(T16, X50))
U14_gag(T16, X50, T17, varmat16_out_ga(T16, X50)) → p17_out_gag(T16, X50, T17)
p17_in_gag(T16, T37, T17) → U15_gag(T16, T37, T17, varmat16_in_ga(T16, T37))
U15_gag(T16, T37, T17, varmat16_out_ga(T16, T37)) → U16_gag(T16, T37, T17, unif_matrx37_in_ga(T17, T37))
unif_matrx37_in_ga(T56, .(T57, T58)) → U6_ga(T56, T57, T58, unif_lines43_in_ga(T56, T57))
unif_lines43_in_ga(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_ga(T103, T104, T107, T105, T106, T108, p50_in_gaggaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
p50_in_gaggaa(T103, T113, T104, T107, T106, T108) → U17_gaggaa(T103, T113, T104, T107, T106, T108, unif_pairs51_in_ga(T103, T113))
unif_pairs51_in_ga(w(T140), .(w(T140), T141)) → U20_ga(T140, T141, unif_pairs60_in_a(T141))
U20_ga(T140, T141, unif_pairs60_out_a(T141)) → unif_pairs51_out_ga(w(T140), .(w(T140), T141))
unif_pairs51_in_ga(black, .(black, T171)) → U21_ga(T171, unif_pairs60_in_a(T171))
U21_ga(T171, unif_pairs60_out_a(T171)) → unif_pairs51_out_ga(black, .(black, T171))
unif_pairs51_in_ga(black, .(w(T176), T177)) → U22_ga(T176, T177, unif_pairs60_in_a(T177))
U22_ga(T176, T177, unif_pairs60_out_a(T177)) → unif_pairs51_out_ga(black, .(w(T176), T177))
unif_pairs51_in_ga(w(T180), .(black, T181)) → U23_ga(T180, T181, unif_pairs60_in_a(T181))
U23_ga(T180, T181, unif_pairs60_out_a(T181)) → unif_pairs51_out_ga(w(T180), .(black, T181))
U17_gaggaa(T103, T113, T104, T107, T106, T108, unif_pairs51_out_ga(T103, T113)) → p50_out_gaggaa(T103, T113, T104, T107, T106, T108)
p50_in_gaggaa(T103, T113, T117, T118, T119, T120) → U18_gaggaa(T103, T113, T117, T118, T119, T120, unif_pairs51_in_ga(T103, T113))
U18_gaggaa(T103, T113, T117, T118, T119, T120, unif_pairs51_out_ga(T103, T113)) → U19_gaggaa(T103, T113, T117, T118, T119, T120, unif_lines43_in_ga(.(T117, T118), .(T119, T120)))
unif_lines43_in_ga(.(T192, []), .(T193, [])) → unif_lines43_out_ga(.(T192, []), .(T193, []))
U19_gaggaa(T103, T113, T117, T118, T119, T120, unif_lines43_out_ga(.(T117, T118), .(T119, T120))) → p50_out_gaggaa(T103, T113, T117, T118, T119, T120)
U9_ga(T103, T104, T107, T105, T106, T108, p50_out_gaggaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_lines43_out_ga(.(T103, .(T104, T107)), .(T105, .(T106, T108)))
U6_ga(T56, T57, T58, unif_lines43_out_ga(T56, T57)) → unif_matrx37_out_ga(T56, .(T57, T58))
unif_matrx37_in_ga(T56, .(T65, T66)) → U7_ga(T56, T65, T66, unif_lines43_in_ga(T56, T65))
U7_ga(T56, T65, T66, unif_lines43_out_ga(T56, T65)) → U8_ga(T56, T65, T66, unif_matrx37_in_aa(T65, T66))
U8_ga(T56, T65, T66, unif_matrx37_out_aa(T65, T66)) → unif_matrx37_out_ga(T56, .(T65, T66))
unif_matrx37_in_ga(T199, []) → unif_matrx37_out_ga(T199, [])
U16_gag(T16, T37, T17, unif_matrx37_out_ga(T17, T37)) → p17_out_gag(T16, T37, T17)
U27_ga(T204, T6, p17_out_gag(T204, X293, black)) → shapes1_out_ga(.(black, T204), T6)
shapes1_in_ga(.(white, T207), T6) → U28_ga(T207, T6, p17_in_gag(T207, X310, w(X309)))
U28_ga(T207, T6, p17_out_gag(T207, X310, w(X309))) → shapes1_out_ga(.(white, T207), T6)

The argument filtering Pi contains the following mapping:
shapes1_in_ga(x1, x2)  =  shapes1_in_ga(x1)
.(x1, x2)  =  .(x1, x2)
U24_ga(x1, x2, x3, x4)  =  U24_ga(x4)
varmat16_in_ga(x1, x2)  =  varmat16_in_ga(x1)
[]  =  []
varmat16_out_ga(x1, x2)  =  varmat16_out_ga
U1_ga(x1, x2, x3, x4, x5)  =  U1_ga(x5)
U2_ga(x1, x2, x3, x4, x5)  =  U2_ga(x2, x5)
black  =  black
U4_ga(x1, x2, x3)  =  U4_ga(x3)
white  =  white
U5_ga(x1, x2, x3, x4)  =  U5_ga(x4)
w(x1)  =  w
U3_ga(x1, x2, x3, x4, x5)  =  U3_ga(x5)
shapes1_out_ga(x1, x2)  =  shapes1_out_ga
U25_ga(x1, x2, x3, x4)  =  U25_ga(x2, x4)
U26_ga(x1, x2, x3, x4)  =  U26_ga(x4)
p17_in_gaa(x1, x2, x3)  =  p17_in_gaa(x1)
U14_gaa(x1, x2, x3, x4)  =  U14_gaa(x4)
p17_out_gaa(x1, x2, x3)  =  p17_out_gaa
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x4)
unif_matrx37_in_aa(x1, x2)  =  unif_matrx37_in_aa
U6_aa(x1, x2, x3, x4)  =  U6_aa(x4)
unif_lines43_in_aa(x1, x2)  =  unif_lines43_in_aa
U9_aa(x1, x2, x3, x4, x5, x6, x7)  =  U9_aa(x7)
p50_in_aaaaaa(x1, x2, x3, x4, x5, x6)  =  p50_in_aaaaaa
U17_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_aaaaaa(x7)
unif_pairs51_in_aa(x1, x2)  =  unif_pairs51_in_aa
U20_aa(x1, x2, x3)  =  U20_aa(x3)
unif_pairs60_in_a(x1)  =  unif_pairs60_in_a
unif_pairs60_out_a(x1)  =  unif_pairs60_out_a(x1)
U10_a(x1, x2, x3)  =  U10_a(x3)
U11_a(x1, x2)  =  U11_a(x2)
U12_a(x1, x2, x3)  =  U12_a(x3)
U13_a(x1, x2, x3)  =  U13_a(x3)
unif_pairs51_out_aa(x1, x2)  =  unif_pairs51_out_aa(x1, x2)
U21_aa(x1, x2)  =  U21_aa(x2)
U22_aa(x1, x2, x3)  =  U22_aa(x3)
U23_aa(x1, x2, x3)  =  U23_aa(x3)
p50_out_aaaaaa(x1, x2, x3, x4, x5, x6)  =  p50_out_aaaaaa(x1, x2)
U18_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_aaaaaa(x7)
U19_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U19_aaaaaa(x1, x2, x7)
unif_lines43_out_aa(x1, x2)  =  unif_lines43_out_aa
unif_matrx37_out_aa(x1, x2)  =  unif_matrx37_out_aa
U7_aa(x1, x2, x3, x4)  =  U7_aa(x4)
U8_aa(x1, x2, x3, x4)  =  U8_aa(x4)
U27_ga(x1, x2, x3)  =  U27_ga(x3)
p17_in_gag(x1, x2, x3)  =  p17_in_gag(x1, x3)
U14_gag(x1, x2, x3, x4)  =  U14_gag(x4)
p17_out_gag(x1, x2, x3)  =  p17_out_gag
U15_gag(x1, x2, x3, x4)  =  U15_gag(x3, x4)
U16_gag(x1, x2, x3, x4)  =  U16_gag(x4)
unif_matrx37_in_ga(x1, x2)  =  unif_matrx37_in_ga(x1)
U6_ga(x1, x2, x3, x4)  =  U6_ga(x4)
unif_lines43_in_ga(x1, x2)  =  unif_lines43_in_ga(x1)
U9_ga(x1, x2, x3, x4, x5, x6, x7)  =  U9_ga(x7)
p50_in_gaggaa(x1, x2, x3, x4, x5, x6)  =  p50_in_gaggaa(x1, x3, x4)
U17_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_gaggaa(x7)
unif_pairs51_in_ga(x1, x2)  =  unif_pairs51_in_ga(x1)
U20_ga(x1, x2, x3)  =  U20_ga(x3)
unif_pairs51_out_ga(x1, x2)  =  unif_pairs51_out_ga(x2)
U21_ga(x1, x2)  =  U21_ga(x2)
U22_ga(x1, x2, x3)  =  U22_ga(x3)
U23_ga(x1, x2, x3)  =  U23_ga(x3)
p50_out_gaggaa(x1, x2, x3, x4, x5, x6)  =  p50_out_gaggaa(x2)
U18_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_gaggaa(x3, x4, x7)
U19_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U19_gaggaa(x2, x7)
unif_lines43_out_ga(x1, x2)  =  unif_lines43_out_ga
unif_matrx37_out_ga(x1, x2)  =  unif_matrx37_out_ga
U7_ga(x1, x2, x3, x4)  =  U7_ga(x4)
U8_ga(x1, x2, x3, x4)  =  U8_ga(x4)
U28_ga(x1, x2, x3)  =  U28_ga(x3)
UNIF_LINES43_IN_GA(x1, x2)  =  UNIF_LINES43_IN_GA(x1)
P50_IN_GAGGAA(x1, x2, x3, x4, x5, x6)  =  P50_IN_GAGGAA(x1, x3, x4)
U18_GAGGAA(x1, x2, x3, x4, x5, x6, x7)  =  U18_GAGGAA(x3, x4, x7)

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

(68) UsableRulesProof (EQUIVALENT transformation)

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

(69) Obligation:

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

P50_IN_GAGGAA(T103, T113, T117, T118, T119, T120) → U18_GAGGAA(T103, T113, T117, T118, T119, T120, unif_pairs51_in_ga(T103, T113))
U18_GAGGAA(T103, T113, T117, T118, T119, T120, unif_pairs51_out_ga(T103, T113)) → UNIF_LINES43_IN_GA(.(T117, T118), .(T119, T120))
UNIF_LINES43_IN_GA(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → P50_IN_GAGGAA(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)

The TRS R consists of the following rules:

unif_pairs51_in_ga(w(T140), .(w(T140), T141)) → U20_ga(T140, T141, unif_pairs60_in_a(T141))
unif_pairs51_in_ga(black, .(black, T171)) → U21_ga(T171, unif_pairs60_in_a(T171))
unif_pairs51_in_ga(black, .(w(T176), T177)) → U22_ga(T176, T177, unif_pairs60_in_a(T177))
unif_pairs51_in_ga(w(T180), .(black, T181)) → U23_ga(T180, T181, unif_pairs60_in_a(T181))
U20_ga(T140, T141, unif_pairs60_out_a(T141)) → unif_pairs51_out_ga(w(T140), .(w(T140), T141))
U21_ga(T171, unif_pairs60_out_a(T171)) → unif_pairs51_out_ga(black, .(black, T171))
U22_ga(T176, T177, unif_pairs60_out_a(T177)) → unif_pairs51_out_ga(black, .(w(T176), T177))
U23_ga(T180, T181, unif_pairs60_out_a(T181)) → unif_pairs51_out_ga(w(T180), .(black, T181))
unif_pairs60_in_a([]) → unif_pairs60_out_a([])
unif_pairs60_in_a(.(w(T158), .(w(T158), T159))) → U10_a(T158, T159, unif_pairs60_in_a(T159))
unif_pairs60_in_a(.(black, .(black, T160))) → U11_a(T160, unif_pairs60_in_a(T160))
unif_pairs60_in_a(.(black, .(w(T165), T166))) → U12_a(T165, T166, unif_pairs60_in_a(T166))
unif_pairs60_in_a(.(w(T169), .(black, T170))) → U13_a(T169, T170, unif_pairs60_in_a(T170))
U10_a(T158, T159, unif_pairs60_out_a(T159)) → unif_pairs60_out_a(.(w(T158), .(w(T158), T159)))
U11_a(T160, unif_pairs60_out_a(T160)) → unif_pairs60_out_a(.(black, .(black, T160)))
U12_a(T165, T166, unif_pairs60_out_a(T166)) → unif_pairs60_out_a(.(black, .(w(T165), T166)))
U13_a(T169, T170, unif_pairs60_out_a(T170)) → unif_pairs60_out_a(.(w(T169), .(black, T170)))

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
[]  =  []
black  =  black
w(x1)  =  w
unif_pairs60_in_a(x1)  =  unif_pairs60_in_a
unif_pairs60_out_a(x1)  =  unif_pairs60_out_a(x1)
U10_a(x1, x2, x3)  =  U10_a(x3)
U11_a(x1, x2)  =  U11_a(x2)
U12_a(x1, x2, x3)  =  U12_a(x3)
U13_a(x1, x2, x3)  =  U13_a(x3)
unif_pairs51_in_ga(x1, x2)  =  unif_pairs51_in_ga(x1)
U20_ga(x1, x2, x3)  =  U20_ga(x3)
unif_pairs51_out_ga(x1, x2)  =  unif_pairs51_out_ga(x2)
U21_ga(x1, x2)  =  U21_ga(x2)
U22_ga(x1, x2, x3)  =  U22_ga(x3)
U23_ga(x1, x2, x3)  =  U23_ga(x3)
UNIF_LINES43_IN_GA(x1, x2)  =  UNIF_LINES43_IN_GA(x1)
P50_IN_GAGGAA(x1, x2, x3, x4, x5, x6)  =  P50_IN_GAGGAA(x1, x3, x4)
U18_GAGGAA(x1, x2, x3, x4, x5, x6, x7)  =  U18_GAGGAA(x3, x4, x7)

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

(70) PiDPToQDPProof (SOUND transformation)

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

(71) Obligation:

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

P50_IN_GAGGAA(T103, T117, T118) → U18_GAGGAA(T117, T118, unif_pairs51_in_ga(T103))
U18_GAGGAA(T117, T118, unif_pairs51_out_ga(T113)) → UNIF_LINES43_IN_GA(.(T117, T118))
UNIF_LINES43_IN_GA(.(T103, .(T104, T107))) → P50_IN_GAGGAA(T103, T104, T107)

The TRS R consists of the following rules:

unif_pairs51_in_ga(w) → U20_ga(unif_pairs60_in_a)
unif_pairs51_in_ga(black) → U21_ga(unif_pairs60_in_a)
unif_pairs51_in_ga(black) → U22_ga(unif_pairs60_in_a)
unif_pairs51_in_ga(w) → U23_ga(unif_pairs60_in_a)
U20_ga(unif_pairs60_out_a(T141)) → unif_pairs51_out_ga(.(w, T141))
U21_ga(unif_pairs60_out_a(T171)) → unif_pairs51_out_ga(.(black, T171))
U22_ga(unif_pairs60_out_a(T177)) → unif_pairs51_out_ga(.(w, T177))
U23_ga(unif_pairs60_out_a(T181)) → unif_pairs51_out_ga(.(black, T181))
unif_pairs60_in_aunif_pairs60_out_a([])
unif_pairs60_in_aU10_a(unif_pairs60_in_a)
unif_pairs60_in_aU11_a(unif_pairs60_in_a)
unif_pairs60_in_aU12_a(unif_pairs60_in_a)
unif_pairs60_in_aU13_a(unif_pairs60_in_a)
U10_a(unif_pairs60_out_a(T159)) → unif_pairs60_out_a(.(w, .(w, T159)))
U11_a(unif_pairs60_out_a(T160)) → unif_pairs60_out_a(.(black, .(black, T160)))
U12_a(unif_pairs60_out_a(T166)) → unif_pairs60_out_a(.(black, .(w, T166)))
U13_a(unif_pairs60_out_a(T170)) → unif_pairs60_out_a(.(w, .(black, T170)))

The set Q consists of the following terms:

unif_pairs51_in_ga(x0)
U20_ga(x0)
U21_ga(x0)
U22_ga(x0)
U23_ga(x0)
unif_pairs60_in_a
U10_a(x0)
U11_a(x0)
U12_a(x0)
U13_a(x0)

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

(72) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


UNIF_LINES43_IN_GA(.(T103, .(T104, T107))) → P50_IN_GAGGAA(T103, T104, T107)
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:

POL(.(x1, x2)) = 1 + x2   
POL(P50_IN_GAGGAA(x1, x2, x3)) = 1 + x3   
POL(U10_a(x1)) = 0   
POL(U11_a(x1)) = 0   
POL(U12_a(x1)) = 0   
POL(U13_a(x1)) = 0   
POL(U18_GAGGAA(x1, x2, x3)) = 1 + x2   
POL(U20_ga(x1)) = 0   
POL(U21_ga(x1)) = 0   
POL(U22_ga(x1)) = 0   
POL(U23_ga(x1)) = 0   
POL(UNIF_LINES43_IN_GA(x1)) = x1   
POL([]) = 0   
POL(black) = 0   
POL(unif_pairs51_in_ga(x1)) = 0   
POL(unif_pairs51_out_ga(x1)) = 0   
POL(unif_pairs60_in_a) = 0   
POL(unif_pairs60_out_a(x1)) = 0   
POL(w) = 0   

The following usable rules [FROCOS05] were oriented: none

(73) Obligation:

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

P50_IN_GAGGAA(T103, T117, T118) → U18_GAGGAA(T117, T118, unif_pairs51_in_ga(T103))
U18_GAGGAA(T117, T118, unif_pairs51_out_ga(T113)) → UNIF_LINES43_IN_GA(.(T117, T118))

The TRS R consists of the following rules:

unif_pairs51_in_ga(w) → U20_ga(unif_pairs60_in_a)
unif_pairs51_in_ga(black) → U21_ga(unif_pairs60_in_a)
unif_pairs51_in_ga(black) → U22_ga(unif_pairs60_in_a)
unif_pairs51_in_ga(w) → U23_ga(unif_pairs60_in_a)
U20_ga(unif_pairs60_out_a(T141)) → unif_pairs51_out_ga(.(w, T141))
U21_ga(unif_pairs60_out_a(T171)) → unif_pairs51_out_ga(.(black, T171))
U22_ga(unif_pairs60_out_a(T177)) → unif_pairs51_out_ga(.(w, T177))
U23_ga(unif_pairs60_out_a(T181)) → unif_pairs51_out_ga(.(black, T181))
unif_pairs60_in_aunif_pairs60_out_a([])
unif_pairs60_in_aU10_a(unif_pairs60_in_a)
unif_pairs60_in_aU11_a(unif_pairs60_in_a)
unif_pairs60_in_aU12_a(unif_pairs60_in_a)
unif_pairs60_in_aU13_a(unif_pairs60_in_a)
U10_a(unif_pairs60_out_a(T159)) → unif_pairs60_out_a(.(w, .(w, T159)))
U11_a(unif_pairs60_out_a(T160)) → unif_pairs60_out_a(.(black, .(black, T160)))
U12_a(unif_pairs60_out_a(T166)) → unif_pairs60_out_a(.(black, .(w, T166)))
U13_a(unif_pairs60_out_a(T170)) → unif_pairs60_out_a(.(w, .(black, T170)))

The set Q consists of the following terms:

unif_pairs51_in_ga(x0)
U20_ga(x0)
U21_ga(x0)
U22_ga(x0)
U23_ga(x0)
unif_pairs60_in_a
U10_a(x0)
U11_a(x0)
U12_a(x0)
U13_a(x0)

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

(74) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 2 less nodes.

(75) TRUE

(76) Obligation:

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

UNIF_LINES43_IN_AA(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → P50_IN_AAAAAA(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)
P50_IN_AAAAAA(T103, T113, T117, T118, T119, T120) → U18_AAAAAA(T103, T113, T117, T118, T119, T120, unif_pairs51_in_aa(T103, T113))
U18_AAAAAA(T103, T113, T117, T118, T119, T120, unif_pairs51_out_aa(T103, T113)) → UNIF_LINES43_IN_AA(.(T117, T118), .(T119, T120))

The TRS R consists of the following rules:

shapes1_in_ga(.(T15, T16), T6) → U24_ga(T15, T16, T6, varmat16_in_ga(T15, X49))
varmat16_in_ga([], []) → varmat16_out_ga([], [])
varmat16_in_ga(.(T26, T27), .(X83, X84)) → U1_ga(T26, T27, X83, X84, varmat16_in_ga(T26, X83))
varmat16_in_ga(.(T26, T27), .(T28, X84)) → U2_ga(T26, T27, T28, X84, varmat16_in_ga(T26, T28))
varmat16_in_ga(.(black, T33), .(black, X103)) → U4_ga(T33, X103, varmat16_in_ga(T33, X103))
varmat16_in_ga(.(white, T36), .(w(X119), X120)) → U5_ga(T36, X119, X120, varmat16_in_ga(T36, X120))
U5_ga(T36, X119, X120, varmat16_out_ga(T36, X120)) → varmat16_out_ga(.(white, T36), .(w(X119), X120))
U4_ga(T33, X103, varmat16_out_ga(T33, X103)) → varmat16_out_ga(.(black, T33), .(black, X103))
U2_ga(T26, T27, T28, X84, varmat16_out_ga(T26, T28)) → U3_ga(T26, T27, T28, X84, varmat16_in_ga(T27, X84))
U3_ga(T26, T27, T28, X84, varmat16_out_ga(T27, X84)) → varmat16_out_ga(.(T26, T27), .(T28, X84))
U1_ga(T26, T27, X83, X84, varmat16_out_ga(T26, X83)) → varmat16_out_ga(.(T26, T27), .(X83, X84))
U24_ga(T15, T16, T6, varmat16_out_ga(T15, X49)) → shapes1_out_ga(.(T15, T16), T6)
shapes1_in_ga(.(T15, T16), T6) → U25_ga(T15, T16, T6, varmat16_in_ga(T15, T17))
U25_ga(T15, T16, T6, varmat16_out_ga(T15, T17)) → U26_ga(T15, T16, T6, p17_in_gaa(T16, X50, T17))
p17_in_gaa(T16, X50, T17) → U14_gaa(T16, X50, T17, varmat16_in_ga(T16, X50))
U14_gaa(T16, X50, T17, varmat16_out_ga(T16, X50)) → p17_out_gaa(T16, X50, T17)
p17_in_gaa(T16, T37, T17) → U15_gaa(T16, T37, T17, varmat16_in_ga(T16, T37))
U15_gaa(T16, T37, T17, varmat16_out_ga(T16, T37)) → U16_gaa(T16, T37, T17, unif_matrx37_in_aa(T17, T37))
unif_matrx37_in_aa(T56, .(T57, T58)) → U6_aa(T56, T57, T58, unif_lines43_in_aa(T56, T57))
unif_lines43_in_aa(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_aa(T103, T104, T107, T105, T106, T108, p50_in_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
p50_in_aaaaaa(T103, T113, T104, T107, T106, T108) → U17_aaaaaa(T103, T113, T104, T107, T106, T108, unif_pairs51_in_aa(T103, T113))
unif_pairs51_in_aa(w(T140), .(w(T140), T141)) → U20_aa(T140, T141, unif_pairs60_in_a(T141))
unif_pairs60_in_a([]) → unif_pairs60_out_a([])
unif_pairs60_in_a(.(w(T158), .(w(T158), T159))) → U10_a(T158, T159, unif_pairs60_in_a(T159))
unif_pairs60_in_a(.(black, .(black, T160))) → U11_a(T160, unif_pairs60_in_a(T160))
unif_pairs60_in_a(.(black, .(w(T165), T166))) → U12_a(T165, T166, unif_pairs60_in_a(T166))
unif_pairs60_in_a(.(w(T169), .(black, T170))) → U13_a(T169, T170, unif_pairs60_in_a(T170))
U13_a(T169, T170, unif_pairs60_out_a(T170)) → unif_pairs60_out_a(.(w(T169), .(black, T170)))
U12_a(T165, T166, unif_pairs60_out_a(T166)) → unif_pairs60_out_a(.(black, .(w(T165), T166)))
U11_a(T160, unif_pairs60_out_a(T160)) → unif_pairs60_out_a(.(black, .(black, T160)))
U10_a(T158, T159, unif_pairs60_out_a(T159)) → unif_pairs60_out_a(.(w(T158), .(w(T158), T159)))
U20_aa(T140, T141, unif_pairs60_out_a(T141)) → unif_pairs51_out_aa(w(T140), .(w(T140), T141))
unif_pairs51_in_aa(black, .(black, T171)) → U21_aa(T171, unif_pairs60_in_a(T171))
U21_aa(T171, unif_pairs60_out_a(T171)) → unif_pairs51_out_aa(black, .(black, T171))
unif_pairs51_in_aa(black, .(w(T176), T177)) → U22_aa(T176, T177, unif_pairs60_in_a(T177))
U22_aa(T176, T177, unif_pairs60_out_a(T177)) → unif_pairs51_out_aa(black, .(w(T176), T177))
unif_pairs51_in_aa(w(T180), .(black, T181)) → U23_aa(T180, T181, unif_pairs60_in_a(T181))
U23_aa(T180, T181, unif_pairs60_out_a(T181)) → unif_pairs51_out_aa(w(T180), .(black, T181))
U17_aaaaaa(T103, T113, T104, T107, T106, T108, unif_pairs51_out_aa(T103, T113)) → p50_out_aaaaaa(T103, T113, T104, T107, T106, T108)
p50_in_aaaaaa(T103, T113, T117, T118, T119, T120) → U18_aaaaaa(T103, T113, T117, T118, T119, T120, unif_pairs51_in_aa(T103, T113))
U18_aaaaaa(T103, T113, T117, T118, T119, T120, unif_pairs51_out_aa(T103, T113)) → U19_aaaaaa(T103, T113, T117, T118, T119, T120, unif_lines43_in_aa(.(T117, T118), .(T119, T120)))
unif_lines43_in_aa(.(T192, []), .(T193, [])) → unif_lines43_out_aa(.(T192, []), .(T193, []))
U19_aaaaaa(T103, T113, T117, T118, T119, T120, unif_lines43_out_aa(.(T117, T118), .(T119, T120))) → p50_out_aaaaaa(T103, T113, T117, T118, T119, T120)
U9_aa(T103, T104, T107, T105, T106, T108, p50_out_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_lines43_out_aa(.(T103, .(T104, T107)), .(T105, .(T106, T108)))
U6_aa(T56, T57, T58, unif_lines43_out_aa(T56, T57)) → unif_matrx37_out_aa(T56, .(T57, T58))
unif_matrx37_in_aa(T56, .(T65, T66)) → U7_aa(T56, T65, T66, unif_lines43_in_aa(T56, T65))
U7_aa(T56, T65, T66, unif_lines43_out_aa(T56, T65)) → U8_aa(T56, T65, T66, unif_matrx37_in_aa(T65, T66))
unif_matrx37_in_aa(T199, []) → unif_matrx37_out_aa(T199, [])
U8_aa(T56, T65, T66, unif_matrx37_out_aa(T65, T66)) → unif_matrx37_out_aa(T56, .(T65, T66))
U16_gaa(T16, T37, T17, unif_matrx37_out_aa(T17, T37)) → p17_out_gaa(T16, T37, T17)
U26_ga(T15, T16, T6, p17_out_gaa(T16, X50, T17)) → shapes1_out_ga(.(T15, T16), T6)
shapes1_in_ga(.(black, T204), T6) → U27_ga(T204, T6, p17_in_gag(T204, X293, black))
p17_in_gag(T16, X50, T17) → U14_gag(T16, X50, T17, varmat16_in_ga(T16, X50))
U14_gag(T16, X50, T17, varmat16_out_ga(T16, X50)) → p17_out_gag(T16, X50, T17)
p17_in_gag(T16, T37, T17) → U15_gag(T16, T37, T17, varmat16_in_ga(T16, T37))
U15_gag(T16, T37, T17, varmat16_out_ga(T16, T37)) → U16_gag(T16, T37, T17, unif_matrx37_in_ga(T17, T37))
unif_matrx37_in_ga(T56, .(T57, T58)) → U6_ga(T56, T57, T58, unif_lines43_in_ga(T56, T57))
unif_lines43_in_ga(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_ga(T103, T104, T107, T105, T106, T108, p50_in_gaggaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
p50_in_gaggaa(T103, T113, T104, T107, T106, T108) → U17_gaggaa(T103, T113, T104, T107, T106, T108, unif_pairs51_in_ga(T103, T113))
unif_pairs51_in_ga(w(T140), .(w(T140), T141)) → U20_ga(T140, T141, unif_pairs60_in_a(T141))
U20_ga(T140, T141, unif_pairs60_out_a(T141)) → unif_pairs51_out_ga(w(T140), .(w(T140), T141))
unif_pairs51_in_ga(black, .(black, T171)) → U21_ga(T171, unif_pairs60_in_a(T171))
U21_ga(T171, unif_pairs60_out_a(T171)) → unif_pairs51_out_ga(black, .(black, T171))
unif_pairs51_in_ga(black, .(w(T176), T177)) → U22_ga(T176, T177, unif_pairs60_in_a(T177))
U22_ga(T176, T177, unif_pairs60_out_a(T177)) → unif_pairs51_out_ga(black, .(w(T176), T177))
unif_pairs51_in_ga(w(T180), .(black, T181)) → U23_ga(T180, T181, unif_pairs60_in_a(T181))
U23_ga(T180, T181, unif_pairs60_out_a(T181)) → unif_pairs51_out_ga(w(T180), .(black, T181))
U17_gaggaa(T103, T113, T104, T107, T106, T108, unif_pairs51_out_ga(T103, T113)) → p50_out_gaggaa(T103, T113, T104, T107, T106, T108)
p50_in_gaggaa(T103, T113, T117, T118, T119, T120) → U18_gaggaa(T103, T113, T117, T118, T119, T120, unif_pairs51_in_ga(T103, T113))
U18_gaggaa(T103, T113, T117, T118, T119, T120, unif_pairs51_out_ga(T103, T113)) → U19_gaggaa(T103, T113, T117, T118, T119, T120, unif_lines43_in_ga(.(T117, T118), .(T119, T120)))
unif_lines43_in_ga(.(T192, []), .(T193, [])) → unif_lines43_out_ga(.(T192, []), .(T193, []))
U19_gaggaa(T103, T113, T117, T118, T119, T120, unif_lines43_out_ga(.(T117, T118), .(T119, T120))) → p50_out_gaggaa(T103, T113, T117, T118, T119, T120)
U9_ga(T103, T104, T107, T105, T106, T108, p50_out_gaggaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_lines43_out_ga(.(T103, .(T104, T107)), .(T105, .(T106, T108)))
U6_ga(T56, T57, T58, unif_lines43_out_ga(T56, T57)) → unif_matrx37_out_ga(T56, .(T57, T58))
unif_matrx37_in_ga(T56, .(T65, T66)) → U7_ga(T56, T65, T66, unif_lines43_in_ga(T56, T65))
U7_ga(T56, T65, T66, unif_lines43_out_ga(T56, T65)) → U8_ga(T56, T65, T66, unif_matrx37_in_aa(T65, T66))
U8_ga(T56, T65, T66, unif_matrx37_out_aa(T65, T66)) → unif_matrx37_out_ga(T56, .(T65, T66))
unif_matrx37_in_ga(T199, []) → unif_matrx37_out_ga(T199, [])
U16_gag(T16, T37, T17, unif_matrx37_out_ga(T17, T37)) → p17_out_gag(T16, T37, T17)
U27_ga(T204, T6, p17_out_gag(T204, X293, black)) → shapes1_out_ga(.(black, T204), T6)
shapes1_in_ga(.(white, T207), T6) → U28_ga(T207, T6, p17_in_gag(T207, X310, w(X309)))
U28_ga(T207, T6, p17_out_gag(T207, X310, w(X309))) → shapes1_out_ga(.(white, T207), T6)

The argument filtering Pi contains the following mapping:
shapes1_in_ga(x1, x2)  =  shapes1_in_ga(x1)
.(x1, x2)  =  .(x1, x2)
U24_ga(x1, x2, x3, x4)  =  U24_ga(x4)
varmat16_in_ga(x1, x2)  =  varmat16_in_ga(x1)
[]  =  []
varmat16_out_ga(x1, x2)  =  varmat16_out_ga
U1_ga(x1, x2, x3, x4, x5)  =  U1_ga(x5)
U2_ga(x1, x2, x3, x4, x5)  =  U2_ga(x2, x5)
black  =  black
U4_ga(x1, x2, x3)  =  U4_ga(x3)
white  =  white
U5_ga(x1, x2, x3, x4)  =  U5_ga(x4)
w(x1)  =  w
U3_ga(x1, x2, x3, x4, x5)  =  U3_ga(x5)
shapes1_out_ga(x1, x2)  =  shapes1_out_ga
U25_ga(x1, x2, x3, x4)  =  U25_ga(x2, x4)
U26_ga(x1, x2, x3, x4)  =  U26_ga(x4)
p17_in_gaa(x1, x2, x3)  =  p17_in_gaa(x1)
U14_gaa(x1, x2, x3, x4)  =  U14_gaa(x4)
p17_out_gaa(x1, x2, x3)  =  p17_out_gaa
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x4)
unif_matrx37_in_aa(x1, x2)  =  unif_matrx37_in_aa
U6_aa(x1, x2, x3, x4)  =  U6_aa(x4)
unif_lines43_in_aa(x1, x2)  =  unif_lines43_in_aa
U9_aa(x1, x2, x3, x4, x5, x6, x7)  =  U9_aa(x7)
p50_in_aaaaaa(x1, x2, x3, x4, x5, x6)  =  p50_in_aaaaaa
U17_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_aaaaaa(x7)
unif_pairs51_in_aa(x1, x2)  =  unif_pairs51_in_aa
U20_aa(x1, x2, x3)  =  U20_aa(x3)
unif_pairs60_in_a(x1)  =  unif_pairs60_in_a
unif_pairs60_out_a(x1)  =  unif_pairs60_out_a(x1)
U10_a(x1, x2, x3)  =  U10_a(x3)
U11_a(x1, x2)  =  U11_a(x2)
U12_a(x1, x2, x3)  =  U12_a(x3)
U13_a(x1, x2, x3)  =  U13_a(x3)
unif_pairs51_out_aa(x1, x2)  =  unif_pairs51_out_aa(x1, x2)
U21_aa(x1, x2)  =  U21_aa(x2)
U22_aa(x1, x2, x3)  =  U22_aa(x3)
U23_aa(x1, x2, x3)  =  U23_aa(x3)
p50_out_aaaaaa(x1, x2, x3, x4, x5, x6)  =  p50_out_aaaaaa(x1, x2)
U18_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_aaaaaa(x7)
U19_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U19_aaaaaa(x1, x2, x7)
unif_lines43_out_aa(x1, x2)  =  unif_lines43_out_aa
unif_matrx37_out_aa(x1, x2)  =  unif_matrx37_out_aa
U7_aa(x1, x2, x3, x4)  =  U7_aa(x4)
U8_aa(x1, x2, x3, x4)  =  U8_aa(x4)
U27_ga(x1, x2, x3)  =  U27_ga(x3)
p17_in_gag(x1, x2, x3)  =  p17_in_gag(x1, x3)
U14_gag(x1, x2, x3, x4)  =  U14_gag(x4)
p17_out_gag(x1, x2, x3)  =  p17_out_gag
U15_gag(x1, x2, x3, x4)  =  U15_gag(x3, x4)
U16_gag(x1, x2, x3, x4)  =  U16_gag(x4)
unif_matrx37_in_ga(x1, x2)  =  unif_matrx37_in_ga(x1)
U6_ga(x1, x2, x3, x4)  =  U6_ga(x4)
unif_lines43_in_ga(x1, x2)  =  unif_lines43_in_ga(x1)
U9_ga(x1, x2, x3, x4, x5, x6, x7)  =  U9_ga(x7)
p50_in_gaggaa(x1, x2, x3, x4, x5, x6)  =  p50_in_gaggaa(x1, x3, x4)
U17_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_gaggaa(x7)
unif_pairs51_in_ga(x1, x2)  =  unif_pairs51_in_ga(x1)
U20_ga(x1, x2, x3)  =  U20_ga(x3)
unif_pairs51_out_ga(x1, x2)  =  unif_pairs51_out_ga(x2)
U21_ga(x1, x2)  =  U21_ga(x2)
U22_ga(x1, x2, x3)  =  U22_ga(x3)
U23_ga(x1, x2, x3)  =  U23_ga(x3)
p50_out_gaggaa(x1, x2, x3, x4, x5, x6)  =  p50_out_gaggaa(x2)
U18_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_gaggaa(x3, x4, x7)
U19_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U19_gaggaa(x2, x7)
unif_lines43_out_ga(x1, x2)  =  unif_lines43_out_ga
unif_matrx37_out_ga(x1, x2)  =  unif_matrx37_out_ga
U7_ga(x1, x2, x3, x4)  =  U7_ga(x4)
U8_ga(x1, x2, x3, x4)  =  U8_ga(x4)
U28_ga(x1, x2, x3)  =  U28_ga(x3)
UNIF_LINES43_IN_AA(x1, x2)  =  UNIF_LINES43_IN_AA
P50_IN_AAAAAA(x1, x2, x3, x4, x5, x6)  =  P50_IN_AAAAAA
U18_AAAAAA(x1, x2, x3, x4, x5, x6, x7)  =  U18_AAAAAA(x7)

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

(77) UsableRulesProof (EQUIVALENT transformation)

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

(78) Obligation:

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

UNIF_LINES43_IN_AA(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → P50_IN_AAAAAA(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)
P50_IN_AAAAAA(T103, T113, T117, T118, T119, T120) → U18_AAAAAA(T103, T113, T117, T118, T119, T120, unif_pairs51_in_aa(T103, T113))
U18_AAAAAA(T103, T113, T117, T118, T119, T120, unif_pairs51_out_aa(T103, T113)) → UNIF_LINES43_IN_AA(.(T117, T118), .(T119, T120))

The TRS R consists of the following rules:

unif_pairs51_in_aa(w(T140), .(w(T140), T141)) → U20_aa(T140, T141, unif_pairs60_in_a(T141))
unif_pairs51_in_aa(black, .(black, T171)) → U21_aa(T171, unif_pairs60_in_a(T171))
unif_pairs51_in_aa(black, .(w(T176), T177)) → U22_aa(T176, T177, unif_pairs60_in_a(T177))
unif_pairs51_in_aa(w(T180), .(black, T181)) → U23_aa(T180, T181, unif_pairs60_in_a(T181))
U20_aa(T140, T141, unif_pairs60_out_a(T141)) → unif_pairs51_out_aa(w(T140), .(w(T140), T141))
U21_aa(T171, unif_pairs60_out_a(T171)) → unif_pairs51_out_aa(black, .(black, T171))
U22_aa(T176, T177, unif_pairs60_out_a(T177)) → unif_pairs51_out_aa(black, .(w(T176), T177))
U23_aa(T180, T181, unif_pairs60_out_a(T181)) → unif_pairs51_out_aa(w(T180), .(black, T181))
unif_pairs60_in_a([]) → unif_pairs60_out_a([])
unif_pairs60_in_a(.(w(T158), .(w(T158), T159))) → U10_a(T158, T159, unif_pairs60_in_a(T159))
unif_pairs60_in_a(.(black, .(black, T160))) → U11_a(T160, unif_pairs60_in_a(T160))
unif_pairs60_in_a(.(black, .(w(T165), T166))) → U12_a(T165, T166, unif_pairs60_in_a(T166))
unif_pairs60_in_a(.(w(T169), .(black, T170))) → U13_a(T169, T170, unif_pairs60_in_a(T170))
U10_a(T158, T159, unif_pairs60_out_a(T159)) → unif_pairs60_out_a(.(w(T158), .(w(T158), T159)))
U11_a(T160, unif_pairs60_out_a(T160)) → unif_pairs60_out_a(.(black, .(black, T160)))
U12_a(T165, T166, unif_pairs60_out_a(T166)) → unif_pairs60_out_a(.(black, .(w(T165), T166)))
U13_a(T169, T170, unif_pairs60_out_a(T170)) → unif_pairs60_out_a(.(w(T169), .(black, T170)))

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
[]  =  []
black  =  black
w(x1)  =  w
unif_pairs51_in_aa(x1, x2)  =  unif_pairs51_in_aa
U20_aa(x1, x2, x3)  =  U20_aa(x3)
unif_pairs60_in_a(x1)  =  unif_pairs60_in_a
unif_pairs60_out_a(x1)  =  unif_pairs60_out_a(x1)
U10_a(x1, x2, x3)  =  U10_a(x3)
U11_a(x1, x2)  =  U11_a(x2)
U12_a(x1, x2, x3)  =  U12_a(x3)
U13_a(x1, x2, x3)  =  U13_a(x3)
unif_pairs51_out_aa(x1, x2)  =  unif_pairs51_out_aa(x1, x2)
U21_aa(x1, x2)  =  U21_aa(x2)
U22_aa(x1, x2, x3)  =  U22_aa(x3)
U23_aa(x1, x2, x3)  =  U23_aa(x3)
UNIF_LINES43_IN_AA(x1, x2)  =  UNIF_LINES43_IN_AA
P50_IN_AAAAAA(x1, x2, x3, x4, x5, x6)  =  P50_IN_AAAAAA
U18_AAAAAA(x1, x2, x3, x4, x5, x6, x7)  =  U18_AAAAAA(x7)

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

(79) PiDPToQDPProof (SOUND transformation)

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

(80) Obligation:

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

UNIF_LINES43_IN_AAP50_IN_AAAAAA
P50_IN_AAAAAAU18_AAAAAA(unif_pairs51_in_aa)
U18_AAAAAA(unif_pairs51_out_aa(T103, T113)) → UNIF_LINES43_IN_AA

The TRS R consists of the following rules:

unif_pairs51_in_aaU20_aa(unif_pairs60_in_a)
unif_pairs51_in_aaU21_aa(unif_pairs60_in_a)
unif_pairs51_in_aaU22_aa(unif_pairs60_in_a)
unif_pairs51_in_aaU23_aa(unif_pairs60_in_a)
U20_aa(unif_pairs60_out_a(T141)) → unif_pairs51_out_aa(w, .(w, T141))
U21_aa(unif_pairs60_out_a(T171)) → unif_pairs51_out_aa(black, .(black, T171))
U22_aa(unif_pairs60_out_a(T177)) → unif_pairs51_out_aa(black, .(w, T177))
U23_aa(unif_pairs60_out_a(T181)) → unif_pairs51_out_aa(w, .(black, T181))
unif_pairs60_in_aunif_pairs60_out_a([])
unif_pairs60_in_aU10_a(unif_pairs60_in_a)
unif_pairs60_in_aU11_a(unif_pairs60_in_a)
unif_pairs60_in_aU12_a(unif_pairs60_in_a)
unif_pairs60_in_aU13_a(unif_pairs60_in_a)
U10_a(unif_pairs60_out_a(T159)) → unif_pairs60_out_a(.(w, .(w, T159)))
U11_a(unif_pairs60_out_a(T160)) → unif_pairs60_out_a(.(black, .(black, T160)))
U12_a(unif_pairs60_out_a(T166)) → unif_pairs60_out_a(.(black, .(w, T166)))
U13_a(unif_pairs60_out_a(T170)) → unif_pairs60_out_a(.(w, .(black, T170)))

The set Q consists of the following terms:

unif_pairs51_in_aa
U20_aa(x0)
U21_aa(x0)
U22_aa(x0)
U23_aa(x0)
unif_pairs60_in_a
U10_a(x0)
U11_a(x0)
U12_a(x0)
U13_a(x0)

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

(81) Narrowing (SOUND transformation)

By narrowing [LPAR04] the rule P50_IN_AAAAAAU18_AAAAAA(unif_pairs51_in_aa) at position [0] we obtained the following new rules [LPAR04]:

P50_IN_AAAAAAU18_AAAAAA(U20_aa(unif_pairs60_in_a))
P50_IN_AAAAAAU18_AAAAAA(U21_aa(unif_pairs60_in_a))
P50_IN_AAAAAAU18_AAAAAA(U22_aa(unif_pairs60_in_a))
P50_IN_AAAAAAU18_AAAAAA(U23_aa(unif_pairs60_in_a))

(82) Obligation:

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

UNIF_LINES43_IN_AAP50_IN_AAAAAA
U18_AAAAAA(unif_pairs51_out_aa(T103, T113)) → UNIF_LINES43_IN_AA
P50_IN_AAAAAAU18_AAAAAA(U20_aa(unif_pairs60_in_a))
P50_IN_AAAAAAU18_AAAAAA(U21_aa(unif_pairs60_in_a))
P50_IN_AAAAAAU18_AAAAAA(U22_aa(unif_pairs60_in_a))
P50_IN_AAAAAAU18_AAAAAA(U23_aa(unif_pairs60_in_a))

The TRS R consists of the following rules:

unif_pairs51_in_aaU20_aa(unif_pairs60_in_a)
unif_pairs51_in_aaU21_aa(unif_pairs60_in_a)
unif_pairs51_in_aaU22_aa(unif_pairs60_in_a)
unif_pairs51_in_aaU23_aa(unif_pairs60_in_a)
U20_aa(unif_pairs60_out_a(T141)) → unif_pairs51_out_aa(w, .(w, T141))
U21_aa(unif_pairs60_out_a(T171)) → unif_pairs51_out_aa(black, .(black, T171))
U22_aa(unif_pairs60_out_a(T177)) → unif_pairs51_out_aa(black, .(w, T177))
U23_aa(unif_pairs60_out_a(T181)) → unif_pairs51_out_aa(w, .(black, T181))
unif_pairs60_in_aunif_pairs60_out_a([])
unif_pairs60_in_aU10_a(unif_pairs60_in_a)
unif_pairs60_in_aU11_a(unif_pairs60_in_a)
unif_pairs60_in_aU12_a(unif_pairs60_in_a)
unif_pairs60_in_aU13_a(unif_pairs60_in_a)
U10_a(unif_pairs60_out_a(T159)) → unif_pairs60_out_a(.(w, .(w, T159)))
U11_a(unif_pairs60_out_a(T160)) → unif_pairs60_out_a(.(black, .(black, T160)))
U12_a(unif_pairs60_out_a(T166)) → unif_pairs60_out_a(.(black, .(w, T166)))
U13_a(unif_pairs60_out_a(T170)) → unif_pairs60_out_a(.(w, .(black, T170)))

The set Q consists of the following terms:

unif_pairs51_in_aa
U20_aa(x0)
U21_aa(x0)
U22_aa(x0)
U23_aa(x0)
unif_pairs60_in_a
U10_a(x0)
U11_a(x0)
U12_a(x0)
U13_a(x0)

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

(83) 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.

(84) Obligation:

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

UNIF_LINES43_IN_AAP50_IN_AAAAAA
U18_AAAAAA(unif_pairs51_out_aa(T103, T113)) → UNIF_LINES43_IN_AA
P50_IN_AAAAAAU18_AAAAAA(U20_aa(unif_pairs60_in_a))
P50_IN_AAAAAAU18_AAAAAA(U21_aa(unif_pairs60_in_a))
P50_IN_AAAAAAU18_AAAAAA(U22_aa(unif_pairs60_in_a))
P50_IN_AAAAAAU18_AAAAAA(U23_aa(unif_pairs60_in_a))

The TRS R consists of the following rules:

unif_pairs60_in_aunif_pairs60_out_a([])
unif_pairs60_in_aU10_a(unif_pairs60_in_a)
unif_pairs60_in_aU11_a(unif_pairs60_in_a)
unif_pairs60_in_aU12_a(unif_pairs60_in_a)
unif_pairs60_in_aU13_a(unif_pairs60_in_a)
U23_aa(unif_pairs60_out_a(T181)) → unif_pairs51_out_aa(w, .(black, T181))
U13_a(unif_pairs60_out_a(T170)) → unif_pairs60_out_a(.(w, .(black, T170)))
U12_a(unif_pairs60_out_a(T166)) → unif_pairs60_out_a(.(black, .(w, T166)))
U11_a(unif_pairs60_out_a(T160)) → unif_pairs60_out_a(.(black, .(black, T160)))
U10_a(unif_pairs60_out_a(T159)) → unif_pairs60_out_a(.(w, .(w, T159)))
U22_aa(unif_pairs60_out_a(T177)) → unif_pairs51_out_aa(black, .(w, T177))
U21_aa(unif_pairs60_out_a(T171)) → unif_pairs51_out_aa(black, .(black, T171))
U20_aa(unif_pairs60_out_a(T141)) → unif_pairs51_out_aa(w, .(w, T141))

The set Q consists of the following terms:

unif_pairs51_in_aa
U20_aa(x0)
U21_aa(x0)
U22_aa(x0)
U23_aa(x0)
unif_pairs60_in_a
U10_a(x0)
U11_a(x0)
U12_a(x0)
U13_a(x0)

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

(85) 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].

unif_pairs51_in_aa

(86) Obligation:

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

UNIF_LINES43_IN_AAP50_IN_AAAAAA
U18_AAAAAA(unif_pairs51_out_aa(T103, T113)) → UNIF_LINES43_IN_AA
P50_IN_AAAAAAU18_AAAAAA(U20_aa(unif_pairs60_in_a))
P50_IN_AAAAAAU18_AAAAAA(U21_aa(unif_pairs60_in_a))
P50_IN_AAAAAAU18_AAAAAA(U22_aa(unif_pairs60_in_a))
P50_IN_AAAAAAU18_AAAAAA(U23_aa(unif_pairs60_in_a))

The TRS R consists of the following rules:

unif_pairs60_in_aunif_pairs60_out_a([])
unif_pairs60_in_aU10_a(unif_pairs60_in_a)
unif_pairs60_in_aU11_a(unif_pairs60_in_a)
unif_pairs60_in_aU12_a(unif_pairs60_in_a)
unif_pairs60_in_aU13_a(unif_pairs60_in_a)
U23_aa(unif_pairs60_out_a(T181)) → unif_pairs51_out_aa(w, .(black, T181))
U13_a(unif_pairs60_out_a(T170)) → unif_pairs60_out_a(.(w, .(black, T170)))
U12_a(unif_pairs60_out_a(T166)) → unif_pairs60_out_a(.(black, .(w, T166)))
U11_a(unif_pairs60_out_a(T160)) → unif_pairs60_out_a(.(black, .(black, T160)))
U10_a(unif_pairs60_out_a(T159)) → unif_pairs60_out_a(.(w, .(w, T159)))
U22_aa(unif_pairs60_out_a(T177)) → unif_pairs51_out_aa(black, .(w, T177))
U21_aa(unif_pairs60_out_a(T171)) → unif_pairs51_out_aa(black, .(black, T171))
U20_aa(unif_pairs60_out_a(T141)) → unif_pairs51_out_aa(w, .(w, T141))

The set Q consists of the following terms:

U20_aa(x0)
U21_aa(x0)
U22_aa(x0)
U23_aa(x0)
unif_pairs60_in_a
U10_a(x0)
U11_a(x0)
U12_a(x0)
U13_a(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 = U18_AAAAAA(U20_aa(unif_pairs60_in_a)) evaluates to t =U18_AAAAAA(U20_aa(unif_pairs60_in_a))

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




Rewriting sequence

U18_AAAAAA(U20_aa(unif_pairs60_in_a))U18_AAAAAA(U20_aa(unif_pairs60_out_a([])))
with rule unif_pairs60_in_aunif_pairs60_out_a([]) at position [0,0] and matcher [ ]

U18_AAAAAA(U20_aa(unif_pairs60_out_a([])))U18_AAAAAA(unif_pairs51_out_aa(w, .(w, [])))
with rule U20_aa(unif_pairs60_out_a(T141)) → unif_pairs51_out_aa(w, .(w, T141)) at position [0] and matcher [T141 / []]

U18_AAAAAA(unif_pairs51_out_aa(w, .(w, [])))UNIF_LINES43_IN_AA
with rule U18_AAAAAA(unif_pairs51_out_aa(T103, T113)) → UNIF_LINES43_IN_AA at position [] and matcher [T103 / w, T113 / .(w, [])]

UNIF_LINES43_IN_AAP50_IN_AAAAAA
with rule UNIF_LINES43_IN_AAP50_IN_AAAAAA at position [] and matcher [ ]

P50_IN_AAAAAAU18_AAAAAA(U20_aa(unif_pairs60_in_a))
with rule P50_IN_AAAAAAU18_AAAAAA(U20_aa(unif_pairs60_in_a))

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

(89) Obligation:

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

UNIF_MATRX37_IN_AA(T56, .(T65, T66)) → U7_AA(T56, T65, T66, unif_lines43_in_aa(T56, T65))
U7_AA(T56, T65, T66, unif_lines43_out_aa(T56, T65)) → UNIF_MATRX37_IN_AA(T65, T66)

The TRS R consists of the following rules:

shapes1_in_ga(.(T15, T16), T6) → U24_ga(T15, T16, T6, varmat16_in_ga(T15, X49))
varmat16_in_ga([], []) → varmat16_out_ga([], [])
varmat16_in_ga(.(T26, T27), .(X83, X84)) → U1_ga(T26, T27, X83, X84, varmat16_in_ga(T26, X83))
varmat16_in_ga(.(T26, T27), .(T28, X84)) → U2_ga(T26, T27, T28, X84, varmat16_in_ga(T26, T28))
varmat16_in_ga(.(black, T33), .(black, X103)) → U4_ga(T33, X103, varmat16_in_ga(T33, X103))
varmat16_in_ga(.(white, T36), .(w(X119), X120)) → U5_ga(T36, X119, X120, varmat16_in_ga(T36, X120))
U5_ga(T36, X119, X120, varmat16_out_ga(T36, X120)) → varmat16_out_ga(.(white, T36), .(w(X119), X120))
U4_ga(T33, X103, varmat16_out_ga(T33, X103)) → varmat16_out_ga(.(black, T33), .(black, X103))
U2_ga(T26, T27, T28, X84, varmat16_out_ga(T26, T28)) → U3_ga(T26, T27, T28, X84, varmat16_in_ga(T27, X84))
U3_ga(T26, T27, T28, X84, varmat16_out_ga(T27, X84)) → varmat16_out_ga(.(T26, T27), .(T28, X84))
U1_ga(T26, T27, X83, X84, varmat16_out_ga(T26, X83)) → varmat16_out_ga(.(T26, T27), .(X83, X84))
U24_ga(T15, T16, T6, varmat16_out_ga(T15, X49)) → shapes1_out_ga(.(T15, T16), T6)
shapes1_in_ga(.(T15, T16), T6) → U25_ga(T15, T16, T6, varmat16_in_ga(T15, T17))
U25_ga(T15, T16, T6, varmat16_out_ga(T15, T17)) → U26_ga(T15, T16, T6, p17_in_gaa(T16, X50, T17))
p17_in_gaa(T16, X50, T17) → U14_gaa(T16, X50, T17, varmat16_in_ga(T16, X50))
U14_gaa(T16, X50, T17, varmat16_out_ga(T16, X50)) → p17_out_gaa(T16, X50, T17)
p17_in_gaa(T16, T37, T17) → U15_gaa(T16, T37, T17, varmat16_in_ga(T16, T37))
U15_gaa(T16, T37, T17, varmat16_out_ga(T16, T37)) → U16_gaa(T16, T37, T17, unif_matrx37_in_aa(T17, T37))
unif_matrx37_in_aa(T56, .(T57, T58)) → U6_aa(T56, T57, T58, unif_lines43_in_aa(T56, T57))
unif_lines43_in_aa(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_aa(T103, T104, T107, T105, T106, T108, p50_in_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
p50_in_aaaaaa(T103, T113, T104, T107, T106, T108) → U17_aaaaaa(T103, T113, T104, T107, T106, T108, unif_pairs51_in_aa(T103, T113))
unif_pairs51_in_aa(w(T140), .(w(T140), T141)) → U20_aa(T140, T141, unif_pairs60_in_a(T141))
unif_pairs60_in_a([]) → unif_pairs60_out_a([])
unif_pairs60_in_a(.(w(T158), .(w(T158), T159))) → U10_a(T158, T159, unif_pairs60_in_a(T159))
unif_pairs60_in_a(.(black, .(black, T160))) → U11_a(T160, unif_pairs60_in_a(T160))
unif_pairs60_in_a(.(black, .(w(T165), T166))) → U12_a(T165, T166, unif_pairs60_in_a(T166))
unif_pairs60_in_a(.(w(T169), .(black, T170))) → U13_a(T169, T170, unif_pairs60_in_a(T170))
U13_a(T169, T170, unif_pairs60_out_a(T170)) → unif_pairs60_out_a(.(w(T169), .(black, T170)))
U12_a(T165, T166, unif_pairs60_out_a(T166)) → unif_pairs60_out_a(.(black, .(w(T165), T166)))
U11_a(T160, unif_pairs60_out_a(T160)) → unif_pairs60_out_a(.(black, .(black, T160)))
U10_a(T158, T159, unif_pairs60_out_a(T159)) → unif_pairs60_out_a(.(w(T158), .(w(T158), T159)))
U20_aa(T140, T141, unif_pairs60_out_a(T141)) → unif_pairs51_out_aa(w(T140), .(w(T140), T141))
unif_pairs51_in_aa(black, .(black, T171)) → U21_aa(T171, unif_pairs60_in_a(T171))
U21_aa(T171, unif_pairs60_out_a(T171)) → unif_pairs51_out_aa(black, .(black, T171))
unif_pairs51_in_aa(black, .(w(T176), T177)) → U22_aa(T176, T177, unif_pairs60_in_a(T177))
U22_aa(T176, T177, unif_pairs60_out_a(T177)) → unif_pairs51_out_aa(black, .(w(T176), T177))
unif_pairs51_in_aa(w(T180), .(black, T181)) → U23_aa(T180, T181, unif_pairs60_in_a(T181))
U23_aa(T180, T181, unif_pairs60_out_a(T181)) → unif_pairs51_out_aa(w(T180), .(black, T181))
U17_aaaaaa(T103, T113, T104, T107, T106, T108, unif_pairs51_out_aa(T103, T113)) → p50_out_aaaaaa(T103, T113, T104, T107, T106, T108)
p50_in_aaaaaa(T103, T113, T117, T118, T119, T120) → U18_aaaaaa(T103, T113, T117, T118, T119, T120, unif_pairs51_in_aa(T103, T113))
U18_aaaaaa(T103, T113, T117, T118, T119, T120, unif_pairs51_out_aa(T103, T113)) → U19_aaaaaa(T103, T113, T117, T118, T119, T120, unif_lines43_in_aa(.(T117, T118), .(T119, T120)))
unif_lines43_in_aa(.(T192, []), .(T193, [])) → unif_lines43_out_aa(.(T192, []), .(T193, []))
U19_aaaaaa(T103, T113, T117, T118, T119, T120, unif_lines43_out_aa(.(T117, T118), .(T119, T120))) → p50_out_aaaaaa(T103, T113, T117, T118, T119, T120)
U9_aa(T103, T104, T107, T105, T106, T108, p50_out_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_lines43_out_aa(.(T103, .(T104, T107)), .(T105, .(T106, T108)))
U6_aa(T56, T57, T58, unif_lines43_out_aa(T56, T57)) → unif_matrx37_out_aa(T56, .(T57, T58))
unif_matrx37_in_aa(T56, .(T65, T66)) → U7_aa(T56, T65, T66, unif_lines43_in_aa(T56, T65))
U7_aa(T56, T65, T66, unif_lines43_out_aa(T56, T65)) → U8_aa(T56, T65, T66, unif_matrx37_in_aa(T65, T66))
unif_matrx37_in_aa(T199, []) → unif_matrx37_out_aa(T199, [])
U8_aa(T56, T65, T66, unif_matrx37_out_aa(T65, T66)) → unif_matrx37_out_aa(T56, .(T65, T66))
U16_gaa(T16, T37, T17, unif_matrx37_out_aa(T17, T37)) → p17_out_gaa(T16, T37, T17)
U26_ga(T15, T16, T6, p17_out_gaa(T16, X50, T17)) → shapes1_out_ga(.(T15, T16), T6)
shapes1_in_ga(.(black, T204), T6) → U27_ga(T204, T6, p17_in_gag(T204, X293, black))
p17_in_gag(T16, X50, T17) → U14_gag(T16, X50, T17, varmat16_in_ga(T16, X50))
U14_gag(T16, X50, T17, varmat16_out_ga(T16, X50)) → p17_out_gag(T16, X50, T17)
p17_in_gag(T16, T37, T17) → U15_gag(T16, T37, T17, varmat16_in_ga(T16, T37))
U15_gag(T16, T37, T17, varmat16_out_ga(T16, T37)) → U16_gag(T16, T37, T17, unif_matrx37_in_ga(T17, T37))
unif_matrx37_in_ga(T56, .(T57, T58)) → U6_ga(T56, T57, T58, unif_lines43_in_ga(T56, T57))
unif_lines43_in_ga(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_ga(T103, T104, T107, T105, T106, T108, p50_in_gaggaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
p50_in_gaggaa(T103, T113, T104, T107, T106, T108) → U17_gaggaa(T103, T113, T104, T107, T106, T108, unif_pairs51_in_ga(T103, T113))
unif_pairs51_in_ga(w(T140), .(w(T140), T141)) → U20_ga(T140, T141, unif_pairs60_in_a(T141))
U20_ga(T140, T141, unif_pairs60_out_a(T141)) → unif_pairs51_out_ga(w(T140), .(w(T140), T141))
unif_pairs51_in_ga(black, .(black, T171)) → U21_ga(T171, unif_pairs60_in_a(T171))
U21_ga(T171, unif_pairs60_out_a(T171)) → unif_pairs51_out_ga(black, .(black, T171))
unif_pairs51_in_ga(black, .(w(T176), T177)) → U22_ga(T176, T177, unif_pairs60_in_a(T177))
U22_ga(T176, T177, unif_pairs60_out_a(T177)) → unif_pairs51_out_ga(black, .(w(T176), T177))
unif_pairs51_in_ga(w(T180), .(black, T181)) → U23_ga(T180, T181, unif_pairs60_in_a(T181))
U23_ga(T180, T181, unif_pairs60_out_a(T181)) → unif_pairs51_out_ga(w(T180), .(black, T181))
U17_gaggaa(T103, T113, T104, T107, T106, T108, unif_pairs51_out_ga(T103, T113)) → p50_out_gaggaa(T103, T113, T104, T107, T106, T108)
p50_in_gaggaa(T103, T113, T117, T118, T119, T120) → U18_gaggaa(T103, T113, T117, T118, T119, T120, unif_pairs51_in_ga(T103, T113))
U18_gaggaa(T103, T113, T117, T118, T119, T120, unif_pairs51_out_ga(T103, T113)) → U19_gaggaa(T103, T113, T117, T118, T119, T120, unif_lines43_in_ga(.(T117, T118), .(T119, T120)))
unif_lines43_in_ga(.(T192, []), .(T193, [])) → unif_lines43_out_ga(.(T192, []), .(T193, []))
U19_gaggaa(T103, T113, T117, T118, T119, T120, unif_lines43_out_ga(.(T117, T118), .(T119, T120))) → p50_out_gaggaa(T103, T113, T117, T118, T119, T120)
U9_ga(T103, T104, T107, T105, T106, T108, p50_out_gaggaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_lines43_out_ga(.(T103, .(T104, T107)), .(T105, .(T106, T108)))
U6_ga(T56, T57, T58, unif_lines43_out_ga(T56, T57)) → unif_matrx37_out_ga(T56, .(T57, T58))
unif_matrx37_in_ga(T56, .(T65, T66)) → U7_ga(T56, T65, T66, unif_lines43_in_ga(T56, T65))
U7_ga(T56, T65, T66, unif_lines43_out_ga(T56, T65)) → U8_ga(T56, T65, T66, unif_matrx37_in_aa(T65, T66))
U8_ga(T56, T65, T66, unif_matrx37_out_aa(T65, T66)) → unif_matrx37_out_ga(T56, .(T65, T66))
unif_matrx37_in_ga(T199, []) → unif_matrx37_out_ga(T199, [])
U16_gag(T16, T37, T17, unif_matrx37_out_ga(T17, T37)) → p17_out_gag(T16, T37, T17)
U27_ga(T204, T6, p17_out_gag(T204, X293, black)) → shapes1_out_ga(.(black, T204), T6)
shapes1_in_ga(.(white, T207), T6) → U28_ga(T207, T6, p17_in_gag(T207, X310, w(X309)))
U28_ga(T207, T6, p17_out_gag(T207, X310, w(X309))) → shapes1_out_ga(.(white, T207), T6)

The argument filtering Pi contains the following mapping:
shapes1_in_ga(x1, x2)  =  shapes1_in_ga(x1)
.(x1, x2)  =  .(x1, x2)
U24_ga(x1, x2, x3, x4)  =  U24_ga(x4)
varmat16_in_ga(x1, x2)  =  varmat16_in_ga(x1)
[]  =  []
varmat16_out_ga(x1, x2)  =  varmat16_out_ga
U1_ga(x1, x2, x3, x4, x5)  =  U1_ga(x5)
U2_ga(x1, x2, x3, x4, x5)  =  U2_ga(x2, x5)
black  =  black
U4_ga(x1, x2, x3)  =  U4_ga(x3)
white  =  white
U5_ga(x1, x2, x3, x4)  =  U5_ga(x4)
w(x1)  =  w
U3_ga(x1, x2, x3, x4, x5)  =  U3_ga(x5)
shapes1_out_ga(x1, x2)  =  shapes1_out_ga
U25_ga(x1, x2, x3, x4)  =  U25_ga(x2, x4)
U26_ga(x1, x2, x3, x4)  =  U26_ga(x4)
p17_in_gaa(x1, x2, x3)  =  p17_in_gaa(x1)
U14_gaa(x1, x2, x3, x4)  =  U14_gaa(x4)
p17_out_gaa(x1, x2, x3)  =  p17_out_gaa
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x4)
unif_matrx37_in_aa(x1, x2)  =  unif_matrx37_in_aa
U6_aa(x1, x2, x3, x4)  =  U6_aa(x4)
unif_lines43_in_aa(x1, x2)  =  unif_lines43_in_aa
U9_aa(x1, x2, x3, x4, x5, x6, x7)  =  U9_aa(x7)
p50_in_aaaaaa(x1, x2, x3, x4, x5, x6)  =  p50_in_aaaaaa
U17_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_aaaaaa(x7)
unif_pairs51_in_aa(x1, x2)  =  unif_pairs51_in_aa
U20_aa(x1, x2, x3)  =  U20_aa(x3)
unif_pairs60_in_a(x1)  =  unif_pairs60_in_a
unif_pairs60_out_a(x1)  =  unif_pairs60_out_a(x1)
U10_a(x1, x2, x3)  =  U10_a(x3)
U11_a(x1, x2)  =  U11_a(x2)
U12_a(x1, x2, x3)  =  U12_a(x3)
U13_a(x1, x2, x3)  =  U13_a(x3)
unif_pairs51_out_aa(x1, x2)  =  unif_pairs51_out_aa(x1, x2)
U21_aa(x1, x2)  =  U21_aa(x2)
U22_aa(x1, x2, x3)  =  U22_aa(x3)
U23_aa(x1, x2, x3)  =  U23_aa(x3)
p50_out_aaaaaa(x1, x2, x3, x4, x5, x6)  =  p50_out_aaaaaa(x1, x2)
U18_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_aaaaaa(x7)
U19_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U19_aaaaaa(x1, x2, x7)
unif_lines43_out_aa(x1, x2)  =  unif_lines43_out_aa
unif_matrx37_out_aa(x1, x2)  =  unif_matrx37_out_aa
U7_aa(x1, x2, x3, x4)  =  U7_aa(x4)
U8_aa(x1, x2, x3, x4)  =  U8_aa(x4)
U27_ga(x1, x2, x3)  =  U27_ga(x3)
p17_in_gag(x1, x2, x3)  =  p17_in_gag(x1, x3)
U14_gag(x1, x2, x3, x4)  =  U14_gag(x4)
p17_out_gag(x1, x2, x3)  =  p17_out_gag
U15_gag(x1, x2, x3, x4)  =  U15_gag(x3, x4)
U16_gag(x1, x2, x3, x4)  =  U16_gag(x4)
unif_matrx37_in_ga(x1, x2)  =  unif_matrx37_in_ga(x1)
U6_ga(x1, x2, x3, x4)  =  U6_ga(x4)
unif_lines43_in_ga(x1, x2)  =  unif_lines43_in_ga(x1)
U9_ga(x1, x2, x3, x4, x5, x6, x7)  =  U9_ga(x7)
p50_in_gaggaa(x1, x2, x3, x4, x5, x6)  =  p50_in_gaggaa(x1, x3, x4)
U17_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_gaggaa(x7)
unif_pairs51_in_ga(x1, x2)  =  unif_pairs51_in_ga(x1)
U20_ga(x1, x2, x3)  =  U20_ga(x3)
unif_pairs51_out_ga(x1, x2)  =  unif_pairs51_out_ga(x2)
U21_ga(x1, x2)  =  U21_ga(x2)
U22_ga(x1, x2, x3)  =  U22_ga(x3)
U23_ga(x1, x2, x3)  =  U23_ga(x3)
p50_out_gaggaa(x1, x2, x3, x4, x5, x6)  =  p50_out_gaggaa(x2)
U18_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_gaggaa(x3, x4, x7)
U19_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U19_gaggaa(x2, x7)
unif_lines43_out_ga(x1, x2)  =  unif_lines43_out_ga
unif_matrx37_out_ga(x1, x2)  =  unif_matrx37_out_ga
U7_ga(x1, x2, x3, x4)  =  U7_ga(x4)
U8_ga(x1, x2, x3, x4)  =  U8_ga(x4)
U28_ga(x1, x2, x3)  =  U28_ga(x3)
UNIF_MATRX37_IN_AA(x1, x2)  =  UNIF_MATRX37_IN_AA
U7_AA(x1, x2, x3, x4)  =  U7_AA(x4)

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

(90) UsableRulesProof (EQUIVALENT transformation)

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

(91) Obligation:

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

UNIF_MATRX37_IN_AA(T56, .(T65, T66)) → U7_AA(T56, T65, T66, unif_lines43_in_aa(T56, T65))
U7_AA(T56, T65, T66, unif_lines43_out_aa(T56, T65)) → UNIF_MATRX37_IN_AA(T65, T66)

The TRS R consists of the following rules:

unif_lines43_in_aa(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_aa(T103, T104, T107, T105, T106, T108, p50_in_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
unif_lines43_in_aa(.(T192, []), .(T193, [])) → unif_lines43_out_aa(.(T192, []), .(T193, []))
U9_aa(T103, T104, T107, T105, T106, T108, p50_out_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_lines43_out_aa(.(T103, .(T104, T107)), .(T105, .(T106, T108)))
p50_in_aaaaaa(T103, T113, T104, T107, T106, T108) → U17_aaaaaa(T103, T113, T104, T107, T106, T108, unif_pairs51_in_aa(T103, T113))
p50_in_aaaaaa(T103, T113, T117, T118, T119, T120) → U18_aaaaaa(T103, T113, T117, T118, T119, T120, unif_pairs51_in_aa(T103, T113))
U17_aaaaaa(T103, T113, T104, T107, T106, T108, unif_pairs51_out_aa(T103, T113)) → p50_out_aaaaaa(T103, T113, T104, T107, T106, T108)
U18_aaaaaa(T103, T113, T117, T118, T119, T120, unif_pairs51_out_aa(T103, T113)) → U19_aaaaaa(T103, T113, T117, T118, T119, T120, unif_lines43_in_aa(.(T117, T118), .(T119, T120)))
unif_pairs51_in_aa(w(T140), .(w(T140), T141)) → U20_aa(T140, T141, unif_pairs60_in_a(T141))
unif_pairs51_in_aa(black, .(black, T171)) → U21_aa(T171, unif_pairs60_in_a(T171))
unif_pairs51_in_aa(black, .(w(T176), T177)) → U22_aa(T176, T177, unif_pairs60_in_a(T177))
unif_pairs51_in_aa(w(T180), .(black, T181)) → U23_aa(T180, T181, unif_pairs60_in_a(T181))
U19_aaaaaa(T103, T113, T117, T118, T119, T120, unif_lines43_out_aa(.(T117, T118), .(T119, T120))) → p50_out_aaaaaa(T103, T113, T117, T118, T119, T120)
U20_aa(T140, T141, unif_pairs60_out_a(T141)) → unif_pairs51_out_aa(w(T140), .(w(T140), T141))
U21_aa(T171, unif_pairs60_out_a(T171)) → unif_pairs51_out_aa(black, .(black, T171))
U22_aa(T176, T177, unif_pairs60_out_a(T177)) → unif_pairs51_out_aa(black, .(w(T176), T177))
U23_aa(T180, T181, unif_pairs60_out_a(T181)) → unif_pairs51_out_aa(w(T180), .(black, T181))
unif_pairs60_in_a([]) → unif_pairs60_out_a([])
unif_pairs60_in_a(.(w(T158), .(w(T158), T159))) → U10_a(T158, T159, unif_pairs60_in_a(T159))
unif_pairs60_in_a(.(black, .(black, T160))) → U11_a(T160, unif_pairs60_in_a(T160))
unif_pairs60_in_a(.(black, .(w(T165), T166))) → U12_a(T165, T166, unif_pairs60_in_a(T166))
unif_pairs60_in_a(.(w(T169), .(black, T170))) → U13_a(T169, T170, unif_pairs60_in_a(T170))
U10_a(T158, T159, unif_pairs60_out_a(T159)) → unif_pairs60_out_a(.(w(T158), .(w(T158), T159)))
U11_a(T160, unif_pairs60_out_a(T160)) → unif_pairs60_out_a(.(black, .(black, T160)))
U12_a(T165, T166, unif_pairs60_out_a(T166)) → unif_pairs60_out_a(.(black, .(w(T165), T166)))
U13_a(T169, T170, unif_pairs60_out_a(T170)) → unif_pairs60_out_a(.(w(T169), .(black, T170)))

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
[]  =  []
black  =  black
w(x1)  =  w
unif_lines43_in_aa(x1, x2)  =  unif_lines43_in_aa
U9_aa(x1, x2, x3, x4, x5, x6, x7)  =  U9_aa(x7)
p50_in_aaaaaa(x1, x2, x3, x4, x5, x6)  =  p50_in_aaaaaa
U17_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_aaaaaa(x7)
unif_pairs51_in_aa(x1, x2)  =  unif_pairs51_in_aa
U20_aa(x1, x2, x3)  =  U20_aa(x3)
unif_pairs60_in_a(x1)  =  unif_pairs60_in_a
unif_pairs60_out_a(x1)  =  unif_pairs60_out_a(x1)
U10_a(x1, x2, x3)  =  U10_a(x3)
U11_a(x1, x2)  =  U11_a(x2)
U12_a(x1, x2, x3)  =  U12_a(x3)
U13_a(x1, x2, x3)  =  U13_a(x3)
unif_pairs51_out_aa(x1, x2)  =  unif_pairs51_out_aa(x1, x2)
U21_aa(x1, x2)  =  U21_aa(x2)
U22_aa(x1, x2, x3)  =  U22_aa(x3)
U23_aa(x1, x2, x3)  =  U23_aa(x3)
p50_out_aaaaaa(x1, x2, x3, x4, x5, x6)  =  p50_out_aaaaaa(x1, x2)
U18_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_aaaaaa(x7)
U19_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U19_aaaaaa(x1, x2, x7)
unif_lines43_out_aa(x1, x2)  =  unif_lines43_out_aa
UNIF_MATRX37_IN_AA(x1, x2)  =  UNIF_MATRX37_IN_AA
U7_AA(x1, x2, x3, x4)  =  U7_AA(x4)

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

(92) PiDPToQDPProof (SOUND transformation)

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

(93) Obligation:

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

UNIF_MATRX37_IN_AAU7_AA(unif_lines43_in_aa)
U7_AA(unif_lines43_out_aa) → UNIF_MATRX37_IN_AA

The TRS R consists of the following rules:

unif_lines43_in_aaU9_aa(p50_in_aaaaaa)
unif_lines43_in_aaunif_lines43_out_aa
U9_aa(p50_out_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))))) → unif_lines43_out_aa
p50_in_aaaaaaU17_aaaaaa(unif_pairs51_in_aa)
p50_in_aaaaaaU18_aaaaaa(unif_pairs51_in_aa)
U17_aaaaaa(unif_pairs51_out_aa(T103, T113)) → p50_out_aaaaaa(T103, T113)
U18_aaaaaa(unif_pairs51_out_aa(T103, T113)) → U19_aaaaaa(T103, T113, unif_lines43_in_aa)
unif_pairs51_in_aaU20_aa(unif_pairs60_in_a)
unif_pairs51_in_aaU21_aa(unif_pairs60_in_a)
unif_pairs51_in_aaU22_aa(unif_pairs60_in_a)
unif_pairs51_in_aaU23_aa(unif_pairs60_in_a)
U19_aaaaaa(T103, T113, unif_lines43_out_aa) → p50_out_aaaaaa(T103, T113)
U20_aa(unif_pairs60_out_a(T141)) → unif_pairs51_out_aa(w, .(w, T141))
U21_aa(unif_pairs60_out_a(T171)) → unif_pairs51_out_aa(black, .(black, T171))
U22_aa(unif_pairs60_out_a(T177)) → unif_pairs51_out_aa(black, .(w, T177))
U23_aa(unif_pairs60_out_a(T181)) → unif_pairs51_out_aa(w, .(black, T181))
unif_pairs60_in_aunif_pairs60_out_a([])
unif_pairs60_in_aU10_a(unif_pairs60_in_a)
unif_pairs60_in_aU11_a(unif_pairs60_in_a)
unif_pairs60_in_aU12_a(unif_pairs60_in_a)
unif_pairs60_in_aU13_a(unif_pairs60_in_a)
U10_a(unif_pairs60_out_a(T159)) → unif_pairs60_out_a(.(w, .(w, T159)))
U11_a(unif_pairs60_out_a(T160)) → unif_pairs60_out_a(.(black, .(black, T160)))
U12_a(unif_pairs60_out_a(T166)) → unif_pairs60_out_a(.(black, .(w, T166)))
U13_a(unif_pairs60_out_a(T170)) → unif_pairs60_out_a(.(w, .(black, T170)))

The set Q consists of the following terms:

unif_lines43_in_aa
U9_aa(x0)
p50_in_aaaaaa
U17_aaaaaa(x0)
U18_aaaaaa(x0)
unif_pairs51_in_aa
U19_aaaaaa(x0, x1, x2)
U20_aa(x0)
U21_aa(x0)
U22_aa(x0)
U23_aa(x0)
unif_pairs60_in_a
U10_a(x0)
U11_a(x0)
U12_a(x0)
U13_a(x0)

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

(94) Narrowing (SOUND transformation)

By narrowing [LPAR04] the rule UNIF_MATRX37_IN_AAU7_AA(unif_lines43_in_aa) at position [0] we obtained the following new rules [LPAR04]:

UNIF_MATRX37_IN_AAU7_AA(U9_aa(p50_in_aaaaaa))
UNIF_MATRX37_IN_AAU7_AA(unif_lines43_out_aa)

(95) Obligation:

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

U7_AA(unif_lines43_out_aa) → UNIF_MATRX37_IN_AA
UNIF_MATRX37_IN_AAU7_AA(U9_aa(p50_in_aaaaaa))
UNIF_MATRX37_IN_AAU7_AA(unif_lines43_out_aa)

The TRS R consists of the following rules:

unif_lines43_in_aaU9_aa(p50_in_aaaaaa)
unif_lines43_in_aaunif_lines43_out_aa
U9_aa(p50_out_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))))) → unif_lines43_out_aa
p50_in_aaaaaaU17_aaaaaa(unif_pairs51_in_aa)
p50_in_aaaaaaU18_aaaaaa(unif_pairs51_in_aa)
U17_aaaaaa(unif_pairs51_out_aa(T103, T113)) → p50_out_aaaaaa(T103, T113)
U18_aaaaaa(unif_pairs51_out_aa(T103, T113)) → U19_aaaaaa(T103, T113, unif_lines43_in_aa)
unif_pairs51_in_aaU20_aa(unif_pairs60_in_a)
unif_pairs51_in_aaU21_aa(unif_pairs60_in_a)
unif_pairs51_in_aaU22_aa(unif_pairs60_in_a)
unif_pairs51_in_aaU23_aa(unif_pairs60_in_a)
U19_aaaaaa(T103, T113, unif_lines43_out_aa) → p50_out_aaaaaa(T103, T113)
U20_aa(unif_pairs60_out_a(T141)) → unif_pairs51_out_aa(w, .(w, T141))
U21_aa(unif_pairs60_out_a(T171)) → unif_pairs51_out_aa(black, .(black, T171))
U22_aa(unif_pairs60_out_a(T177)) → unif_pairs51_out_aa(black, .(w, T177))
U23_aa(unif_pairs60_out_a(T181)) → unif_pairs51_out_aa(w, .(black, T181))
unif_pairs60_in_aunif_pairs60_out_a([])
unif_pairs60_in_aU10_a(unif_pairs60_in_a)
unif_pairs60_in_aU11_a(unif_pairs60_in_a)
unif_pairs60_in_aU12_a(unif_pairs60_in_a)
unif_pairs60_in_aU13_a(unif_pairs60_in_a)
U10_a(unif_pairs60_out_a(T159)) → unif_pairs60_out_a(.(w, .(w, T159)))
U11_a(unif_pairs60_out_a(T160)) → unif_pairs60_out_a(.(black, .(black, T160)))
U12_a(unif_pairs60_out_a(T166)) → unif_pairs60_out_a(.(black, .(w, T166)))
U13_a(unif_pairs60_out_a(T170)) → unif_pairs60_out_a(.(w, .(black, T170)))

The set Q consists of the following terms:

unif_lines43_in_aa
U9_aa(x0)
p50_in_aaaaaa
U17_aaaaaa(x0)
U18_aaaaaa(x0)
unif_pairs51_in_aa
U19_aaaaaa(x0, x1, x2)
U20_aa(x0)
U21_aa(x0)
U22_aa(x0)
U23_aa(x0)
unif_pairs60_in_a
U10_a(x0)
U11_a(x0)
U12_a(x0)
U13_a(x0)

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

(96) 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 right:

s = U7_AA(unif_lines43_out_aa) evaluates to t =U7_AA(unif_lines43_out_aa)

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




Rewriting sequence

U7_AA(unif_lines43_out_aa)UNIF_MATRX37_IN_AA
with rule U7_AA(unif_lines43_out_aa) → UNIF_MATRX37_IN_AA and matcher [ ].

UNIF_MATRX37_IN_AAU7_AA(unif_lines43_out_aa)
with rule UNIF_MATRX37_IN_AAU7_AA(unif_lines43_out_aa) at position [] and matcher [ ]

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.



(97) NO

(98) Obligation:

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

VARMAT16_IN_GA(.(T26, T27), .(T28, X84)) → U2_GA(T26, T27, T28, X84, varmat16_in_ga(T26, T28))
U2_GA(T26, T27, T28, X84, varmat16_out_ga(T26, T28)) → VARMAT16_IN_GA(T27, X84)
VARMAT16_IN_GA(.(T26, T27), .(X83, X84)) → VARMAT16_IN_GA(T26, X83)
VARMAT16_IN_GA(.(black, T33), .(black, X103)) → VARMAT16_IN_GA(T33, X103)
VARMAT16_IN_GA(.(white, T36), .(w(X119), X120)) → VARMAT16_IN_GA(T36, X120)

The TRS R consists of the following rules:

shapes1_in_ga(.(T15, T16), T6) → U24_ga(T15, T16, T6, varmat16_in_ga(T15, X49))
varmat16_in_ga([], []) → varmat16_out_ga([], [])
varmat16_in_ga(.(T26, T27), .(X83, X84)) → U1_ga(T26, T27, X83, X84, varmat16_in_ga(T26, X83))
varmat16_in_ga(.(T26, T27), .(T28, X84)) → U2_ga(T26, T27, T28, X84, varmat16_in_ga(T26, T28))
varmat16_in_ga(.(black, T33), .(black, X103)) → U4_ga(T33, X103, varmat16_in_ga(T33, X103))
varmat16_in_ga(.(white, T36), .(w(X119), X120)) → U5_ga(T36, X119, X120, varmat16_in_ga(T36, X120))
U5_ga(T36, X119, X120, varmat16_out_ga(T36, X120)) → varmat16_out_ga(.(white, T36), .(w(X119), X120))
U4_ga(T33, X103, varmat16_out_ga(T33, X103)) → varmat16_out_ga(.(black, T33), .(black, X103))
U2_ga(T26, T27, T28, X84, varmat16_out_ga(T26, T28)) → U3_ga(T26, T27, T28, X84, varmat16_in_ga(T27, X84))
U3_ga(T26, T27, T28, X84, varmat16_out_ga(T27, X84)) → varmat16_out_ga(.(T26, T27), .(T28, X84))
U1_ga(T26, T27, X83, X84, varmat16_out_ga(T26, X83)) → varmat16_out_ga(.(T26, T27), .(X83, X84))
U24_ga(T15, T16, T6, varmat16_out_ga(T15, X49)) → shapes1_out_ga(.(T15, T16), T6)
shapes1_in_ga(.(T15, T16), T6) → U25_ga(T15, T16, T6, varmat16_in_ga(T15, T17))
U25_ga(T15, T16, T6, varmat16_out_ga(T15, T17)) → U26_ga(T15, T16, T6, p17_in_gaa(T16, X50, T17))
p17_in_gaa(T16, X50, T17) → U14_gaa(T16, X50, T17, varmat16_in_ga(T16, X50))
U14_gaa(T16, X50, T17, varmat16_out_ga(T16, X50)) → p17_out_gaa(T16, X50, T17)
p17_in_gaa(T16, T37, T17) → U15_gaa(T16, T37, T17, varmat16_in_ga(T16, T37))
U15_gaa(T16, T37, T17, varmat16_out_ga(T16, T37)) → U16_gaa(T16, T37, T17, unif_matrx37_in_aa(T17, T37))
unif_matrx37_in_aa(T56, .(T57, T58)) → U6_aa(T56, T57, T58, unif_lines43_in_aa(T56, T57))
unif_lines43_in_aa(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_aa(T103, T104, T107, T105, T106, T108, p50_in_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
p50_in_aaaaaa(T103, T113, T104, T107, T106, T108) → U17_aaaaaa(T103, T113, T104, T107, T106, T108, unif_pairs51_in_aa(T103, T113))
unif_pairs51_in_aa(w(T140), .(w(T140), T141)) → U20_aa(T140, T141, unif_pairs60_in_a(T141))
unif_pairs60_in_a([]) → unif_pairs60_out_a([])
unif_pairs60_in_a(.(w(T158), .(w(T158), T159))) → U10_a(T158, T159, unif_pairs60_in_a(T159))
unif_pairs60_in_a(.(black, .(black, T160))) → U11_a(T160, unif_pairs60_in_a(T160))
unif_pairs60_in_a(.(black, .(w(T165), T166))) → U12_a(T165, T166, unif_pairs60_in_a(T166))
unif_pairs60_in_a(.(w(T169), .(black, T170))) → U13_a(T169, T170, unif_pairs60_in_a(T170))
U13_a(T169, T170, unif_pairs60_out_a(T170)) → unif_pairs60_out_a(.(w(T169), .(black, T170)))
U12_a(T165, T166, unif_pairs60_out_a(T166)) → unif_pairs60_out_a(.(black, .(w(T165), T166)))
U11_a(T160, unif_pairs60_out_a(T160)) → unif_pairs60_out_a(.(black, .(black, T160)))
U10_a(T158, T159, unif_pairs60_out_a(T159)) → unif_pairs60_out_a(.(w(T158), .(w(T158), T159)))
U20_aa(T140, T141, unif_pairs60_out_a(T141)) → unif_pairs51_out_aa(w(T140), .(w(T140), T141))
unif_pairs51_in_aa(black, .(black, T171)) → U21_aa(T171, unif_pairs60_in_a(T171))
U21_aa(T171, unif_pairs60_out_a(T171)) → unif_pairs51_out_aa(black, .(black, T171))
unif_pairs51_in_aa(black, .(w(T176), T177)) → U22_aa(T176, T177, unif_pairs60_in_a(T177))
U22_aa(T176, T177, unif_pairs60_out_a(T177)) → unif_pairs51_out_aa(black, .(w(T176), T177))
unif_pairs51_in_aa(w(T180), .(black, T181)) → U23_aa(T180, T181, unif_pairs60_in_a(T181))
U23_aa(T180, T181, unif_pairs60_out_a(T181)) → unif_pairs51_out_aa(w(T180), .(black, T181))
U17_aaaaaa(T103, T113, T104, T107, T106, T108, unif_pairs51_out_aa(T103, T113)) → p50_out_aaaaaa(T103, T113, T104, T107, T106, T108)
p50_in_aaaaaa(T103, T113, T117, T118, T119, T120) → U18_aaaaaa(T103, T113, T117, T118, T119, T120, unif_pairs51_in_aa(T103, T113))
U18_aaaaaa(T103, T113, T117, T118, T119, T120, unif_pairs51_out_aa(T103, T113)) → U19_aaaaaa(T103, T113, T117, T118, T119, T120, unif_lines43_in_aa(.(T117, T118), .(T119, T120)))
unif_lines43_in_aa(.(T192, []), .(T193, [])) → unif_lines43_out_aa(.(T192, []), .(T193, []))
U19_aaaaaa(T103, T113, T117, T118, T119, T120, unif_lines43_out_aa(.(T117, T118), .(T119, T120))) → p50_out_aaaaaa(T103, T113, T117, T118, T119, T120)
U9_aa(T103, T104, T107, T105, T106, T108, p50_out_aaaaaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_lines43_out_aa(.(T103, .(T104, T107)), .(T105, .(T106, T108)))
U6_aa(T56, T57, T58, unif_lines43_out_aa(T56, T57)) → unif_matrx37_out_aa(T56, .(T57, T58))
unif_matrx37_in_aa(T56, .(T65, T66)) → U7_aa(T56, T65, T66, unif_lines43_in_aa(T56, T65))
U7_aa(T56, T65, T66, unif_lines43_out_aa(T56, T65)) → U8_aa(T56, T65, T66, unif_matrx37_in_aa(T65, T66))
unif_matrx37_in_aa(T199, []) → unif_matrx37_out_aa(T199, [])
U8_aa(T56, T65, T66, unif_matrx37_out_aa(T65, T66)) → unif_matrx37_out_aa(T56, .(T65, T66))
U16_gaa(T16, T37, T17, unif_matrx37_out_aa(T17, T37)) → p17_out_gaa(T16, T37, T17)
U26_ga(T15, T16, T6, p17_out_gaa(T16, X50, T17)) → shapes1_out_ga(.(T15, T16), T6)
shapes1_in_ga(.(black, T204), T6) → U27_ga(T204, T6, p17_in_gag(T204, X293, black))
p17_in_gag(T16, X50, T17) → U14_gag(T16, X50, T17, varmat16_in_ga(T16, X50))
U14_gag(T16, X50, T17, varmat16_out_ga(T16, X50)) → p17_out_gag(T16, X50, T17)
p17_in_gag(T16, T37, T17) → U15_gag(T16, T37, T17, varmat16_in_ga(T16, T37))
U15_gag(T16, T37, T17, varmat16_out_ga(T16, T37)) → U16_gag(T16, T37, T17, unif_matrx37_in_ga(T17, T37))
unif_matrx37_in_ga(T56, .(T57, T58)) → U6_ga(T56, T57, T58, unif_lines43_in_ga(T56, T57))
unif_lines43_in_ga(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_ga(T103, T104, T107, T105, T106, T108, p50_in_gaggaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
p50_in_gaggaa(T103, T113, T104, T107, T106, T108) → U17_gaggaa(T103, T113, T104, T107, T106, T108, unif_pairs51_in_ga(T103, T113))
unif_pairs51_in_ga(w(T140), .(w(T140), T141)) → U20_ga(T140, T141, unif_pairs60_in_a(T141))
U20_ga(T140, T141, unif_pairs60_out_a(T141)) → unif_pairs51_out_ga(w(T140), .(w(T140), T141))
unif_pairs51_in_ga(black, .(black, T171)) → U21_ga(T171, unif_pairs60_in_a(T171))
U21_ga(T171, unif_pairs60_out_a(T171)) → unif_pairs51_out_ga(black, .(black, T171))
unif_pairs51_in_ga(black, .(w(T176), T177)) → U22_ga(T176, T177, unif_pairs60_in_a(T177))
U22_ga(T176, T177, unif_pairs60_out_a(T177)) → unif_pairs51_out_ga(black, .(w(T176), T177))
unif_pairs51_in_ga(w(T180), .(black, T181)) → U23_ga(T180, T181, unif_pairs60_in_a(T181))
U23_ga(T180, T181, unif_pairs60_out_a(T181)) → unif_pairs51_out_ga(w(T180), .(black, T181))
U17_gaggaa(T103, T113, T104, T107, T106, T108, unif_pairs51_out_ga(T103, T113)) → p50_out_gaggaa(T103, T113, T104, T107, T106, T108)
p50_in_gaggaa(T103, T113, T117, T118, T119, T120) → U18_gaggaa(T103, T113, T117, T118, T119, T120, unif_pairs51_in_ga(T103, T113))
U18_gaggaa(T103, T113, T117, T118, T119, T120, unif_pairs51_out_ga(T103, T113)) → U19_gaggaa(T103, T113, T117, T118, T119, T120, unif_lines43_in_ga(.(T117, T118), .(T119, T120)))
unif_lines43_in_ga(.(T192, []), .(T193, [])) → unif_lines43_out_ga(.(T192, []), .(T193, []))
U19_gaggaa(T103, T113, T117, T118, T119, T120, unif_lines43_out_ga(.(T117, T118), .(T119, T120))) → p50_out_gaggaa(T103, T113, T117, T118, T119, T120)
U9_ga(T103, T104, T107, T105, T106, T108, p50_out_gaggaa(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_lines43_out_ga(.(T103, .(T104, T107)), .(T105, .(T106, T108)))
U6_ga(T56, T57, T58, unif_lines43_out_ga(T56, T57)) → unif_matrx37_out_ga(T56, .(T57, T58))
unif_matrx37_in_ga(T56, .(T65, T66)) → U7_ga(T56, T65, T66, unif_lines43_in_ga(T56, T65))
U7_ga(T56, T65, T66, unif_lines43_out_ga(T56, T65)) → U8_ga(T56, T65, T66, unif_matrx37_in_aa(T65, T66))
U8_ga(T56, T65, T66, unif_matrx37_out_aa(T65, T66)) → unif_matrx37_out_ga(T56, .(T65, T66))
unif_matrx37_in_ga(T199, []) → unif_matrx37_out_ga(T199, [])
U16_gag(T16, T37, T17, unif_matrx37_out_ga(T17, T37)) → p17_out_gag(T16, T37, T17)
U27_ga(T204, T6, p17_out_gag(T204, X293, black)) → shapes1_out_ga(.(black, T204), T6)
shapes1_in_ga(.(white, T207), T6) → U28_ga(T207, T6, p17_in_gag(T207, X310, w(X309)))
U28_ga(T207, T6, p17_out_gag(T207, X310, w(X309))) → shapes1_out_ga(.(white, T207), T6)

The argument filtering Pi contains the following mapping:
shapes1_in_ga(x1, x2)  =  shapes1_in_ga(x1)
.(x1, x2)  =  .(x1, x2)
U24_ga(x1, x2, x3, x4)  =  U24_ga(x4)
varmat16_in_ga(x1, x2)  =  varmat16_in_ga(x1)
[]  =  []
varmat16_out_ga(x1, x2)  =  varmat16_out_ga
U1_ga(x1, x2, x3, x4, x5)  =  U1_ga(x5)
U2_ga(x1, x2, x3, x4, x5)  =  U2_ga(x2, x5)
black  =  black
U4_ga(x1, x2, x3)  =  U4_ga(x3)
white  =  white
U5_ga(x1, x2, x3, x4)  =  U5_ga(x4)
w(x1)  =  w
U3_ga(x1, x2, x3, x4, x5)  =  U3_ga(x5)
shapes1_out_ga(x1, x2)  =  shapes1_out_ga
U25_ga(x1, x2, x3, x4)  =  U25_ga(x2, x4)
U26_ga(x1, x2, x3, x4)  =  U26_ga(x4)
p17_in_gaa(x1, x2, x3)  =  p17_in_gaa(x1)
U14_gaa(x1, x2, x3, x4)  =  U14_gaa(x4)
p17_out_gaa(x1, x2, x3)  =  p17_out_gaa
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x4)
unif_matrx37_in_aa(x1, x2)  =  unif_matrx37_in_aa
U6_aa(x1, x2, x3, x4)  =  U6_aa(x4)
unif_lines43_in_aa(x1, x2)  =  unif_lines43_in_aa
U9_aa(x1, x2, x3, x4, x5, x6, x7)  =  U9_aa(x7)
p50_in_aaaaaa(x1, x2, x3, x4, x5, x6)  =  p50_in_aaaaaa
U17_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_aaaaaa(x7)
unif_pairs51_in_aa(x1, x2)  =  unif_pairs51_in_aa
U20_aa(x1, x2, x3)  =  U20_aa(x3)
unif_pairs60_in_a(x1)  =  unif_pairs60_in_a
unif_pairs60_out_a(x1)  =  unif_pairs60_out_a(x1)
U10_a(x1, x2, x3)  =  U10_a(x3)
U11_a(x1, x2)  =  U11_a(x2)
U12_a(x1, x2, x3)  =  U12_a(x3)
U13_a(x1, x2, x3)  =  U13_a(x3)
unif_pairs51_out_aa(x1, x2)  =  unif_pairs51_out_aa(x1, x2)
U21_aa(x1, x2)  =  U21_aa(x2)
U22_aa(x1, x2, x3)  =  U22_aa(x3)
U23_aa(x1, x2, x3)  =  U23_aa(x3)
p50_out_aaaaaa(x1, x2, x3, x4, x5, x6)  =  p50_out_aaaaaa(x1, x2)
U18_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_aaaaaa(x7)
U19_aaaaaa(x1, x2, x3, x4, x5, x6, x7)  =  U19_aaaaaa(x1, x2, x7)
unif_lines43_out_aa(x1, x2)  =  unif_lines43_out_aa
unif_matrx37_out_aa(x1, x2)  =  unif_matrx37_out_aa
U7_aa(x1, x2, x3, x4)  =  U7_aa(x4)
U8_aa(x1, x2, x3, x4)  =  U8_aa(x4)
U27_ga(x1, x2, x3)  =  U27_ga(x3)
p17_in_gag(x1, x2, x3)  =  p17_in_gag(x1, x3)
U14_gag(x1, x2, x3, x4)  =  U14_gag(x4)
p17_out_gag(x1, x2, x3)  =  p17_out_gag
U15_gag(x1, x2, x3, x4)  =  U15_gag(x3, x4)
U16_gag(x1, x2, x3, x4)  =  U16_gag(x4)
unif_matrx37_in_ga(x1, x2)  =  unif_matrx37_in_ga(x1)
U6_ga(x1, x2, x3, x4)  =  U6_ga(x4)
unif_lines43_in_ga(x1, x2)  =  unif_lines43_in_ga(x1)
U9_ga(x1, x2, x3, x4, x5, x6, x7)  =  U9_ga(x7)
p50_in_gaggaa(x1, x2, x3, x4, x5, x6)  =  p50_in_gaggaa(x1, x3, x4)
U17_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_gaggaa(x7)
unif_pairs51_in_ga(x1, x2)  =  unif_pairs51_in_ga(x1)
U20_ga(x1, x2, x3)  =  U20_ga(x3)
unif_pairs51_out_ga(x1, x2)  =  unif_pairs51_out_ga(x2)
U21_ga(x1, x2)  =  U21_ga(x2)
U22_ga(x1, x2, x3)  =  U22_ga(x3)
U23_ga(x1, x2, x3)  =  U23_ga(x3)
p50_out_gaggaa(x1, x2, x3, x4, x5, x6)  =  p50_out_gaggaa(x2)
U18_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_gaggaa(x3, x4, x7)
U19_gaggaa(x1, x2, x3, x4, x5, x6, x7)  =  U19_gaggaa(x2, x7)
unif_lines43_out_ga(x1, x2)  =  unif_lines43_out_ga
unif_matrx37_out_ga(x1, x2)  =  unif_matrx37_out_ga
U7_ga(x1, x2, x3, x4)  =  U7_ga(x4)
U8_ga(x1, x2, x3, x4)  =  U8_ga(x4)
U28_ga(x1, x2, x3)  =  U28_ga(x3)
VARMAT16_IN_GA(x1, x2)  =  VARMAT16_IN_GA(x1)
U2_GA(x1, x2, x3, x4, x5)  =  U2_GA(x2, x5)

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

(99) UsableRulesProof (EQUIVALENT transformation)

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

(100) Obligation:

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

VARMAT16_IN_GA(.(T26, T27), .(T28, X84)) → U2_GA(T26, T27, T28, X84, varmat16_in_ga(T26, T28))
U2_GA(T26, T27, T28, X84, varmat16_out_ga(T26, T28)) → VARMAT16_IN_GA(T27, X84)
VARMAT16_IN_GA(.(T26, T27), .(X83, X84)) → VARMAT16_IN_GA(T26, X83)
VARMAT16_IN_GA(.(black, T33), .(black, X103)) → VARMAT16_IN_GA(T33, X103)
VARMAT16_IN_GA(.(white, T36), .(w(X119), X120)) → VARMAT16_IN_GA(T36, X120)

The TRS R consists of the following rules:

varmat16_in_ga([], []) → varmat16_out_ga([], [])
varmat16_in_ga(.(T26, T27), .(X83, X84)) → U1_ga(T26, T27, X83, X84, varmat16_in_ga(T26, X83))
varmat16_in_ga(.(T26, T27), .(T28, X84)) → U2_ga(T26, T27, T28, X84, varmat16_in_ga(T26, T28))
varmat16_in_ga(.(black, T33), .(black, X103)) → U4_ga(T33, X103, varmat16_in_ga(T33, X103))
varmat16_in_ga(.(white, T36), .(w(X119), X120)) → U5_ga(T36, X119, X120, varmat16_in_ga(T36, X120))
U1_ga(T26, T27, X83, X84, varmat16_out_ga(T26, X83)) → varmat16_out_ga(.(T26, T27), .(X83, X84))
U2_ga(T26, T27, T28, X84, varmat16_out_ga(T26, T28)) → U3_ga(T26, T27, T28, X84, varmat16_in_ga(T27, X84))
U4_ga(T33, X103, varmat16_out_ga(T33, X103)) → varmat16_out_ga(.(black, T33), .(black, X103))
U5_ga(T36, X119, X120, varmat16_out_ga(T36, X120)) → varmat16_out_ga(.(white, T36), .(w(X119), X120))
U3_ga(T26, T27, T28, X84, varmat16_out_ga(T27, X84)) → varmat16_out_ga(.(T26, T27), .(T28, X84))

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
varmat16_in_ga(x1, x2)  =  varmat16_in_ga(x1)
[]  =  []
varmat16_out_ga(x1, x2)  =  varmat16_out_ga
U1_ga(x1, x2, x3, x4, x5)  =  U1_ga(x5)
U2_ga(x1, x2, x3, x4, x5)  =  U2_ga(x2, x5)
black  =  black
U4_ga(x1, x2, x3)  =  U4_ga(x3)
white  =  white
U5_ga(x1, x2, x3, x4)  =  U5_ga(x4)
w(x1)  =  w
U3_ga(x1, x2, x3, x4, x5)  =  U3_ga(x5)
VARMAT16_IN_GA(x1, x2)  =  VARMAT16_IN_GA(x1)
U2_GA(x1, x2, x3, x4, x5)  =  U2_GA(x2, x5)

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

(101) PiDPToQDPProof (SOUND transformation)

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

(102) Obligation:

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

VARMAT16_IN_GA(.(T26, T27)) → U2_GA(T27, varmat16_in_ga(T26))
U2_GA(T27, varmat16_out_ga) → VARMAT16_IN_GA(T27)
VARMAT16_IN_GA(.(T26, T27)) → VARMAT16_IN_GA(T26)
VARMAT16_IN_GA(.(black, T33)) → VARMAT16_IN_GA(T33)
VARMAT16_IN_GA(.(white, T36)) → VARMAT16_IN_GA(T36)

The TRS R consists of the following rules:

varmat16_in_ga([]) → varmat16_out_ga
varmat16_in_ga(.(T26, T27)) → U1_ga(varmat16_in_ga(T26))
varmat16_in_ga(.(T26, T27)) → U2_ga(T27, varmat16_in_ga(T26))
varmat16_in_ga(.(black, T33)) → U4_ga(varmat16_in_ga(T33))
varmat16_in_ga(.(white, T36)) → U5_ga(varmat16_in_ga(T36))
U1_ga(varmat16_out_ga) → varmat16_out_ga
U2_ga(T27, varmat16_out_ga) → U3_ga(varmat16_in_ga(T27))
U4_ga(varmat16_out_ga) → varmat16_out_ga
U5_ga(varmat16_out_ga) → varmat16_out_ga
U3_ga(varmat16_out_ga) → varmat16_out_ga

The set Q consists of the following terms:

varmat16_in_ga(x0)
U1_ga(x0)
U2_ga(x0, x1)
U4_ga(x0)
U5_ga(x0)
U3_ga(x0)

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

(103) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

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

  • U2_GA(T27, varmat16_out_ga) → VARMAT16_IN_GA(T27)
    The graph contains the following edges 1 >= 1

  • VARMAT16_IN_GA(.(T26, T27)) → U2_GA(T27, varmat16_in_ga(T26))
    The graph contains the following edges 1 > 1

  • VARMAT16_IN_GA(.(T26, T27)) → VARMAT16_IN_GA(T26)
    The graph contains the following edges 1 > 1

  • VARMAT16_IN_GA(.(black, T33)) → VARMAT16_IN_GA(T33)
    The graph contains the following edges 1 > 1

  • VARMAT16_IN_GA(.(white, T36)) → VARMAT16_IN_GA(T36)
    The graph contains the following edges 1 > 1

(104) YES