(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) PrologToDTProblemTransformerProof (SOUND transformation)

Built DT problem from termination graph.

(2) Obligation:

Triples:

varmat16(.(T26, T27), .(X83, X84)) :- varmat16(T26, X83).
varmat16(.(T26, T27), .(T28, X84)) :- ','(varmatc16(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_linesc43(T56, T65), unif_matrx37(T65, T66)).
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_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) :- ','(varmatc16(T16, T37), unif_matrx37(T17, T37)).
p50(w(T140), .(w(T140), T141), T104, T107, T106, T108) :- unif_pairs60(T141).
p50(black, .(black, T171), T104, T107, T106, T108) :- unif_pairs60(T171).
p50(black, .(w(T176), T177), T104, T107, T106, T108) :- unif_pairs60(T177).
p50(w(T180), .(black, T181), T104, T107, T106, T108) :- unif_pairs60(T181).
p50(T103, T113, T117, T118, T119, T120) :- ','(unif_pairsc51(T103, T113), unif_lines43(.(T117, T118), .(T119, T120))).
shapes1(.(T15, T16), T6) :- varmat16(T15, X49).
shapes1(.(T15, T16), T6) :- ','(varmatc16(T15, T17), p17(T16, X50, T17)).
shapes1(.(black, T204), T6) :- p17(T204, X293, black).
shapes1(.(white, T207), T6) :- p17(T207, X310, w(X309)).

Clauses:

varmatc16([], []).
varmatc16(.(T26, T27), .(T28, X84)) :- ','(varmatc16(T26, T28), varmatc16(T27, X84)).
varmatc16(.(black, T33), .(black, X103)) :- varmatc16(T33, X103).
varmatc16(.(white, T36), .(w(X119), X120)) :- varmatc16(T36, X120).
unif_matrxc37(T56, .(T65, T66)) :- ','(unif_linesc43(T56, T65), unif_matrxc37(T65, T66)).
unif_matrxc37(T199, []).
unif_linesc43(.(T103, .(T104, T107)), .(T105, .(T106, T108))) :- qc50(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108).
unif_linesc43(.(T192, []), .(T193, [])).
unif_pairsc60([]).
unif_pairsc60(.(w(T158), .(w(T158), T159))) :- unif_pairsc60(T159).
unif_pairsc60(.(black, .(black, T160))) :- unif_pairsc60(T160).
unif_pairsc60(.(black, .(w(T165), T166))) :- unif_pairsc60(T166).
unif_pairsc60(.(w(T169), .(black, T170))) :- unif_pairsc60(T170).
qc17(T16, T37, T17) :- ','(varmatc16(T16, T37), unif_matrxc37(T17, T37)).
qc50(T103, T113, T117, T118, T119, T120) :- ','(unif_pairsc51(T103, T113), unif_linesc43(.(T117, T118), .(T119, T120))).
unif_pairsc51(w(T140), .(w(T140), T141)) :- unif_pairsc60(T141).
unif_pairsc51(black, .(black, T171)) :- unif_pairsc60(T171).
unif_pairsc51(black, .(w(T176), T177)) :- unif_pairsc60(T177).
unif_pairsc51(w(T180), .(black, T181)) :- unif_pairsc60(T181).

Afs:

shapes1(x1, x2)  =  shapes1(x1)

(3) TriplesToPiDPProof (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)
varmatc16_in: (b,f)
p17_in: (b,f,b)
unif_matrx37_in: (b,b)
unif_lines43_in: (b,b)
p50_in: (b,b,b,b,b,b)
unif_pairs60_in: (b)
unif_pairsc51_in: (b,b)
unif_pairsc60_in: (b)
unif_linesc43_in: (b,b)
qc50_in: (b,b,b,b,b,b)
Transforming TRIPLES into the following Term Rewriting System:
Pi DP problem:
The TRS P consists of the following rules:

SHAPES1_IN_GA(.(T15, T16), T6) → U23_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, varmatc16_in_ga(T26, T28))
U2_GA(T26, T27, T28, X84, varmatc16_out_ga(T26, T28)) → U3_GA(T26, T27, T28, X84, varmat16_in_ga(T27, X84))
U2_GA(T26, T27, T28, X84, varmatc16_out_ga(T26, T28)) → VARMAT16_IN_GA(T27, X84)
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)
SHAPES1_IN_GA(.(T15, T16), T6) → U24_GA(T15, T16, T6, varmatc16_in_ga(T15, T17))
U24_GA(T15, T16, T6, varmatc16_out_ga(T15, T17)) → U25_GA(T15, T16, T6, p17_in_gag(T16, X50, T17))
U24_GA(T15, T16, T6, varmatc16_out_ga(T15, T17)) → P17_IN_GAG(T16, X50, T17)
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, varmatc16_in_ga(T16, T37))
U15_GAG(T16, T37, T17, varmatc16_out_ga(T16, T37)) → U16_GAG(T16, T37, T17, unif_matrx37_in_gg(T17, T37))
U15_GAG(T16, T37, T17, varmatc16_out_ga(T16, T37)) → UNIF_MATRX37_IN_GG(T17, T37)
UNIF_MATRX37_IN_GG(T56, .(T57, T58)) → U6_GG(T56, T57, T58, unif_lines43_in_gg(T56, T57))
UNIF_MATRX37_IN_GG(T56, .(T57, T58)) → UNIF_LINES43_IN_GG(T56, T57)
UNIF_LINES43_IN_GG(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_GG(T103, T104, T107, T105, T106, T108, p50_in_gggggg(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
UNIF_LINES43_IN_GG(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → P50_IN_GGGGGG(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)
P50_IN_GGGGGG(w(T140), .(w(T140), T141), T104, T107, T106, T108) → U17_GGGGGG(T140, T141, T104, T107, T106, T108, unif_pairs60_in_g(T141))
P50_IN_GGGGGG(w(T140), .(w(T140), T141), T104, T107, T106, T108) → UNIF_PAIRS60_IN_G(T141)
UNIF_PAIRS60_IN_G(.(w(T158), .(w(T158), T159))) → U10_G(T158, T159, unif_pairs60_in_g(T159))
UNIF_PAIRS60_IN_G(.(w(T158), .(w(T158), T159))) → UNIF_PAIRS60_IN_G(T159)
UNIF_PAIRS60_IN_G(.(black, .(black, T160))) → U11_G(T160, unif_pairs60_in_g(T160))
UNIF_PAIRS60_IN_G(.(black, .(black, T160))) → UNIF_PAIRS60_IN_G(T160)
UNIF_PAIRS60_IN_G(.(black, .(w(T165), T166))) → U12_G(T165, T166, unif_pairs60_in_g(T166))
UNIF_PAIRS60_IN_G(.(black, .(w(T165), T166))) → UNIF_PAIRS60_IN_G(T166)
UNIF_PAIRS60_IN_G(.(w(T169), .(black, T170))) → U13_G(T169, T170, unif_pairs60_in_g(T170))
UNIF_PAIRS60_IN_G(.(w(T169), .(black, T170))) → UNIF_PAIRS60_IN_G(T170)
P50_IN_GGGGGG(black, .(black, T171), T104, T107, T106, T108) → U18_GGGGGG(T171, T104, T107, T106, T108, unif_pairs60_in_g(T171))
P50_IN_GGGGGG(black, .(black, T171), T104, T107, T106, T108) → UNIF_PAIRS60_IN_G(T171)
P50_IN_GGGGGG(black, .(w(T176), T177), T104, T107, T106, T108) → U19_GGGGGG(T176, T177, T104, T107, T106, T108, unif_pairs60_in_g(T177))
P50_IN_GGGGGG(black, .(w(T176), T177), T104, T107, T106, T108) → UNIF_PAIRS60_IN_G(T177)
P50_IN_GGGGGG(w(T180), .(black, T181), T104, T107, T106, T108) → U20_GGGGGG(T180, T181, T104, T107, T106, T108, unif_pairs60_in_g(T181))
P50_IN_GGGGGG(w(T180), .(black, T181), T104, T107, T106, T108) → UNIF_PAIRS60_IN_G(T181)
P50_IN_GGGGGG(T103, T113, T117, T118, T119, T120) → U21_GGGGGG(T103, T113, T117, T118, T119, T120, unif_pairsc51_in_gg(T103, T113))
U21_GGGGGG(T103, T113, T117, T118, T119, T120, unif_pairsc51_out_gg(T103, T113)) → U22_GGGGGG(T103, T113, T117, T118, T119, T120, unif_lines43_in_gg(.(T117, T118), .(T119, T120)))
U21_GGGGGG(T103, T113, T117, T118, T119, T120, unif_pairsc51_out_gg(T103, T113)) → UNIF_LINES43_IN_GG(.(T117, T118), .(T119, T120))
UNIF_MATRX37_IN_GG(T56, .(T65, T66)) → U7_GG(T56, T65, T66, unif_linesc43_in_gg(T56, T65))
U7_GG(T56, T65, T66, unif_linesc43_out_gg(T56, T65)) → U8_GG(T56, T65, T66, unif_matrx37_in_gg(T65, T66))
U7_GG(T56, T65, T66, unif_linesc43_out_gg(T56, T65)) → UNIF_MATRX37_IN_GG(T65, T66)
SHAPES1_IN_GA(.(black, T204), T6) → U26_GA(T204, T6, p17_in_gag(T204, X293, black))
SHAPES1_IN_GA(.(black, T204), T6) → P17_IN_GAG(T204, X293, black)
SHAPES1_IN_GA(.(white, T207), T6) → U27_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:

varmatc16_in_ga([], []) → varmatc16_out_ga([], [])
varmatc16_in_ga(.(T26, T27), .(T28, X84)) → U29_ga(T26, T27, T28, X84, varmatc16_in_ga(T26, T28))
varmatc16_in_ga(.(black, T33), .(black, X103)) → U31_ga(T33, X103, varmatc16_in_ga(T33, X103))
varmatc16_in_ga(.(white, T36), .(w(X119), X120)) → U32_ga(T36, X119, X120, varmatc16_in_ga(T36, X120))
U32_ga(T36, X119, X120, varmatc16_out_ga(T36, X120)) → varmatc16_out_ga(.(white, T36), .(w(X119), X120))
U31_ga(T33, X103, varmatc16_out_ga(T33, X103)) → varmatc16_out_ga(.(black, T33), .(black, X103))
U29_ga(T26, T27, T28, X84, varmatc16_out_ga(T26, T28)) → U30_ga(T26, T27, T28, X84, varmatc16_in_ga(T27, X84))
U30_ga(T26, T27, T28, X84, varmatc16_out_ga(T27, X84)) → varmatc16_out_ga(.(T26, T27), .(T28, X84))
unif_pairsc51_in_gg(w(T140), .(w(T140), T141)) → U44_gg(T140, T141, unif_pairsc60_in_g(T141))
unif_pairsc60_in_g([]) → unif_pairsc60_out_g([])
unif_pairsc60_in_g(.(w(T158), .(w(T158), T159))) → U36_g(T158, T159, unif_pairsc60_in_g(T159))
unif_pairsc60_in_g(.(black, .(black, T160))) → U37_g(T160, unif_pairsc60_in_g(T160))
unif_pairsc60_in_g(.(black, .(w(T165), T166))) → U38_g(T165, T166, unif_pairsc60_in_g(T166))
unif_pairsc60_in_g(.(w(T169), .(black, T170))) → U39_g(T169, T170, unif_pairsc60_in_g(T170))
U39_g(T169, T170, unif_pairsc60_out_g(T170)) → unif_pairsc60_out_g(.(w(T169), .(black, T170)))
U38_g(T165, T166, unif_pairsc60_out_g(T166)) → unif_pairsc60_out_g(.(black, .(w(T165), T166)))
U37_g(T160, unif_pairsc60_out_g(T160)) → unif_pairsc60_out_g(.(black, .(black, T160)))
U36_g(T158, T159, unif_pairsc60_out_g(T159)) → unif_pairsc60_out_g(.(w(T158), .(w(T158), T159)))
U44_gg(T140, T141, unif_pairsc60_out_g(T141)) → unif_pairsc51_out_gg(w(T140), .(w(T140), T141))
unif_pairsc51_in_gg(black, .(black, T171)) → U45_gg(T171, unif_pairsc60_in_g(T171))
U45_gg(T171, unif_pairsc60_out_g(T171)) → unif_pairsc51_out_gg(black, .(black, T171))
unif_pairsc51_in_gg(black, .(w(T176), T177)) → U46_gg(T176, T177, unif_pairsc60_in_g(T177))
U46_gg(T176, T177, unif_pairsc60_out_g(T177)) → unif_pairsc51_out_gg(black, .(w(T176), T177))
unif_pairsc51_in_gg(w(T180), .(black, T181)) → U47_gg(T180, T181, unif_pairsc60_in_g(T181))
U47_gg(T180, T181, unif_pairsc60_out_g(T181)) → unif_pairsc51_out_gg(w(T180), .(black, T181))
unif_linesc43_in_gg(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U35_gg(T103, T104, T107, T105, T106, T108, qc50_in_gggggg(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
qc50_in_gggggg(T103, T113, T117, T118, T119, T120) → U42_gggggg(T103, T113, T117, T118, T119, T120, unif_pairsc51_in_gg(T103, T113))
U42_gggggg(T103, T113, T117, T118, T119, T120, unif_pairsc51_out_gg(T103, T113)) → U43_gggggg(T103, T113, T117, T118, T119, T120, unif_linesc43_in_gg(.(T117, T118), .(T119, T120)))
unif_linesc43_in_gg(.(T192, []), .(T193, [])) → unif_linesc43_out_gg(.(T192, []), .(T193, []))
U43_gggggg(T103, T113, T117, T118, T119, T120, unif_linesc43_out_gg(.(T117, T118), .(T119, T120))) → qc50_out_gggggg(T103, T113, T117, T118, T119, T120)
U35_gg(T103, T104, T107, T105, T106, T108, qc50_out_gggggg(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_linesc43_out_gg(.(T103, .(T104, T107)), .(T105, .(T106, T108)))

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
varmat16_in_ga(x1, x2)  =  varmat16_in_ga(x1)
varmatc16_in_ga(x1, x2)  =  varmatc16_in_ga(x1)
[]  =  []
varmatc16_out_ga(x1, x2)  =  varmatc16_out_ga(x1, x2)
U29_ga(x1, x2, x3, x4, x5)  =  U29_ga(x1, x2, x5)
black  =  black
U31_ga(x1, x2, x3)  =  U31_ga(x1, x3)
white  =  white
U32_ga(x1, x2, x3, x4)  =  U32_ga(x1, x4)
w(x1)  =  w
U30_ga(x1, x2, x3, x4, x5)  =  U30_ga(x1, x2, x3, x5)
p17_in_gag(x1, x2, x3)  =  p17_in_gag(x1, x3)
unif_matrx37_in_gg(x1, x2)  =  unif_matrx37_in_gg(x1, x2)
unif_lines43_in_gg(x1, x2)  =  unif_lines43_in_gg(x1, x2)
p50_in_gggggg(x1, x2, x3, x4, x5, x6)  =  p50_in_gggggg(x1, x2, x3, x4, x5, x6)
unif_pairs60_in_g(x1)  =  unif_pairs60_in_g(x1)
unif_pairsc51_in_gg(x1, x2)  =  unif_pairsc51_in_gg(x1, x2)
U44_gg(x1, x2, x3)  =  U44_gg(x2, x3)
unif_pairsc60_in_g(x1)  =  unif_pairsc60_in_g(x1)
unif_pairsc60_out_g(x1)  =  unif_pairsc60_out_g(x1)
U36_g(x1, x2, x3)  =  U36_g(x2, x3)
U37_g(x1, x2)  =  U37_g(x1, x2)
U38_g(x1, x2, x3)  =  U38_g(x2, x3)
U39_g(x1, x2, x3)  =  U39_g(x2, x3)
unif_pairsc51_out_gg(x1, x2)  =  unif_pairsc51_out_gg(x1, x2)
U45_gg(x1, x2)  =  U45_gg(x1, x2)
U46_gg(x1, x2, x3)  =  U46_gg(x2, x3)
U47_gg(x1, x2, x3)  =  U47_gg(x2, x3)
unif_linesc43_in_gg(x1, x2)  =  unif_linesc43_in_gg(x1, x2)
U35_gg(x1, x2, x3, x4, x5, x6, x7)  =  U35_gg(x1, x2, x3, x4, x5, x6, x7)
qc50_in_gggggg(x1, x2, x3, x4, x5, x6)  =  qc50_in_gggggg(x1, x2, x3, x4, x5, x6)
U42_gggggg(x1, x2, x3, x4, x5, x6, x7)  =  U42_gggggg(x1, x2, x3, x4, x5, x6, x7)
U43_gggggg(x1, x2, x3, x4, x5, x6, x7)  =  U43_gggggg(x1, x2, x3, x4, x5, x6, x7)
unif_linesc43_out_gg(x1, x2)  =  unif_linesc43_out_gg(x1, x2)
qc50_out_gggggg(x1, x2, x3, x4, x5, x6)  =  qc50_out_gggggg(x1, x2, x3, x4, x5, x6)
SHAPES1_IN_GA(x1, x2)  =  SHAPES1_IN_GA(x1)
U23_GA(x1, x2, x3, x4)  =  U23_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)
U3_GA(x1, x2, x3, x4, x5)  =  U3_GA(x1, x2, x5)
U4_GA(x1, x2, x3)  =  U4_GA(x1, x3)
U5_GA(x1, x2, x3, x4)  =  U5_GA(x1, x4)
U24_GA(x1, x2, x3, x4)  =  U24_GA(x1, x2, x4)
U25_GA(x1, x2, x3, x4)  =  U25_GA(x1, x2, x4)
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_GG(x1, x2)  =  UNIF_MATRX37_IN_GG(x1, x2)
U6_GG(x1, x2, x3, x4)  =  U6_GG(x1, x2, x3, x4)
UNIF_LINES43_IN_GG(x1, x2)  =  UNIF_LINES43_IN_GG(x1, x2)
U9_GG(x1, x2, x3, x4, x5, x6, x7)  =  U9_GG(x1, x2, x3, x4, x5, x6, x7)
P50_IN_GGGGGG(x1, x2, x3, x4, x5, x6)  =  P50_IN_GGGGGG(x1, x2, x3, x4, x5, x6)
U17_GGGGGG(x1, x2, x3, x4, x5, x6, x7)  =  U17_GGGGGG(x2, x3, x4, x5, x6, x7)
UNIF_PAIRS60_IN_G(x1)  =  UNIF_PAIRS60_IN_G(x1)
U10_G(x1, x2, x3)  =  U10_G(x2, x3)
U11_G(x1, x2)  =  U11_G(x1, x2)
U12_G(x1, x2, x3)  =  U12_G(x2, x3)
U13_G(x1, x2, x3)  =  U13_G(x2, x3)
U18_GGGGGG(x1, x2, x3, x4, x5, x6)  =  U18_GGGGGG(x1, x2, x3, x4, x5, x6)
U19_GGGGGG(x1, x2, x3, x4, x5, x6, x7)  =  U19_GGGGGG(x2, x3, x4, x5, x6, x7)
U20_GGGGGG(x1, x2, x3, x4, x5, x6, x7)  =  U20_GGGGGG(x2, x3, x4, x5, x6, x7)
U21_GGGGGG(x1, x2, x3, x4, x5, x6, x7)  =  U21_GGGGGG(x1, x2, x3, x4, x5, x6, x7)
U22_GGGGGG(x1, x2, x3, x4, x5, x6, x7)  =  U22_GGGGGG(x1, x2, x3, x4, x5, x6, x7)
U7_GG(x1, x2, x3, x4)  =  U7_GG(x1, x2, x3, x4)
U8_GG(x1, x2, x3, x4)  =  U8_GG(x1, x2, x3, x4)
U26_GA(x1, x2, x3)  =  U26_GA(x1, x3)
U27_GA(x1, x2, x3)  =  U27_GA(x1, x3)

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

Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES

(4) Obligation:

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

SHAPES1_IN_GA(.(T15, T16), T6) → U23_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, varmatc16_in_ga(T26, T28))
U2_GA(T26, T27, T28, X84, varmatc16_out_ga(T26, T28)) → U3_GA(T26, T27, T28, X84, varmat16_in_ga(T27, X84))
U2_GA(T26, T27, T28, X84, varmatc16_out_ga(T26, T28)) → VARMAT16_IN_GA(T27, X84)
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)
SHAPES1_IN_GA(.(T15, T16), T6) → U24_GA(T15, T16, T6, varmatc16_in_ga(T15, T17))
U24_GA(T15, T16, T6, varmatc16_out_ga(T15, T17)) → U25_GA(T15, T16, T6, p17_in_gag(T16, X50, T17))
U24_GA(T15, T16, T6, varmatc16_out_ga(T15, T17)) → P17_IN_GAG(T16, X50, T17)
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, varmatc16_in_ga(T16, T37))
U15_GAG(T16, T37, T17, varmatc16_out_ga(T16, T37)) → U16_GAG(T16, T37, T17, unif_matrx37_in_gg(T17, T37))
U15_GAG(T16, T37, T17, varmatc16_out_ga(T16, T37)) → UNIF_MATRX37_IN_GG(T17, T37)
UNIF_MATRX37_IN_GG(T56, .(T57, T58)) → U6_GG(T56, T57, T58, unif_lines43_in_gg(T56, T57))
UNIF_MATRX37_IN_GG(T56, .(T57, T58)) → UNIF_LINES43_IN_GG(T56, T57)
UNIF_LINES43_IN_GG(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U9_GG(T103, T104, T107, T105, T106, T108, p50_in_gggggg(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
UNIF_LINES43_IN_GG(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → P50_IN_GGGGGG(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)
P50_IN_GGGGGG(w(T140), .(w(T140), T141), T104, T107, T106, T108) → U17_GGGGGG(T140, T141, T104, T107, T106, T108, unif_pairs60_in_g(T141))
P50_IN_GGGGGG(w(T140), .(w(T140), T141), T104, T107, T106, T108) → UNIF_PAIRS60_IN_G(T141)
UNIF_PAIRS60_IN_G(.(w(T158), .(w(T158), T159))) → U10_G(T158, T159, unif_pairs60_in_g(T159))
UNIF_PAIRS60_IN_G(.(w(T158), .(w(T158), T159))) → UNIF_PAIRS60_IN_G(T159)
UNIF_PAIRS60_IN_G(.(black, .(black, T160))) → U11_G(T160, unif_pairs60_in_g(T160))
UNIF_PAIRS60_IN_G(.(black, .(black, T160))) → UNIF_PAIRS60_IN_G(T160)
UNIF_PAIRS60_IN_G(.(black, .(w(T165), T166))) → U12_G(T165, T166, unif_pairs60_in_g(T166))
UNIF_PAIRS60_IN_G(.(black, .(w(T165), T166))) → UNIF_PAIRS60_IN_G(T166)
UNIF_PAIRS60_IN_G(.(w(T169), .(black, T170))) → U13_G(T169, T170, unif_pairs60_in_g(T170))
UNIF_PAIRS60_IN_G(.(w(T169), .(black, T170))) → UNIF_PAIRS60_IN_G(T170)
P50_IN_GGGGGG(black, .(black, T171), T104, T107, T106, T108) → U18_GGGGGG(T171, T104, T107, T106, T108, unif_pairs60_in_g(T171))
P50_IN_GGGGGG(black, .(black, T171), T104, T107, T106, T108) → UNIF_PAIRS60_IN_G(T171)
P50_IN_GGGGGG(black, .(w(T176), T177), T104, T107, T106, T108) → U19_GGGGGG(T176, T177, T104, T107, T106, T108, unif_pairs60_in_g(T177))
P50_IN_GGGGGG(black, .(w(T176), T177), T104, T107, T106, T108) → UNIF_PAIRS60_IN_G(T177)
P50_IN_GGGGGG(w(T180), .(black, T181), T104, T107, T106, T108) → U20_GGGGGG(T180, T181, T104, T107, T106, T108, unif_pairs60_in_g(T181))
P50_IN_GGGGGG(w(T180), .(black, T181), T104, T107, T106, T108) → UNIF_PAIRS60_IN_G(T181)
P50_IN_GGGGGG(T103, T113, T117, T118, T119, T120) → U21_GGGGGG(T103, T113, T117, T118, T119, T120, unif_pairsc51_in_gg(T103, T113))
U21_GGGGGG(T103, T113, T117, T118, T119, T120, unif_pairsc51_out_gg(T103, T113)) → U22_GGGGGG(T103, T113, T117, T118, T119, T120, unif_lines43_in_gg(.(T117, T118), .(T119, T120)))
U21_GGGGGG(T103, T113, T117, T118, T119, T120, unif_pairsc51_out_gg(T103, T113)) → UNIF_LINES43_IN_GG(.(T117, T118), .(T119, T120))
UNIF_MATRX37_IN_GG(T56, .(T65, T66)) → U7_GG(T56, T65, T66, unif_linesc43_in_gg(T56, T65))
U7_GG(T56, T65, T66, unif_linesc43_out_gg(T56, T65)) → U8_GG(T56, T65, T66, unif_matrx37_in_gg(T65, T66))
U7_GG(T56, T65, T66, unif_linesc43_out_gg(T56, T65)) → UNIF_MATRX37_IN_GG(T65, T66)
SHAPES1_IN_GA(.(black, T204), T6) → U26_GA(T204, T6, p17_in_gag(T204, X293, black))
SHAPES1_IN_GA(.(black, T204), T6) → P17_IN_GAG(T204, X293, black)
SHAPES1_IN_GA(.(white, T207), T6) → U27_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:

varmatc16_in_ga([], []) → varmatc16_out_ga([], [])
varmatc16_in_ga(.(T26, T27), .(T28, X84)) → U29_ga(T26, T27, T28, X84, varmatc16_in_ga(T26, T28))
varmatc16_in_ga(.(black, T33), .(black, X103)) → U31_ga(T33, X103, varmatc16_in_ga(T33, X103))
varmatc16_in_ga(.(white, T36), .(w(X119), X120)) → U32_ga(T36, X119, X120, varmatc16_in_ga(T36, X120))
U32_ga(T36, X119, X120, varmatc16_out_ga(T36, X120)) → varmatc16_out_ga(.(white, T36), .(w(X119), X120))
U31_ga(T33, X103, varmatc16_out_ga(T33, X103)) → varmatc16_out_ga(.(black, T33), .(black, X103))
U29_ga(T26, T27, T28, X84, varmatc16_out_ga(T26, T28)) → U30_ga(T26, T27, T28, X84, varmatc16_in_ga(T27, X84))
U30_ga(T26, T27, T28, X84, varmatc16_out_ga(T27, X84)) → varmatc16_out_ga(.(T26, T27), .(T28, X84))
unif_pairsc51_in_gg(w(T140), .(w(T140), T141)) → U44_gg(T140, T141, unif_pairsc60_in_g(T141))
unif_pairsc60_in_g([]) → unif_pairsc60_out_g([])
unif_pairsc60_in_g(.(w(T158), .(w(T158), T159))) → U36_g(T158, T159, unif_pairsc60_in_g(T159))
unif_pairsc60_in_g(.(black, .(black, T160))) → U37_g(T160, unif_pairsc60_in_g(T160))
unif_pairsc60_in_g(.(black, .(w(T165), T166))) → U38_g(T165, T166, unif_pairsc60_in_g(T166))
unif_pairsc60_in_g(.(w(T169), .(black, T170))) → U39_g(T169, T170, unif_pairsc60_in_g(T170))
U39_g(T169, T170, unif_pairsc60_out_g(T170)) → unif_pairsc60_out_g(.(w(T169), .(black, T170)))
U38_g(T165, T166, unif_pairsc60_out_g(T166)) → unif_pairsc60_out_g(.(black, .(w(T165), T166)))
U37_g(T160, unif_pairsc60_out_g(T160)) → unif_pairsc60_out_g(.(black, .(black, T160)))
U36_g(T158, T159, unif_pairsc60_out_g(T159)) → unif_pairsc60_out_g(.(w(T158), .(w(T158), T159)))
U44_gg(T140, T141, unif_pairsc60_out_g(T141)) → unif_pairsc51_out_gg(w(T140), .(w(T140), T141))
unif_pairsc51_in_gg(black, .(black, T171)) → U45_gg(T171, unif_pairsc60_in_g(T171))
U45_gg(T171, unif_pairsc60_out_g(T171)) → unif_pairsc51_out_gg(black, .(black, T171))
unif_pairsc51_in_gg(black, .(w(T176), T177)) → U46_gg(T176, T177, unif_pairsc60_in_g(T177))
U46_gg(T176, T177, unif_pairsc60_out_g(T177)) → unif_pairsc51_out_gg(black, .(w(T176), T177))
unif_pairsc51_in_gg(w(T180), .(black, T181)) → U47_gg(T180, T181, unif_pairsc60_in_g(T181))
U47_gg(T180, T181, unif_pairsc60_out_g(T181)) → unif_pairsc51_out_gg(w(T180), .(black, T181))
unif_linesc43_in_gg(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U35_gg(T103, T104, T107, T105, T106, T108, qc50_in_gggggg(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
qc50_in_gggggg(T103, T113, T117, T118, T119, T120) → U42_gggggg(T103, T113, T117, T118, T119, T120, unif_pairsc51_in_gg(T103, T113))
U42_gggggg(T103, T113, T117, T118, T119, T120, unif_pairsc51_out_gg(T103, T113)) → U43_gggggg(T103, T113, T117, T118, T119, T120, unif_linesc43_in_gg(.(T117, T118), .(T119, T120)))
unif_linesc43_in_gg(.(T192, []), .(T193, [])) → unif_linesc43_out_gg(.(T192, []), .(T193, []))
U43_gggggg(T103, T113, T117, T118, T119, T120, unif_linesc43_out_gg(.(T117, T118), .(T119, T120))) → qc50_out_gggggg(T103, T113, T117, T118, T119, T120)
U35_gg(T103, T104, T107, T105, T106, T108, qc50_out_gggggg(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_linesc43_out_gg(.(T103, .(T104, T107)), .(T105, .(T106, T108)))

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
varmat16_in_ga(x1, x2)  =  varmat16_in_ga(x1)
varmatc16_in_ga(x1, x2)  =  varmatc16_in_ga(x1)
[]  =  []
varmatc16_out_ga(x1, x2)  =  varmatc16_out_ga(x1, x2)
U29_ga(x1, x2, x3, x4, x5)  =  U29_ga(x1, x2, x5)
black  =  black
U31_ga(x1, x2, x3)  =  U31_ga(x1, x3)
white  =  white
U32_ga(x1, x2, x3, x4)  =  U32_ga(x1, x4)
w(x1)  =  w
U30_ga(x1, x2, x3, x4, x5)  =  U30_ga(x1, x2, x3, x5)
p17_in_gag(x1, x2, x3)  =  p17_in_gag(x1, x3)
unif_matrx37_in_gg(x1, x2)  =  unif_matrx37_in_gg(x1, x2)
unif_lines43_in_gg(x1, x2)  =  unif_lines43_in_gg(x1, x2)
p50_in_gggggg(x1, x2, x3, x4, x5, x6)  =  p50_in_gggggg(x1, x2, x3, x4, x5, x6)
unif_pairs60_in_g(x1)  =  unif_pairs60_in_g(x1)
unif_pairsc51_in_gg(x1, x2)  =  unif_pairsc51_in_gg(x1, x2)
U44_gg(x1, x2, x3)  =  U44_gg(x2, x3)
unif_pairsc60_in_g(x1)  =  unif_pairsc60_in_g(x1)
unif_pairsc60_out_g(x1)  =  unif_pairsc60_out_g(x1)
U36_g(x1, x2, x3)  =  U36_g(x2, x3)
U37_g(x1, x2)  =  U37_g(x1, x2)
U38_g(x1, x2, x3)  =  U38_g(x2, x3)
U39_g(x1, x2, x3)  =  U39_g(x2, x3)
unif_pairsc51_out_gg(x1, x2)  =  unif_pairsc51_out_gg(x1, x2)
U45_gg(x1, x2)  =  U45_gg(x1, x2)
U46_gg(x1, x2, x3)  =  U46_gg(x2, x3)
U47_gg(x1, x2, x3)  =  U47_gg(x2, x3)
unif_linesc43_in_gg(x1, x2)  =  unif_linesc43_in_gg(x1, x2)
U35_gg(x1, x2, x3, x4, x5, x6, x7)  =  U35_gg(x1, x2, x3, x4, x5, x6, x7)
qc50_in_gggggg(x1, x2, x3, x4, x5, x6)  =  qc50_in_gggggg(x1, x2, x3, x4, x5, x6)
U42_gggggg(x1, x2, x3, x4, x5, x6, x7)  =  U42_gggggg(x1, x2, x3, x4, x5, x6, x7)
U43_gggggg(x1, x2, x3, x4, x5, x6, x7)  =  U43_gggggg(x1, x2, x3, x4, x5, x6, x7)
unif_linesc43_out_gg(x1, x2)  =  unif_linesc43_out_gg(x1, x2)
qc50_out_gggggg(x1, x2, x3, x4, x5, x6)  =  qc50_out_gggggg(x1, x2, x3, x4, x5, x6)
SHAPES1_IN_GA(x1, x2)  =  SHAPES1_IN_GA(x1)
U23_GA(x1, x2, x3, x4)  =  U23_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)
U3_GA(x1, x2, x3, x4, x5)  =  U3_GA(x1, x2, x5)
U4_GA(x1, x2, x3)  =  U4_GA(x1, x3)
U5_GA(x1, x2, x3, x4)  =  U5_GA(x1, x4)
U24_GA(x1, x2, x3, x4)  =  U24_GA(x1, x2, x4)
U25_GA(x1, x2, x3, x4)  =  U25_GA(x1, x2, x4)
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_GG(x1, x2)  =  UNIF_MATRX37_IN_GG(x1, x2)
U6_GG(x1, x2, x3, x4)  =  U6_GG(x1, x2, x3, x4)
UNIF_LINES43_IN_GG(x1, x2)  =  UNIF_LINES43_IN_GG(x1, x2)
U9_GG(x1, x2, x3, x4, x5, x6, x7)  =  U9_GG(x1, x2, x3, x4, x5, x6, x7)
P50_IN_GGGGGG(x1, x2, x3, x4, x5, x6)  =  P50_IN_GGGGGG(x1, x2, x3, x4, x5, x6)
U17_GGGGGG(x1, x2, x3, x4, x5, x6, x7)  =  U17_GGGGGG(x2, x3, x4, x5, x6, x7)
UNIF_PAIRS60_IN_G(x1)  =  UNIF_PAIRS60_IN_G(x1)
U10_G(x1, x2, x3)  =  U10_G(x2, x3)
U11_G(x1, x2)  =  U11_G(x1, x2)
U12_G(x1, x2, x3)  =  U12_G(x2, x3)
U13_G(x1, x2, x3)  =  U13_G(x2, x3)
U18_GGGGGG(x1, x2, x3, x4, x5, x6)  =  U18_GGGGGG(x1, x2, x3, x4, x5, x6)
U19_GGGGGG(x1, x2, x3, x4, x5, x6, x7)  =  U19_GGGGGG(x2, x3, x4, x5, x6, x7)
U20_GGGGGG(x1, x2, x3, x4, x5, x6, x7)  =  U20_GGGGGG(x2, x3, x4, x5, x6, x7)
U21_GGGGGG(x1, x2, x3, x4, x5, x6, x7)  =  U21_GGGGGG(x1, x2, x3, x4, x5, x6, x7)
U22_GGGGGG(x1, x2, x3, x4, x5, x6, x7)  =  U22_GGGGGG(x1, x2, x3, x4, x5, x6, x7)
U7_GG(x1, x2, x3, x4)  =  U7_GG(x1, x2, x3, x4)
U8_GG(x1, x2, x3, x4)  =  U8_GG(x1, x2, x3, x4)
U26_GA(x1, x2, x3)  =  U26_GA(x1, x3)
U27_GA(x1, x2, x3)  =  U27_GA(x1, x3)

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

(5) DependencyGraphProof (EQUIVALENT transformation)

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

(6) Complex Obligation (AND)

(7) Obligation:

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

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

The TRS R consists of the following rules:

varmatc16_in_ga([], []) → varmatc16_out_ga([], [])
varmatc16_in_ga(.(T26, T27), .(T28, X84)) → U29_ga(T26, T27, T28, X84, varmatc16_in_ga(T26, T28))
varmatc16_in_ga(.(black, T33), .(black, X103)) → U31_ga(T33, X103, varmatc16_in_ga(T33, X103))
varmatc16_in_ga(.(white, T36), .(w(X119), X120)) → U32_ga(T36, X119, X120, varmatc16_in_ga(T36, X120))
U32_ga(T36, X119, X120, varmatc16_out_ga(T36, X120)) → varmatc16_out_ga(.(white, T36), .(w(X119), X120))
U31_ga(T33, X103, varmatc16_out_ga(T33, X103)) → varmatc16_out_ga(.(black, T33), .(black, X103))
U29_ga(T26, T27, T28, X84, varmatc16_out_ga(T26, T28)) → U30_ga(T26, T27, T28, X84, varmatc16_in_ga(T27, X84))
U30_ga(T26, T27, T28, X84, varmatc16_out_ga(T27, X84)) → varmatc16_out_ga(.(T26, T27), .(T28, X84))
unif_pairsc51_in_gg(w(T140), .(w(T140), T141)) → U44_gg(T140, T141, unif_pairsc60_in_g(T141))
unif_pairsc60_in_g([]) → unif_pairsc60_out_g([])
unif_pairsc60_in_g(.(w(T158), .(w(T158), T159))) → U36_g(T158, T159, unif_pairsc60_in_g(T159))
unif_pairsc60_in_g(.(black, .(black, T160))) → U37_g(T160, unif_pairsc60_in_g(T160))
unif_pairsc60_in_g(.(black, .(w(T165), T166))) → U38_g(T165, T166, unif_pairsc60_in_g(T166))
unif_pairsc60_in_g(.(w(T169), .(black, T170))) → U39_g(T169, T170, unif_pairsc60_in_g(T170))
U39_g(T169, T170, unif_pairsc60_out_g(T170)) → unif_pairsc60_out_g(.(w(T169), .(black, T170)))
U38_g(T165, T166, unif_pairsc60_out_g(T166)) → unif_pairsc60_out_g(.(black, .(w(T165), T166)))
U37_g(T160, unif_pairsc60_out_g(T160)) → unif_pairsc60_out_g(.(black, .(black, T160)))
U36_g(T158, T159, unif_pairsc60_out_g(T159)) → unif_pairsc60_out_g(.(w(T158), .(w(T158), T159)))
U44_gg(T140, T141, unif_pairsc60_out_g(T141)) → unif_pairsc51_out_gg(w(T140), .(w(T140), T141))
unif_pairsc51_in_gg(black, .(black, T171)) → U45_gg(T171, unif_pairsc60_in_g(T171))
U45_gg(T171, unif_pairsc60_out_g(T171)) → unif_pairsc51_out_gg(black, .(black, T171))
unif_pairsc51_in_gg(black, .(w(T176), T177)) → U46_gg(T176, T177, unif_pairsc60_in_g(T177))
U46_gg(T176, T177, unif_pairsc60_out_g(T177)) → unif_pairsc51_out_gg(black, .(w(T176), T177))
unif_pairsc51_in_gg(w(T180), .(black, T181)) → U47_gg(T180, T181, unif_pairsc60_in_g(T181))
U47_gg(T180, T181, unif_pairsc60_out_g(T181)) → unif_pairsc51_out_gg(w(T180), .(black, T181))
unif_linesc43_in_gg(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U35_gg(T103, T104, T107, T105, T106, T108, qc50_in_gggggg(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
qc50_in_gggggg(T103, T113, T117, T118, T119, T120) → U42_gggggg(T103, T113, T117, T118, T119, T120, unif_pairsc51_in_gg(T103, T113))
U42_gggggg(T103, T113, T117, T118, T119, T120, unif_pairsc51_out_gg(T103, T113)) → U43_gggggg(T103, T113, T117, T118, T119, T120, unif_linesc43_in_gg(.(T117, T118), .(T119, T120)))
unif_linesc43_in_gg(.(T192, []), .(T193, [])) → unif_linesc43_out_gg(.(T192, []), .(T193, []))
U43_gggggg(T103, T113, T117, T118, T119, T120, unif_linesc43_out_gg(.(T117, T118), .(T119, T120))) → qc50_out_gggggg(T103, T113, T117, T118, T119, T120)
U35_gg(T103, T104, T107, T105, T106, T108, qc50_out_gggggg(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_linesc43_out_gg(.(T103, .(T104, T107)), .(T105, .(T106, T108)))

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
varmatc16_in_ga(x1, x2)  =  varmatc16_in_ga(x1)
[]  =  []
varmatc16_out_ga(x1, x2)  =  varmatc16_out_ga(x1, x2)
U29_ga(x1, x2, x3, x4, x5)  =  U29_ga(x1, x2, x5)
black  =  black
U31_ga(x1, x2, x3)  =  U31_ga(x1, x3)
white  =  white
U32_ga(x1, x2, x3, x4)  =  U32_ga(x1, x4)
w(x1)  =  w
U30_ga(x1, x2, x3, x4, x5)  =  U30_ga(x1, x2, x3, x5)
unif_pairsc51_in_gg(x1, x2)  =  unif_pairsc51_in_gg(x1, x2)
U44_gg(x1, x2, x3)  =  U44_gg(x2, x3)
unif_pairsc60_in_g(x1)  =  unif_pairsc60_in_g(x1)
unif_pairsc60_out_g(x1)  =  unif_pairsc60_out_g(x1)
U36_g(x1, x2, x3)  =  U36_g(x2, x3)
U37_g(x1, x2)  =  U37_g(x1, x2)
U38_g(x1, x2, x3)  =  U38_g(x2, x3)
U39_g(x1, x2, x3)  =  U39_g(x2, x3)
unif_pairsc51_out_gg(x1, x2)  =  unif_pairsc51_out_gg(x1, x2)
U45_gg(x1, x2)  =  U45_gg(x1, x2)
U46_gg(x1, x2, x3)  =  U46_gg(x2, x3)
U47_gg(x1, x2, x3)  =  U47_gg(x2, x3)
unif_linesc43_in_gg(x1, x2)  =  unif_linesc43_in_gg(x1, x2)
U35_gg(x1, x2, x3, x4, x5, x6, x7)  =  U35_gg(x1, x2, x3, x4, x5, x6, x7)
qc50_in_gggggg(x1, x2, x3, x4, x5, x6)  =  qc50_in_gggggg(x1, x2, x3, x4, x5, x6)
U42_gggggg(x1, x2, x3, x4, x5, x6, x7)  =  U42_gggggg(x1, x2, x3, x4, x5, x6, x7)
U43_gggggg(x1, x2, x3, x4, x5, x6, x7)  =  U43_gggggg(x1, x2, x3, x4, x5, x6, x7)
unif_linesc43_out_gg(x1, x2)  =  unif_linesc43_out_gg(x1, x2)
qc50_out_gggggg(x1, x2, x3, x4, x5, x6)  =  qc50_out_gggggg(x1, x2, x3, x4, x5, x6)
UNIF_PAIRS60_IN_G(x1)  =  UNIF_PAIRS60_IN_G(x1)

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

(8) UsableRulesProof (EQUIVALENT transformation)

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

(9) Obligation:

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

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

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

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

(10) PiDPToQDPProof (SOUND transformation)

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

(11) Obligation:

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

UNIF_PAIRS60_IN_G(.(black, .(black, T160))) → UNIF_PAIRS60_IN_G(T160)
UNIF_PAIRS60_IN_G(.(w, .(w, T159))) → UNIF_PAIRS60_IN_G(T159)
UNIF_PAIRS60_IN_G(.(black, .(w, T166))) → UNIF_PAIRS60_IN_G(T166)
UNIF_PAIRS60_IN_G(.(w, .(black, T170))) → UNIF_PAIRS60_IN_G(T170)

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

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

  • UNIF_PAIRS60_IN_G(.(black, .(black, T160))) → UNIF_PAIRS60_IN_G(T160)
    The graph contains the following edges 1 > 1

  • UNIF_PAIRS60_IN_G(.(w, .(w, T159))) → UNIF_PAIRS60_IN_G(T159)
    The graph contains the following edges 1 > 1

  • UNIF_PAIRS60_IN_G(.(black, .(w, T166))) → UNIF_PAIRS60_IN_G(T166)
    The graph contains the following edges 1 > 1

  • UNIF_PAIRS60_IN_G(.(w, .(black, T170))) → UNIF_PAIRS60_IN_G(T170)
    The graph contains the following edges 1 > 1

(13) YES

(14) Obligation:

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

UNIF_LINES43_IN_GG(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → P50_IN_GGGGGG(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)
P50_IN_GGGGGG(T103, T113, T117, T118, T119, T120) → U21_GGGGGG(T103, T113, T117, T118, T119, T120, unif_pairsc51_in_gg(T103, T113))
U21_GGGGGG(T103, T113, T117, T118, T119, T120, unif_pairsc51_out_gg(T103, T113)) → UNIF_LINES43_IN_GG(.(T117, T118), .(T119, T120))

The TRS R consists of the following rules:

varmatc16_in_ga([], []) → varmatc16_out_ga([], [])
varmatc16_in_ga(.(T26, T27), .(T28, X84)) → U29_ga(T26, T27, T28, X84, varmatc16_in_ga(T26, T28))
varmatc16_in_ga(.(black, T33), .(black, X103)) → U31_ga(T33, X103, varmatc16_in_ga(T33, X103))
varmatc16_in_ga(.(white, T36), .(w(X119), X120)) → U32_ga(T36, X119, X120, varmatc16_in_ga(T36, X120))
U32_ga(T36, X119, X120, varmatc16_out_ga(T36, X120)) → varmatc16_out_ga(.(white, T36), .(w(X119), X120))
U31_ga(T33, X103, varmatc16_out_ga(T33, X103)) → varmatc16_out_ga(.(black, T33), .(black, X103))
U29_ga(T26, T27, T28, X84, varmatc16_out_ga(T26, T28)) → U30_ga(T26, T27, T28, X84, varmatc16_in_ga(T27, X84))
U30_ga(T26, T27, T28, X84, varmatc16_out_ga(T27, X84)) → varmatc16_out_ga(.(T26, T27), .(T28, X84))
unif_pairsc51_in_gg(w(T140), .(w(T140), T141)) → U44_gg(T140, T141, unif_pairsc60_in_g(T141))
unif_pairsc60_in_g([]) → unif_pairsc60_out_g([])
unif_pairsc60_in_g(.(w(T158), .(w(T158), T159))) → U36_g(T158, T159, unif_pairsc60_in_g(T159))
unif_pairsc60_in_g(.(black, .(black, T160))) → U37_g(T160, unif_pairsc60_in_g(T160))
unif_pairsc60_in_g(.(black, .(w(T165), T166))) → U38_g(T165, T166, unif_pairsc60_in_g(T166))
unif_pairsc60_in_g(.(w(T169), .(black, T170))) → U39_g(T169, T170, unif_pairsc60_in_g(T170))
U39_g(T169, T170, unif_pairsc60_out_g(T170)) → unif_pairsc60_out_g(.(w(T169), .(black, T170)))
U38_g(T165, T166, unif_pairsc60_out_g(T166)) → unif_pairsc60_out_g(.(black, .(w(T165), T166)))
U37_g(T160, unif_pairsc60_out_g(T160)) → unif_pairsc60_out_g(.(black, .(black, T160)))
U36_g(T158, T159, unif_pairsc60_out_g(T159)) → unif_pairsc60_out_g(.(w(T158), .(w(T158), T159)))
U44_gg(T140, T141, unif_pairsc60_out_g(T141)) → unif_pairsc51_out_gg(w(T140), .(w(T140), T141))
unif_pairsc51_in_gg(black, .(black, T171)) → U45_gg(T171, unif_pairsc60_in_g(T171))
U45_gg(T171, unif_pairsc60_out_g(T171)) → unif_pairsc51_out_gg(black, .(black, T171))
unif_pairsc51_in_gg(black, .(w(T176), T177)) → U46_gg(T176, T177, unif_pairsc60_in_g(T177))
U46_gg(T176, T177, unif_pairsc60_out_g(T177)) → unif_pairsc51_out_gg(black, .(w(T176), T177))
unif_pairsc51_in_gg(w(T180), .(black, T181)) → U47_gg(T180, T181, unif_pairsc60_in_g(T181))
U47_gg(T180, T181, unif_pairsc60_out_g(T181)) → unif_pairsc51_out_gg(w(T180), .(black, T181))
unif_linesc43_in_gg(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U35_gg(T103, T104, T107, T105, T106, T108, qc50_in_gggggg(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
qc50_in_gggggg(T103, T113, T117, T118, T119, T120) → U42_gggggg(T103, T113, T117, T118, T119, T120, unif_pairsc51_in_gg(T103, T113))
U42_gggggg(T103, T113, T117, T118, T119, T120, unif_pairsc51_out_gg(T103, T113)) → U43_gggggg(T103, T113, T117, T118, T119, T120, unif_linesc43_in_gg(.(T117, T118), .(T119, T120)))
unif_linesc43_in_gg(.(T192, []), .(T193, [])) → unif_linesc43_out_gg(.(T192, []), .(T193, []))
U43_gggggg(T103, T113, T117, T118, T119, T120, unif_linesc43_out_gg(.(T117, T118), .(T119, T120))) → qc50_out_gggggg(T103, T113, T117, T118, T119, T120)
U35_gg(T103, T104, T107, T105, T106, T108, qc50_out_gggggg(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_linesc43_out_gg(.(T103, .(T104, T107)), .(T105, .(T106, T108)))

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
varmatc16_in_ga(x1, x2)  =  varmatc16_in_ga(x1)
[]  =  []
varmatc16_out_ga(x1, x2)  =  varmatc16_out_ga(x1, x2)
U29_ga(x1, x2, x3, x4, x5)  =  U29_ga(x1, x2, x5)
black  =  black
U31_ga(x1, x2, x3)  =  U31_ga(x1, x3)
white  =  white
U32_ga(x1, x2, x3, x4)  =  U32_ga(x1, x4)
w(x1)  =  w
U30_ga(x1, x2, x3, x4, x5)  =  U30_ga(x1, x2, x3, x5)
unif_pairsc51_in_gg(x1, x2)  =  unif_pairsc51_in_gg(x1, x2)
U44_gg(x1, x2, x3)  =  U44_gg(x2, x3)
unif_pairsc60_in_g(x1)  =  unif_pairsc60_in_g(x1)
unif_pairsc60_out_g(x1)  =  unif_pairsc60_out_g(x1)
U36_g(x1, x2, x3)  =  U36_g(x2, x3)
U37_g(x1, x2)  =  U37_g(x1, x2)
U38_g(x1, x2, x3)  =  U38_g(x2, x3)
U39_g(x1, x2, x3)  =  U39_g(x2, x3)
unif_pairsc51_out_gg(x1, x2)  =  unif_pairsc51_out_gg(x1, x2)
U45_gg(x1, x2)  =  U45_gg(x1, x2)
U46_gg(x1, x2, x3)  =  U46_gg(x2, x3)
U47_gg(x1, x2, x3)  =  U47_gg(x2, x3)
unif_linesc43_in_gg(x1, x2)  =  unif_linesc43_in_gg(x1, x2)
U35_gg(x1, x2, x3, x4, x5, x6, x7)  =  U35_gg(x1, x2, x3, x4, x5, x6, x7)
qc50_in_gggggg(x1, x2, x3, x4, x5, x6)  =  qc50_in_gggggg(x1, x2, x3, x4, x5, x6)
U42_gggggg(x1, x2, x3, x4, x5, x6, x7)  =  U42_gggggg(x1, x2, x3, x4, x5, x6, x7)
U43_gggggg(x1, x2, x3, x4, x5, x6, x7)  =  U43_gggggg(x1, x2, x3, x4, x5, x6, x7)
unif_linesc43_out_gg(x1, x2)  =  unif_linesc43_out_gg(x1, x2)
qc50_out_gggggg(x1, x2, x3, x4, x5, x6)  =  qc50_out_gggggg(x1, x2, x3, x4, x5, x6)
UNIF_LINES43_IN_GG(x1, x2)  =  UNIF_LINES43_IN_GG(x1, x2)
P50_IN_GGGGGG(x1, x2, x3, x4, x5, x6)  =  P50_IN_GGGGGG(x1, x2, x3, x4, x5, x6)
U21_GGGGGG(x1, x2, x3, x4, x5, x6, x7)  =  U21_GGGGGG(x1, x2, x3, x4, x5, x6, x7)

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

(15) UsableRulesProof (EQUIVALENT transformation)

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

(16) Obligation:

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

UNIF_LINES43_IN_GG(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → P50_IN_GGGGGG(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)
P50_IN_GGGGGG(T103, T113, T117, T118, T119, T120) → U21_GGGGGG(T103, T113, T117, T118, T119, T120, unif_pairsc51_in_gg(T103, T113))
U21_GGGGGG(T103, T113, T117, T118, T119, T120, unif_pairsc51_out_gg(T103, T113)) → UNIF_LINES43_IN_GG(.(T117, T118), .(T119, T120))

The TRS R consists of the following rules:

unif_pairsc51_in_gg(w(T140), .(w(T140), T141)) → U44_gg(T140, T141, unif_pairsc60_in_g(T141))
unif_pairsc51_in_gg(black, .(black, T171)) → U45_gg(T171, unif_pairsc60_in_g(T171))
unif_pairsc51_in_gg(black, .(w(T176), T177)) → U46_gg(T176, T177, unif_pairsc60_in_g(T177))
unif_pairsc51_in_gg(w(T180), .(black, T181)) → U47_gg(T180, T181, unif_pairsc60_in_g(T181))
U44_gg(T140, T141, unif_pairsc60_out_g(T141)) → unif_pairsc51_out_gg(w(T140), .(w(T140), T141))
U45_gg(T171, unif_pairsc60_out_g(T171)) → unif_pairsc51_out_gg(black, .(black, T171))
U46_gg(T176, T177, unif_pairsc60_out_g(T177)) → unif_pairsc51_out_gg(black, .(w(T176), T177))
U47_gg(T180, T181, unif_pairsc60_out_g(T181)) → unif_pairsc51_out_gg(w(T180), .(black, T181))
unif_pairsc60_in_g([]) → unif_pairsc60_out_g([])
unif_pairsc60_in_g(.(w(T158), .(w(T158), T159))) → U36_g(T158, T159, unif_pairsc60_in_g(T159))
unif_pairsc60_in_g(.(black, .(black, T160))) → U37_g(T160, unif_pairsc60_in_g(T160))
unif_pairsc60_in_g(.(black, .(w(T165), T166))) → U38_g(T165, T166, unif_pairsc60_in_g(T166))
unif_pairsc60_in_g(.(w(T169), .(black, T170))) → U39_g(T169, T170, unif_pairsc60_in_g(T170))
U36_g(T158, T159, unif_pairsc60_out_g(T159)) → unif_pairsc60_out_g(.(w(T158), .(w(T158), T159)))
U37_g(T160, unif_pairsc60_out_g(T160)) → unif_pairsc60_out_g(.(black, .(black, T160)))
U38_g(T165, T166, unif_pairsc60_out_g(T166)) → unif_pairsc60_out_g(.(black, .(w(T165), T166)))
U39_g(T169, T170, unif_pairsc60_out_g(T170)) → unif_pairsc60_out_g(.(w(T169), .(black, T170)))

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
[]  =  []
black  =  black
w(x1)  =  w
unif_pairsc51_in_gg(x1, x2)  =  unif_pairsc51_in_gg(x1, x2)
U44_gg(x1, x2, x3)  =  U44_gg(x2, x3)
unif_pairsc60_in_g(x1)  =  unif_pairsc60_in_g(x1)
unif_pairsc60_out_g(x1)  =  unif_pairsc60_out_g(x1)
U36_g(x1, x2, x3)  =  U36_g(x2, x3)
U37_g(x1, x2)  =  U37_g(x1, x2)
U38_g(x1, x2, x3)  =  U38_g(x2, x3)
U39_g(x1, x2, x3)  =  U39_g(x2, x3)
unif_pairsc51_out_gg(x1, x2)  =  unif_pairsc51_out_gg(x1, x2)
U45_gg(x1, x2)  =  U45_gg(x1, x2)
U46_gg(x1, x2, x3)  =  U46_gg(x2, x3)
U47_gg(x1, x2, x3)  =  U47_gg(x2, x3)
UNIF_LINES43_IN_GG(x1, x2)  =  UNIF_LINES43_IN_GG(x1, x2)
P50_IN_GGGGGG(x1, x2, x3, x4, x5, x6)  =  P50_IN_GGGGGG(x1, x2, x3, x4, x5, x6)
U21_GGGGGG(x1, x2, x3, x4, x5, x6, x7)  =  U21_GGGGGG(x1, x2, x3, x4, x5, x6, x7)

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

(17) PiDPToQDPProof (SOUND transformation)

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

(18) Obligation:

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

UNIF_LINES43_IN_GG(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → P50_IN_GGGGGG(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)
P50_IN_GGGGGG(T103, T113, T117, T118, T119, T120) → U21_GGGGGG(T103, T113, T117, T118, T119, T120, unif_pairsc51_in_gg(T103, T113))
U21_GGGGGG(T103, T113, T117, T118, T119, T120, unif_pairsc51_out_gg(T103, T113)) → UNIF_LINES43_IN_GG(.(T117, T118), .(T119, T120))

The TRS R consists of the following rules:

unif_pairsc51_in_gg(w, .(w, T141)) → U44_gg(T141, unif_pairsc60_in_g(T141))
unif_pairsc51_in_gg(black, .(black, T171)) → U45_gg(T171, unif_pairsc60_in_g(T171))
unif_pairsc51_in_gg(black, .(w, T177)) → U46_gg(T177, unif_pairsc60_in_g(T177))
unif_pairsc51_in_gg(w, .(black, T181)) → U47_gg(T181, unif_pairsc60_in_g(T181))
U44_gg(T141, unif_pairsc60_out_g(T141)) → unif_pairsc51_out_gg(w, .(w, T141))
U45_gg(T171, unif_pairsc60_out_g(T171)) → unif_pairsc51_out_gg(black, .(black, T171))
U46_gg(T177, unif_pairsc60_out_g(T177)) → unif_pairsc51_out_gg(black, .(w, T177))
U47_gg(T181, unif_pairsc60_out_g(T181)) → unif_pairsc51_out_gg(w, .(black, T181))
unif_pairsc60_in_g([]) → unif_pairsc60_out_g([])
unif_pairsc60_in_g(.(w, .(w, T159))) → U36_g(T159, unif_pairsc60_in_g(T159))
unif_pairsc60_in_g(.(black, .(black, T160))) → U37_g(T160, unif_pairsc60_in_g(T160))
unif_pairsc60_in_g(.(black, .(w, T166))) → U38_g(T166, unif_pairsc60_in_g(T166))
unif_pairsc60_in_g(.(w, .(black, T170))) → U39_g(T170, unif_pairsc60_in_g(T170))
U36_g(T159, unif_pairsc60_out_g(T159)) → unif_pairsc60_out_g(.(w, .(w, T159)))
U37_g(T160, unif_pairsc60_out_g(T160)) → unif_pairsc60_out_g(.(black, .(black, T160)))
U38_g(T166, unif_pairsc60_out_g(T166)) → unif_pairsc60_out_g(.(black, .(w, T166)))
U39_g(T170, unif_pairsc60_out_g(T170)) → unif_pairsc60_out_g(.(w, .(black, T170)))

The set Q consists of the following terms:

unif_pairsc51_in_gg(x0, x1)
U44_gg(x0, x1)
U45_gg(x0, x1)
U46_gg(x0, x1)
U47_gg(x0, x1)
unif_pairsc60_in_g(x0)
U36_g(x0, x1)
U37_g(x0, x1)
U38_g(x0, x1)
U39_g(x0, x1)

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

(19) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


UNIF_LINES43_IN_GG(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → P50_IN_GGGGGG(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:

POL(.(x1, x2)) = 1 + x2   
POL(P50_IN_GGGGGG(x1, x2, x3, x4, x5, x6)) = 1 + x6   
POL(U21_GGGGGG(x1, x2, x3, x4, x5, x6, x7)) = 1 + x6   
POL(U36_g(x1, x2)) = 0   
POL(U37_g(x1, x2)) = 0   
POL(U38_g(x1, x2)) = 0   
POL(U39_g(x1, x2)) = 0   
POL(U44_gg(x1, x2)) = 0   
POL(U45_gg(x1, x2)) = 0   
POL(U46_gg(x1, x2)) = 0   
POL(U47_gg(x1, x2)) = 0   
POL(UNIF_LINES43_IN_GG(x1, x2)) = x2   
POL([]) = 0   
POL(black) = 0   
POL(unif_pairsc51_in_gg(x1, x2)) = 0   
POL(unif_pairsc51_out_gg(x1, x2)) = 0   
POL(unif_pairsc60_in_g(x1)) = 0   
POL(unif_pairsc60_out_g(x1)) = 0   
POL(w) = 0   

The following usable rules [FROCOS05] were oriented: none

(20) Obligation:

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

P50_IN_GGGGGG(T103, T113, T117, T118, T119, T120) → U21_GGGGGG(T103, T113, T117, T118, T119, T120, unif_pairsc51_in_gg(T103, T113))
U21_GGGGGG(T103, T113, T117, T118, T119, T120, unif_pairsc51_out_gg(T103, T113)) → UNIF_LINES43_IN_GG(.(T117, T118), .(T119, T120))

The TRS R consists of the following rules:

unif_pairsc51_in_gg(w, .(w, T141)) → U44_gg(T141, unif_pairsc60_in_g(T141))
unif_pairsc51_in_gg(black, .(black, T171)) → U45_gg(T171, unif_pairsc60_in_g(T171))
unif_pairsc51_in_gg(black, .(w, T177)) → U46_gg(T177, unif_pairsc60_in_g(T177))
unif_pairsc51_in_gg(w, .(black, T181)) → U47_gg(T181, unif_pairsc60_in_g(T181))
U44_gg(T141, unif_pairsc60_out_g(T141)) → unif_pairsc51_out_gg(w, .(w, T141))
U45_gg(T171, unif_pairsc60_out_g(T171)) → unif_pairsc51_out_gg(black, .(black, T171))
U46_gg(T177, unif_pairsc60_out_g(T177)) → unif_pairsc51_out_gg(black, .(w, T177))
U47_gg(T181, unif_pairsc60_out_g(T181)) → unif_pairsc51_out_gg(w, .(black, T181))
unif_pairsc60_in_g([]) → unif_pairsc60_out_g([])
unif_pairsc60_in_g(.(w, .(w, T159))) → U36_g(T159, unif_pairsc60_in_g(T159))
unif_pairsc60_in_g(.(black, .(black, T160))) → U37_g(T160, unif_pairsc60_in_g(T160))
unif_pairsc60_in_g(.(black, .(w, T166))) → U38_g(T166, unif_pairsc60_in_g(T166))
unif_pairsc60_in_g(.(w, .(black, T170))) → U39_g(T170, unif_pairsc60_in_g(T170))
U36_g(T159, unif_pairsc60_out_g(T159)) → unif_pairsc60_out_g(.(w, .(w, T159)))
U37_g(T160, unif_pairsc60_out_g(T160)) → unif_pairsc60_out_g(.(black, .(black, T160)))
U38_g(T166, unif_pairsc60_out_g(T166)) → unif_pairsc60_out_g(.(black, .(w, T166)))
U39_g(T170, unif_pairsc60_out_g(T170)) → unif_pairsc60_out_g(.(w, .(black, T170)))

The set Q consists of the following terms:

unif_pairsc51_in_gg(x0, x1)
U44_gg(x0, x1)
U45_gg(x0, x1)
U46_gg(x0, x1)
U47_gg(x0, x1)
unif_pairsc60_in_g(x0)
U36_g(x0, x1)
U37_g(x0, x1)
U38_g(x0, x1)
U39_g(x0, x1)

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

(21) DependencyGraphProof (EQUIVALENT transformation)

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

(22) TRUE

(23) Obligation:

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

UNIF_MATRX37_IN_GG(T56, .(T65, T66)) → U7_GG(T56, T65, T66, unif_linesc43_in_gg(T56, T65))
U7_GG(T56, T65, T66, unif_linesc43_out_gg(T56, T65)) → UNIF_MATRX37_IN_GG(T65, T66)

The TRS R consists of the following rules:

varmatc16_in_ga([], []) → varmatc16_out_ga([], [])
varmatc16_in_ga(.(T26, T27), .(T28, X84)) → U29_ga(T26, T27, T28, X84, varmatc16_in_ga(T26, T28))
varmatc16_in_ga(.(black, T33), .(black, X103)) → U31_ga(T33, X103, varmatc16_in_ga(T33, X103))
varmatc16_in_ga(.(white, T36), .(w(X119), X120)) → U32_ga(T36, X119, X120, varmatc16_in_ga(T36, X120))
U32_ga(T36, X119, X120, varmatc16_out_ga(T36, X120)) → varmatc16_out_ga(.(white, T36), .(w(X119), X120))
U31_ga(T33, X103, varmatc16_out_ga(T33, X103)) → varmatc16_out_ga(.(black, T33), .(black, X103))
U29_ga(T26, T27, T28, X84, varmatc16_out_ga(T26, T28)) → U30_ga(T26, T27, T28, X84, varmatc16_in_ga(T27, X84))
U30_ga(T26, T27, T28, X84, varmatc16_out_ga(T27, X84)) → varmatc16_out_ga(.(T26, T27), .(T28, X84))
unif_pairsc51_in_gg(w(T140), .(w(T140), T141)) → U44_gg(T140, T141, unif_pairsc60_in_g(T141))
unif_pairsc60_in_g([]) → unif_pairsc60_out_g([])
unif_pairsc60_in_g(.(w(T158), .(w(T158), T159))) → U36_g(T158, T159, unif_pairsc60_in_g(T159))
unif_pairsc60_in_g(.(black, .(black, T160))) → U37_g(T160, unif_pairsc60_in_g(T160))
unif_pairsc60_in_g(.(black, .(w(T165), T166))) → U38_g(T165, T166, unif_pairsc60_in_g(T166))
unif_pairsc60_in_g(.(w(T169), .(black, T170))) → U39_g(T169, T170, unif_pairsc60_in_g(T170))
U39_g(T169, T170, unif_pairsc60_out_g(T170)) → unif_pairsc60_out_g(.(w(T169), .(black, T170)))
U38_g(T165, T166, unif_pairsc60_out_g(T166)) → unif_pairsc60_out_g(.(black, .(w(T165), T166)))
U37_g(T160, unif_pairsc60_out_g(T160)) → unif_pairsc60_out_g(.(black, .(black, T160)))
U36_g(T158, T159, unif_pairsc60_out_g(T159)) → unif_pairsc60_out_g(.(w(T158), .(w(T158), T159)))
U44_gg(T140, T141, unif_pairsc60_out_g(T141)) → unif_pairsc51_out_gg(w(T140), .(w(T140), T141))
unif_pairsc51_in_gg(black, .(black, T171)) → U45_gg(T171, unif_pairsc60_in_g(T171))
U45_gg(T171, unif_pairsc60_out_g(T171)) → unif_pairsc51_out_gg(black, .(black, T171))
unif_pairsc51_in_gg(black, .(w(T176), T177)) → U46_gg(T176, T177, unif_pairsc60_in_g(T177))
U46_gg(T176, T177, unif_pairsc60_out_g(T177)) → unif_pairsc51_out_gg(black, .(w(T176), T177))
unif_pairsc51_in_gg(w(T180), .(black, T181)) → U47_gg(T180, T181, unif_pairsc60_in_g(T181))
U47_gg(T180, T181, unif_pairsc60_out_g(T181)) → unif_pairsc51_out_gg(w(T180), .(black, T181))
unif_linesc43_in_gg(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U35_gg(T103, T104, T107, T105, T106, T108, qc50_in_gggggg(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
qc50_in_gggggg(T103, T113, T117, T118, T119, T120) → U42_gggggg(T103, T113, T117, T118, T119, T120, unif_pairsc51_in_gg(T103, T113))
U42_gggggg(T103, T113, T117, T118, T119, T120, unif_pairsc51_out_gg(T103, T113)) → U43_gggggg(T103, T113, T117, T118, T119, T120, unif_linesc43_in_gg(.(T117, T118), .(T119, T120)))
unif_linesc43_in_gg(.(T192, []), .(T193, [])) → unif_linesc43_out_gg(.(T192, []), .(T193, []))
U43_gggggg(T103, T113, T117, T118, T119, T120, unif_linesc43_out_gg(.(T117, T118), .(T119, T120))) → qc50_out_gggggg(T103, T113, T117, T118, T119, T120)
U35_gg(T103, T104, T107, T105, T106, T108, qc50_out_gggggg(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_linesc43_out_gg(.(T103, .(T104, T107)), .(T105, .(T106, T108)))

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
varmatc16_in_ga(x1, x2)  =  varmatc16_in_ga(x1)
[]  =  []
varmatc16_out_ga(x1, x2)  =  varmatc16_out_ga(x1, x2)
U29_ga(x1, x2, x3, x4, x5)  =  U29_ga(x1, x2, x5)
black  =  black
U31_ga(x1, x2, x3)  =  U31_ga(x1, x3)
white  =  white
U32_ga(x1, x2, x3, x4)  =  U32_ga(x1, x4)
w(x1)  =  w
U30_ga(x1, x2, x3, x4, x5)  =  U30_ga(x1, x2, x3, x5)
unif_pairsc51_in_gg(x1, x2)  =  unif_pairsc51_in_gg(x1, x2)
U44_gg(x1, x2, x3)  =  U44_gg(x2, x3)
unif_pairsc60_in_g(x1)  =  unif_pairsc60_in_g(x1)
unif_pairsc60_out_g(x1)  =  unif_pairsc60_out_g(x1)
U36_g(x1, x2, x3)  =  U36_g(x2, x3)
U37_g(x1, x2)  =  U37_g(x1, x2)
U38_g(x1, x2, x3)  =  U38_g(x2, x3)
U39_g(x1, x2, x3)  =  U39_g(x2, x3)
unif_pairsc51_out_gg(x1, x2)  =  unif_pairsc51_out_gg(x1, x2)
U45_gg(x1, x2)  =  U45_gg(x1, x2)
U46_gg(x1, x2, x3)  =  U46_gg(x2, x3)
U47_gg(x1, x2, x3)  =  U47_gg(x2, x3)
unif_linesc43_in_gg(x1, x2)  =  unif_linesc43_in_gg(x1, x2)
U35_gg(x1, x2, x3, x4, x5, x6, x7)  =  U35_gg(x1, x2, x3, x4, x5, x6, x7)
qc50_in_gggggg(x1, x2, x3, x4, x5, x6)  =  qc50_in_gggggg(x1, x2, x3, x4, x5, x6)
U42_gggggg(x1, x2, x3, x4, x5, x6, x7)  =  U42_gggggg(x1, x2, x3, x4, x5, x6, x7)
U43_gggggg(x1, x2, x3, x4, x5, x6, x7)  =  U43_gggggg(x1, x2, x3, x4, x5, x6, x7)
unif_linesc43_out_gg(x1, x2)  =  unif_linesc43_out_gg(x1, x2)
qc50_out_gggggg(x1, x2, x3, x4, x5, x6)  =  qc50_out_gggggg(x1, x2, x3, x4, x5, x6)
UNIF_MATRX37_IN_GG(x1, x2)  =  UNIF_MATRX37_IN_GG(x1, x2)
U7_GG(x1, x2, x3, x4)  =  U7_GG(x1, x2, x3, x4)

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

(24) UsableRulesProof (EQUIVALENT transformation)

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

(25) Obligation:

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

UNIF_MATRX37_IN_GG(T56, .(T65, T66)) → U7_GG(T56, T65, T66, unif_linesc43_in_gg(T56, T65))
U7_GG(T56, T65, T66, unif_linesc43_out_gg(T56, T65)) → UNIF_MATRX37_IN_GG(T65, T66)

The TRS R consists of the following rules:

unif_linesc43_in_gg(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U35_gg(T103, T104, T107, T105, T106, T108, qc50_in_gggggg(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
unif_linesc43_in_gg(.(T192, []), .(T193, [])) → unif_linesc43_out_gg(.(T192, []), .(T193, []))
U35_gg(T103, T104, T107, T105, T106, T108, qc50_out_gggggg(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_linesc43_out_gg(.(T103, .(T104, T107)), .(T105, .(T106, T108)))
qc50_in_gggggg(T103, T113, T117, T118, T119, T120) → U42_gggggg(T103, T113, T117, T118, T119, T120, unif_pairsc51_in_gg(T103, T113))
U42_gggggg(T103, T113, T117, T118, T119, T120, unif_pairsc51_out_gg(T103, T113)) → U43_gggggg(T103, T113, T117, T118, T119, T120, unif_linesc43_in_gg(.(T117, T118), .(T119, T120)))
unif_pairsc51_in_gg(w(T140), .(w(T140), T141)) → U44_gg(T140, T141, unif_pairsc60_in_g(T141))
unif_pairsc51_in_gg(black, .(black, T171)) → U45_gg(T171, unif_pairsc60_in_g(T171))
unif_pairsc51_in_gg(black, .(w(T176), T177)) → U46_gg(T176, T177, unif_pairsc60_in_g(T177))
unif_pairsc51_in_gg(w(T180), .(black, T181)) → U47_gg(T180, T181, unif_pairsc60_in_g(T181))
U43_gggggg(T103, T113, T117, T118, T119, T120, unif_linesc43_out_gg(.(T117, T118), .(T119, T120))) → qc50_out_gggggg(T103, T113, T117, T118, T119, T120)
U44_gg(T140, T141, unif_pairsc60_out_g(T141)) → unif_pairsc51_out_gg(w(T140), .(w(T140), T141))
U45_gg(T171, unif_pairsc60_out_g(T171)) → unif_pairsc51_out_gg(black, .(black, T171))
U46_gg(T176, T177, unif_pairsc60_out_g(T177)) → unif_pairsc51_out_gg(black, .(w(T176), T177))
U47_gg(T180, T181, unif_pairsc60_out_g(T181)) → unif_pairsc51_out_gg(w(T180), .(black, T181))
unif_pairsc60_in_g([]) → unif_pairsc60_out_g([])
unif_pairsc60_in_g(.(w(T158), .(w(T158), T159))) → U36_g(T158, T159, unif_pairsc60_in_g(T159))
unif_pairsc60_in_g(.(black, .(black, T160))) → U37_g(T160, unif_pairsc60_in_g(T160))
unif_pairsc60_in_g(.(black, .(w(T165), T166))) → U38_g(T165, T166, unif_pairsc60_in_g(T166))
unif_pairsc60_in_g(.(w(T169), .(black, T170))) → U39_g(T169, T170, unif_pairsc60_in_g(T170))
U36_g(T158, T159, unif_pairsc60_out_g(T159)) → unif_pairsc60_out_g(.(w(T158), .(w(T158), T159)))
U37_g(T160, unif_pairsc60_out_g(T160)) → unif_pairsc60_out_g(.(black, .(black, T160)))
U38_g(T165, T166, unif_pairsc60_out_g(T166)) → unif_pairsc60_out_g(.(black, .(w(T165), T166)))
U39_g(T169, T170, unif_pairsc60_out_g(T170)) → unif_pairsc60_out_g(.(w(T169), .(black, T170)))

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
[]  =  []
black  =  black
w(x1)  =  w
unif_pairsc51_in_gg(x1, x2)  =  unif_pairsc51_in_gg(x1, x2)
U44_gg(x1, x2, x3)  =  U44_gg(x2, x3)
unif_pairsc60_in_g(x1)  =  unif_pairsc60_in_g(x1)
unif_pairsc60_out_g(x1)  =  unif_pairsc60_out_g(x1)
U36_g(x1, x2, x3)  =  U36_g(x2, x3)
U37_g(x1, x2)  =  U37_g(x1, x2)
U38_g(x1, x2, x3)  =  U38_g(x2, x3)
U39_g(x1, x2, x3)  =  U39_g(x2, x3)
unif_pairsc51_out_gg(x1, x2)  =  unif_pairsc51_out_gg(x1, x2)
U45_gg(x1, x2)  =  U45_gg(x1, x2)
U46_gg(x1, x2, x3)  =  U46_gg(x2, x3)
U47_gg(x1, x2, x3)  =  U47_gg(x2, x3)
unif_linesc43_in_gg(x1, x2)  =  unif_linesc43_in_gg(x1, x2)
U35_gg(x1, x2, x3, x4, x5, x6, x7)  =  U35_gg(x1, x2, x3, x4, x5, x6, x7)
qc50_in_gggggg(x1, x2, x3, x4, x5, x6)  =  qc50_in_gggggg(x1, x2, x3, x4, x5, x6)
U42_gggggg(x1, x2, x3, x4, x5, x6, x7)  =  U42_gggggg(x1, x2, x3, x4, x5, x6, x7)
U43_gggggg(x1, x2, x3, x4, x5, x6, x7)  =  U43_gggggg(x1, x2, x3, x4, x5, x6, x7)
unif_linesc43_out_gg(x1, x2)  =  unif_linesc43_out_gg(x1, x2)
qc50_out_gggggg(x1, x2, x3, x4, x5, x6)  =  qc50_out_gggggg(x1, x2, x3, x4, x5, x6)
UNIF_MATRX37_IN_GG(x1, x2)  =  UNIF_MATRX37_IN_GG(x1, x2)
U7_GG(x1, x2, x3, x4)  =  U7_GG(x1, x2, x3, x4)

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

(26) PiDPToQDPProof (SOUND transformation)

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

(27) Obligation:

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

UNIF_MATRX37_IN_GG(T56, .(T65, T66)) → U7_GG(T56, T65, T66, unif_linesc43_in_gg(T56, T65))
U7_GG(T56, T65, T66, unif_linesc43_out_gg(T56, T65)) → UNIF_MATRX37_IN_GG(T65, T66)

The TRS R consists of the following rules:

unif_linesc43_in_gg(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U35_gg(T103, T104, T107, T105, T106, T108, qc50_in_gggggg(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
unif_linesc43_in_gg(.(T192, []), .(T193, [])) → unif_linesc43_out_gg(.(T192, []), .(T193, []))
U35_gg(T103, T104, T107, T105, T106, T108, qc50_out_gggggg(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_linesc43_out_gg(.(T103, .(T104, T107)), .(T105, .(T106, T108)))
qc50_in_gggggg(T103, T113, T117, T118, T119, T120) → U42_gggggg(T103, T113, T117, T118, T119, T120, unif_pairsc51_in_gg(T103, T113))
U42_gggggg(T103, T113, T117, T118, T119, T120, unif_pairsc51_out_gg(T103, T113)) → U43_gggggg(T103, T113, T117, T118, T119, T120, unif_linesc43_in_gg(.(T117, T118), .(T119, T120)))
unif_pairsc51_in_gg(w, .(w, T141)) → U44_gg(T141, unif_pairsc60_in_g(T141))
unif_pairsc51_in_gg(black, .(black, T171)) → U45_gg(T171, unif_pairsc60_in_g(T171))
unif_pairsc51_in_gg(black, .(w, T177)) → U46_gg(T177, unif_pairsc60_in_g(T177))
unif_pairsc51_in_gg(w, .(black, T181)) → U47_gg(T181, unif_pairsc60_in_g(T181))
U43_gggggg(T103, T113, T117, T118, T119, T120, unif_linesc43_out_gg(.(T117, T118), .(T119, T120))) → qc50_out_gggggg(T103, T113, T117, T118, T119, T120)
U44_gg(T141, unif_pairsc60_out_g(T141)) → unif_pairsc51_out_gg(w, .(w, T141))
U45_gg(T171, unif_pairsc60_out_g(T171)) → unif_pairsc51_out_gg(black, .(black, T171))
U46_gg(T177, unif_pairsc60_out_g(T177)) → unif_pairsc51_out_gg(black, .(w, T177))
U47_gg(T181, unif_pairsc60_out_g(T181)) → unif_pairsc51_out_gg(w, .(black, T181))
unif_pairsc60_in_g([]) → unif_pairsc60_out_g([])
unif_pairsc60_in_g(.(w, .(w, T159))) → U36_g(T159, unif_pairsc60_in_g(T159))
unif_pairsc60_in_g(.(black, .(black, T160))) → U37_g(T160, unif_pairsc60_in_g(T160))
unif_pairsc60_in_g(.(black, .(w, T166))) → U38_g(T166, unif_pairsc60_in_g(T166))
unif_pairsc60_in_g(.(w, .(black, T170))) → U39_g(T170, unif_pairsc60_in_g(T170))
U36_g(T159, unif_pairsc60_out_g(T159)) → unif_pairsc60_out_g(.(w, .(w, T159)))
U37_g(T160, unif_pairsc60_out_g(T160)) → unif_pairsc60_out_g(.(black, .(black, T160)))
U38_g(T166, unif_pairsc60_out_g(T166)) → unif_pairsc60_out_g(.(black, .(w, T166)))
U39_g(T170, unif_pairsc60_out_g(T170)) → unif_pairsc60_out_g(.(w, .(black, T170)))

The set Q consists of the following terms:

unif_linesc43_in_gg(x0, x1)
U35_gg(x0, x1, x2, x3, x4, x5, x6)
qc50_in_gggggg(x0, x1, x2, x3, x4, x5)
U42_gggggg(x0, x1, x2, x3, x4, x5, x6)
unif_pairsc51_in_gg(x0, x1)
U43_gggggg(x0, x1, x2, x3, x4, x5, x6)
U44_gg(x0, x1)
U45_gg(x0, x1)
U46_gg(x0, x1)
U47_gg(x0, x1)
unif_pairsc60_in_g(x0)
U36_g(x0, x1)
U37_g(x0, x1)
U38_g(x0, x1)
U39_g(x0, x1)

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

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

  • U7_GG(T56, T65, T66, unif_linesc43_out_gg(T56, T65)) → UNIF_MATRX37_IN_GG(T65, T66)
    The graph contains the following edges 2 >= 1, 4 > 1, 3 >= 2

  • UNIF_MATRX37_IN_GG(T56, .(T65, T66)) → U7_GG(T56, T65, T66, unif_linesc43_in_gg(T56, T65))
    The graph contains the following edges 1 >= 1, 2 > 2, 2 > 3

(29) YES

(30) 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, varmatc16_in_ga(T26, T28))
U2_GA(T26, T27, T28, X84, varmatc16_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:

varmatc16_in_ga([], []) → varmatc16_out_ga([], [])
varmatc16_in_ga(.(T26, T27), .(T28, X84)) → U29_ga(T26, T27, T28, X84, varmatc16_in_ga(T26, T28))
varmatc16_in_ga(.(black, T33), .(black, X103)) → U31_ga(T33, X103, varmatc16_in_ga(T33, X103))
varmatc16_in_ga(.(white, T36), .(w(X119), X120)) → U32_ga(T36, X119, X120, varmatc16_in_ga(T36, X120))
U32_ga(T36, X119, X120, varmatc16_out_ga(T36, X120)) → varmatc16_out_ga(.(white, T36), .(w(X119), X120))
U31_ga(T33, X103, varmatc16_out_ga(T33, X103)) → varmatc16_out_ga(.(black, T33), .(black, X103))
U29_ga(T26, T27, T28, X84, varmatc16_out_ga(T26, T28)) → U30_ga(T26, T27, T28, X84, varmatc16_in_ga(T27, X84))
U30_ga(T26, T27, T28, X84, varmatc16_out_ga(T27, X84)) → varmatc16_out_ga(.(T26, T27), .(T28, X84))
unif_pairsc51_in_gg(w(T140), .(w(T140), T141)) → U44_gg(T140, T141, unif_pairsc60_in_g(T141))
unif_pairsc60_in_g([]) → unif_pairsc60_out_g([])
unif_pairsc60_in_g(.(w(T158), .(w(T158), T159))) → U36_g(T158, T159, unif_pairsc60_in_g(T159))
unif_pairsc60_in_g(.(black, .(black, T160))) → U37_g(T160, unif_pairsc60_in_g(T160))
unif_pairsc60_in_g(.(black, .(w(T165), T166))) → U38_g(T165, T166, unif_pairsc60_in_g(T166))
unif_pairsc60_in_g(.(w(T169), .(black, T170))) → U39_g(T169, T170, unif_pairsc60_in_g(T170))
U39_g(T169, T170, unif_pairsc60_out_g(T170)) → unif_pairsc60_out_g(.(w(T169), .(black, T170)))
U38_g(T165, T166, unif_pairsc60_out_g(T166)) → unif_pairsc60_out_g(.(black, .(w(T165), T166)))
U37_g(T160, unif_pairsc60_out_g(T160)) → unif_pairsc60_out_g(.(black, .(black, T160)))
U36_g(T158, T159, unif_pairsc60_out_g(T159)) → unif_pairsc60_out_g(.(w(T158), .(w(T158), T159)))
U44_gg(T140, T141, unif_pairsc60_out_g(T141)) → unif_pairsc51_out_gg(w(T140), .(w(T140), T141))
unif_pairsc51_in_gg(black, .(black, T171)) → U45_gg(T171, unif_pairsc60_in_g(T171))
U45_gg(T171, unif_pairsc60_out_g(T171)) → unif_pairsc51_out_gg(black, .(black, T171))
unif_pairsc51_in_gg(black, .(w(T176), T177)) → U46_gg(T176, T177, unif_pairsc60_in_g(T177))
U46_gg(T176, T177, unif_pairsc60_out_g(T177)) → unif_pairsc51_out_gg(black, .(w(T176), T177))
unif_pairsc51_in_gg(w(T180), .(black, T181)) → U47_gg(T180, T181, unif_pairsc60_in_g(T181))
U47_gg(T180, T181, unif_pairsc60_out_g(T181)) → unif_pairsc51_out_gg(w(T180), .(black, T181))
unif_linesc43_in_gg(.(T103, .(T104, T107)), .(T105, .(T106, T108))) → U35_gg(T103, T104, T107, T105, T106, T108, qc50_in_gggggg(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108))
qc50_in_gggggg(T103, T113, T117, T118, T119, T120) → U42_gggggg(T103, T113, T117, T118, T119, T120, unif_pairsc51_in_gg(T103, T113))
U42_gggggg(T103, T113, T117, T118, T119, T120, unif_pairsc51_out_gg(T103, T113)) → U43_gggggg(T103, T113, T117, T118, T119, T120, unif_linesc43_in_gg(.(T117, T118), .(T119, T120)))
unif_linesc43_in_gg(.(T192, []), .(T193, [])) → unif_linesc43_out_gg(.(T192, []), .(T193, []))
U43_gggggg(T103, T113, T117, T118, T119, T120, unif_linesc43_out_gg(.(T117, T118), .(T119, T120))) → qc50_out_gggggg(T103, T113, T117, T118, T119, T120)
U35_gg(T103, T104, T107, T105, T106, T108, qc50_out_gggggg(T103, .(T104, .(T105, .(T106, .(T103, .(T105, .(T104, .(T106, .(T103, .(T106, .(T104, .(T105, []))))))))))), T104, T107, T106, T108)) → unif_linesc43_out_gg(.(T103, .(T104, T107)), .(T105, .(T106, T108)))

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
varmatc16_in_ga(x1, x2)  =  varmatc16_in_ga(x1)
[]  =  []
varmatc16_out_ga(x1, x2)  =  varmatc16_out_ga(x1, x2)
U29_ga(x1, x2, x3, x4, x5)  =  U29_ga(x1, x2, x5)
black  =  black
U31_ga(x1, x2, x3)  =  U31_ga(x1, x3)
white  =  white
U32_ga(x1, x2, x3, x4)  =  U32_ga(x1, x4)
w(x1)  =  w
U30_ga(x1, x2, x3, x4, x5)  =  U30_ga(x1, x2, x3, x5)
unif_pairsc51_in_gg(x1, x2)  =  unif_pairsc51_in_gg(x1, x2)
U44_gg(x1, x2, x3)  =  U44_gg(x2, x3)
unif_pairsc60_in_g(x1)  =  unif_pairsc60_in_g(x1)
unif_pairsc60_out_g(x1)  =  unif_pairsc60_out_g(x1)
U36_g(x1, x2, x3)  =  U36_g(x2, x3)
U37_g(x1, x2)  =  U37_g(x1, x2)
U38_g(x1, x2, x3)  =  U38_g(x2, x3)
U39_g(x1, x2, x3)  =  U39_g(x2, x3)
unif_pairsc51_out_gg(x1, x2)  =  unif_pairsc51_out_gg(x1, x2)
U45_gg(x1, x2)  =  U45_gg(x1, x2)
U46_gg(x1, x2, x3)  =  U46_gg(x2, x3)
U47_gg(x1, x2, x3)  =  U47_gg(x2, x3)
unif_linesc43_in_gg(x1, x2)  =  unif_linesc43_in_gg(x1, x2)
U35_gg(x1, x2, x3, x4, x5, x6, x7)  =  U35_gg(x1, x2, x3, x4, x5, x6, x7)
qc50_in_gggggg(x1, x2, x3, x4, x5, x6)  =  qc50_in_gggggg(x1, x2, x3, x4, x5, x6)
U42_gggggg(x1, x2, x3, x4, x5, x6, x7)  =  U42_gggggg(x1, x2, x3, x4, x5, x6, x7)
U43_gggggg(x1, x2, x3, x4, x5, x6, x7)  =  U43_gggggg(x1, x2, x3, x4, x5, x6, x7)
unif_linesc43_out_gg(x1, x2)  =  unif_linesc43_out_gg(x1, x2)
qc50_out_gggggg(x1, x2, x3, x4, x5, x6)  =  qc50_out_gggggg(x1, x2, x3, x4, x5, x6)
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

(31) UsableRulesProof (EQUIVALENT transformation)

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

(32) 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, varmatc16_in_ga(T26, T28))
U2_GA(T26, T27, T28, X84, varmatc16_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:

varmatc16_in_ga([], []) → varmatc16_out_ga([], [])
varmatc16_in_ga(.(T26, T27), .(T28, X84)) → U29_ga(T26, T27, T28, X84, varmatc16_in_ga(T26, T28))
varmatc16_in_ga(.(black, T33), .(black, X103)) → U31_ga(T33, X103, varmatc16_in_ga(T33, X103))
varmatc16_in_ga(.(white, T36), .(w(X119), X120)) → U32_ga(T36, X119, X120, varmatc16_in_ga(T36, X120))
U29_ga(T26, T27, T28, X84, varmatc16_out_ga(T26, T28)) → U30_ga(T26, T27, T28, X84, varmatc16_in_ga(T27, X84))
U31_ga(T33, X103, varmatc16_out_ga(T33, X103)) → varmatc16_out_ga(.(black, T33), .(black, X103))
U32_ga(T36, X119, X120, varmatc16_out_ga(T36, X120)) → varmatc16_out_ga(.(white, T36), .(w(X119), X120))
U30_ga(T26, T27, T28, X84, varmatc16_out_ga(T27, X84)) → varmatc16_out_ga(.(T26, T27), .(T28, X84))

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
varmatc16_in_ga(x1, x2)  =  varmatc16_in_ga(x1)
[]  =  []
varmatc16_out_ga(x1, x2)  =  varmatc16_out_ga(x1, x2)
U29_ga(x1, x2, x3, x4, x5)  =  U29_ga(x1, x2, x5)
black  =  black
U31_ga(x1, x2, x3)  =  U31_ga(x1, x3)
white  =  white
U32_ga(x1, x2, x3, x4)  =  U32_ga(x1, x4)
w(x1)  =  w
U30_ga(x1, x2, x3, x4, x5)  =  U30_ga(x1, x2, x3, 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

(33) PiDPToQDPProof (SOUND transformation)

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

(34) Obligation:

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

VARMAT16_IN_GA(.(T26, T27)) → U2_GA(T26, T27, varmatc16_in_ga(T26))
U2_GA(T26, T27, varmatc16_out_ga(T26, T28)) → 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:

varmatc16_in_ga([]) → varmatc16_out_ga([], [])
varmatc16_in_ga(.(T26, T27)) → U29_ga(T26, T27, varmatc16_in_ga(T26))
varmatc16_in_ga(.(black, T33)) → U31_ga(T33, varmatc16_in_ga(T33))
varmatc16_in_ga(.(white, T36)) → U32_ga(T36, varmatc16_in_ga(T36))
U29_ga(T26, T27, varmatc16_out_ga(T26, T28)) → U30_ga(T26, T27, T28, varmatc16_in_ga(T27))
U31_ga(T33, varmatc16_out_ga(T33, X103)) → varmatc16_out_ga(.(black, T33), .(black, X103))
U32_ga(T36, varmatc16_out_ga(T36, X120)) → varmatc16_out_ga(.(white, T36), .(w, X120))
U30_ga(T26, T27, T28, varmatc16_out_ga(T27, X84)) → varmatc16_out_ga(.(T26, T27), .(T28, X84))

The set Q consists of the following terms:

varmatc16_in_ga(x0)
U29_ga(x0, x1, x2)
U31_ga(x0, x1)
U32_ga(x0, x1)
U30_ga(x0, x1, x2, x3)

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

(35) 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, varmatc16_out_ga(T26, T28)) → VARMAT16_IN_GA(T27)
    The graph contains the following edges 2 >= 1

  • VARMAT16_IN_GA(.(T26, T27)) → U2_GA(T26, T27, varmatc16_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

(36) YES