0213_0321_1320_2103_3021
Counting sequence:
1, 1, 2, 6, 19, 55, 143, 343, 784, 1756, 3935, 8936, 20675, 48726, 116597, 282134, 687827, 1684841, 4138821, 10183874, 25081564, 61804396, 152336722, 375537929, 925841112, 2282634543, 5627883745, 13875808461, 34211624566, 84350993091, 207973137665, 512772294898, 1264276275774, 3117162811633, 7685586482282, 18949360382707, 46720997187311, 115193945857638, 284018878152214, 700268774320004, 1726562543448206, 4256962935915664, 10495845348547920, 25878254344013738, 63804679439996178, 157314982084359427, 387871294168150324, 956324304569283526, 2357885693687775039, 5813535134407255086, 14333684982895907421, 35340721340608362837, 87135065851173115231, 214837711650335536265, 529697681367298534208, 1306007364771032364193, 3220054187198639619017, 7939272969041288117581, 19574843034485046935420, 48263169854329661057022, 118996283152017268497773, 293393812439875903621731, 723383343562406248759953, 1783553161506297275460767, 4397477365532785561352546, 10842293685286874606198424, 26732447398002462435552105, 65910753262173833385695840, 162507657114543645173277437, 400674204341312801060135842, 987890791579054478519232343, 2435715115953284844283158510, 6005429118941805387702988677, 14806813270737960764938943781, 36507252836102670654074308127, 90011232347546294954694334698, 221929105021885708843204274086, 547182016858119372561548713960, 1349116239365687830894235508212, 3326342188237811587298788882993, 8201333606697165312408600233530, 20220972203696666805823137568651, 49856247346014275423145888622907, 122924129185665263600693638472885, 303078196623679677704514492775424, 747260882604435219084027411975279, 1842424934856338278615618064793635, 4542629916274216052155878640858490, 11200177638628478472797506436406608, 27614835777711848466257486694404957, 68086344666527649657510050474417844, 167871732693436791717145287688574123, 413899714774244463979803358416464665, 1020499229629376846306017146594497602, 2516113542726595440476487657306733576, 6203657167082230922315274971446142924, 15295558643584077025796713038973523904, 37712289367104939813039940270519395420, 92982335751746066890122020801480748346, 229254572102211799572678520970175341874, 565243477751431683279223800684780810460
Generating function in Maple syntax:
-(2*x^9+x^8-27*x^7+76*x^6-120*x^5+122*x^4-83*x^3+36*x^2-9*x+1)/(3*x^3-5*x^2+4*x-1)/(x-1)^6
Generating function in latex syntax:
-\frac{2 x^{9}+x^{8}-27 x^{7}+76 x^{6}-120 x^{5}+122 x^{4}-83 x^{3}+36 x^{2}-9 x +1}{\left(3 x^{3}-5 x^{2}+4 x -1\right) \left(x -1\right)^{6}}
Generating function in sympy syntax:
(-2*x**9 - x**8 + 27*x**7 - 76*x**6 + 120*x**5 - 122*x**4 + 83*x**3 - 36*x**2 + 9*x - 1)/((x - 1)**6*(3*x**3 - 5*x**2 + 4*x - 1))
Implicit equation for the generating function in Maple syntax:
(3*x^3-5*x^2+4*x-1)*(x-1)^6*F(x)+2*x^9+x^8-27*x^7+76*x^6-120*x^5+122*x^4-83*x^3+36*x^2-9*x+1 = 0
Implicit equation for the generating function in latex syntax:
\left(3 x^{3}-5 x^{2}+4 x -1\right) \left(x -1\right)^{6} F \! \left(x \right)+2 x^{9}+x^{8}-27 x^{7}+76 x^{6}-120 x^{5}+122 x^{4}-83 x^{3}+36 x^{2}-9 x +1 = 0
Explicit closed form in Maple syntax:
piecewise(n = 0,1,1/1350360*(-2945*((-51/589*31^(1/2)+I)*3^(1/2)-153/589*I*31^(1/2)+1)*2^(1/3)*(47+9*31^(1/2)*3^(1/2))^(2/3)+300080+3410*((-6/31*31^(1/2)+I)*3^(1/2)+18/31*I*31^(1/2)-1)*2^(2/3)*(47+9*31^(1/2)*3^(1/2))^(1/3))*(47/8712*((I-9/47*31^(1/2))*3^(1/2)-27/47*I*31^(1/2)+1)*2^(1/3)*(47+9*31^(1/2)*3^(1/2))^(2/3)-1/36*I*3^(1/2)*(188+36*31^(1/2)*3^(1/2))^(1/3)+1/36*(188+36*31^(1/2)*3^(1/2))^(1/3)+5/9)^(-n)+1/1350360*(-3410*((6/31*31^(1/2)+I)*3^(1/2)+18/31*I*31^(1/2)+1)*2^(2/3)*(47+9*31^(1/2)*3^(1/2))^(1/3)+300080+2945*((51/589*31^(1/2)+I)*3^(1/2)-153/589*I*31^(1/2)-1)*2^(1/3)*(47+9*31^(1/2)*3^(1/2))^(2/3))*(-47/8712*((I+9/47*31^(1/2))*3^(1/2)-27/47*I*31^(1/2)-1)*2^(1/3)*(47+9*31^(1/2)*3^(1/2))^(2/3)+1/36*I*3^(1/2)*(188+36*31^(1/2)*3^(1/2))^(1/3)+1/36*(188+36*31^(1/2)*3^(1/2))^(1/3)+5/9)^(-n)+1/1350360*((1320*3^(1/2)*2^(2/3)*31^(1/2)+6820*2^(2/3))*(47+9*31^(1/2)*3^(1/2))^(1/3)+300080+(-510*31^(1/2)*3^(1/2)*2^(1/3)+5890*2^(1/3))*(47+9*31^(1/2)*3^(1/2))^(2/3))*(1/4356*2^(1/3)*(9*31^(1/2)*3^(1/2)-47)*(47+9*31^(1/2)*3^(1/2))^(2/3)-1/18*(188+36*31^(1/2)*3^(1/2))^(1/3)+5/9)^(-n)+1/120*(n-1)*(n-2)*(n^3+8*n^2-33*n+60))
Explicit closed form in latex syntax:
\left\{\begin{array}{cc}1 & n =0 \\ \frac{\left(-2945 \left(\left(-\frac{51 \sqrt{31}}{589}+\mathrm{I}\right) \sqrt{3}-\frac{153 \,\mathrm{I} \sqrt{31}}{589}+1\right) 2^{\frac{1}{3}} \left(47+9 \sqrt{31}\, \sqrt{3}\right)^{\frac{2}{3}}+300080+3410 \left(\left(-\frac{6 \sqrt{31}}{31}+\mathrm{I}\right) \sqrt{3}+\frac{18 \,\mathrm{I} \sqrt{31}}{31}-1\right) 2^{\frac{2}{3}} \left(47+9 \sqrt{31}\, \sqrt{3}\right)^{\frac{1}{3}}\right) \left(\frac{47 \left(\left(\mathrm{I}-\frac{9 \sqrt{31}}{47}\right) \sqrt{3}-\frac{27 \,\mathrm{I} \sqrt{31}}{47}+1\right) 2^{\frac{1}{3}} \left(47+9 \sqrt{31}\, \sqrt{3}\right)^{\frac{2}{3}}}{8712}-\frac{\mathrm{I} \sqrt{3}\, \left(188+36 \sqrt{31}\, \sqrt{3}\right)^{\frac{1}{3}}}{36}+\frac{\left(188+36 \sqrt{31}\, \sqrt{3}\right)^{\frac{1}{3}}}{36}+\frac{5}{9}\right)^{-n}}{1350360}\\+\\\frac{\left(-3410 \left(\left(\frac{6 \sqrt{31}}{31}+\mathrm{I}\right) \sqrt{3}+\frac{18 \,\mathrm{I} \sqrt{31}}{31}+1\right) 2^{\frac{2}{3}} \left(47+9 \sqrt{31}\, \sqrt{3}\right)^{\frac{1}{3}}+300080+2945 \left(\left(\frac{51 \sqrt{31}}{589}+\mathrm{I}\right) \sqrt{3}-\frac{153 \,\mathrm{I} \sqrt{31}}{589}-1\right) 2^{\frac{1}{3}} \left(47+9 \sqrt{31}\, \sqrt{3}\right)^{\frac{2}{3}}\right) \left(-\frac{47 \left(\left(\mathrm{I}+\frac{9 \sqrt{31}}{47}\right) \sqrt{3}-\frac{27 \,\mathrm{I} \sqrt{31}}{47}-1\right) 2^{\frac{1}{3}} \left(47+9 \sqrt{31}\, \sqrt{3}\right)^{\frac{2}{3}}}{8712}+\frac{\mathrm{I} \sqrt{3}\, \left(188+36 \sqrt{31}\, \sqrt{3}\right)^{\frac{1}{3}}}{36}+\frac{\left(188+36 \sqrt{31}\, \sqrt{3}\right)^{\frac{1}{3}}}{36}+\frac{5}{9}\right)^{-n}}{1350360}\\+\\\frac{\left(\left(1320 \sqrt{3}\, 2^{\frac{2}{3}} \sqrt{31}+6820 \,2^{\frac{2}{3}}\right) \left(47+9 \sqrt{31}\, \sqrt{3}\right)^{\frac{1}{3}}+300080+\left(-510 \sqrt{31}\, \sqrt{3}\, 2^{\frac{1}{3}}+5890 \,2^{\frac{1}{3}}\right) \left(47+9 \sqrt{31}\, \sqrt{3}\right)^{\frac{2}{3}}\right) \left(\frac{2^{\frac{1}{3}} \left(9 \sqrt{31}\, \sqrt{3}-47\right) \left(47+9 \sqrt{31}\, \sqrt{3}\right)^{\frac{2}{3}}}{4356}-\frac{\left(188+36 \sqrt{31}\, \sqrt{3}\right)^{\frac{1}{3}}}{18}+\frac{5}{9}\right)^{-n}}{1350360}\\+\frac{\left(n -1\right) \left(n -2\right) \left(n^{3}+8 n^{2}-33 n +60\right)}{120} & \mathit{\text{otherwise}} \end{array}\right.
Recurrence in maple format:
a(0) = 1
a(1) = 1
a(2) = 2
a(3) = 6
a(4) = 19
a(5) = 55
a(6) = 143
a(7) = 343
a(8) = 784
a(9) = 1756
a(n+3) = 3*a(n)-5*a(n+1)+4*a(n+2)-1/120*(n-3)*(n^4+8*n^3-11*n^2+202*n-80), n >= 10
Recurrence in latex format:
a \! \left(0\right) = 1
a \! \left(1\right) = 1
a \! \left(2\right) = 2
a \! \left(3\right) = 6
a \! \left(4\right) = 19
a \! \left(5\right) = 55
a \! \left(6\right) = 143
a \! \left(7\right) = 343
a \! \left(8\right) = 784
a \! \left(9\right) = 1756
a \! \left(n +3\right) = 3 a \! \left(n \right)-5 a \! \left(n +1\right)+4 a \! \left(n +2\right)-\frac{\left(n -3\right) \left(n^{4}+8 n^{3}-11 n^{2}+202 n -80\right)}{120}, \quad n \geq 10
Specification 1
Strategy pack name: point_placements
Tree: http://www.permpal.com/tree/20550/
System of equations in Maple syntax:
F[0,x] = F[1,x]+F[2,x]
F[1,x] = 1
F[2,x] = F[3,x]
F[3,x] = F[4,x]*F[5,x]
F[4,x] = x
F[5,x] = F[17,x]+F[6,x]
F[6,x] = F[1,x]+F[7,x]
F[7,x] = F[8,x]
F[8,x] = F[4,x]*F[9,x]
F[9,x] = F[10,x]+F[6,x]
F[10,x] = F[11,x]+F[14,x]
F[11,x] = F[12,x]
F[12,x] = F[13,x]*F[4,x]
F[13,x] = F[1,x]+F[11,x]
F[14,x] = F[15,x]
F[15,x] = F[16,x]*F[4,x]
F[16,x] = F[10,x]
F[17,x] = F[18,x]+F[36,x]
F[18,x] = F[19,x]
F[19,x] = F[20,x]*F[4,x]
F[20,x] = F[13,x]+F[21,x]
F[21,x] = F[18,x]+F[22,x]
F[22,x] = F[23,x]+F[24,x]+F[35,x]
F[23,x] = 0
F[24,x] = F[25,x]*F[4,x]
F[25,x] = F[26,x]+F[29,x]
F[26,x] = F[11,x]+F[27,x]
F[27,x] = F[28,x]
F[28,x] = F[26,x]*F[4,x]
F[29,x] = F[30,x]+F[33,x]
F[30,x] = F[31,x]
F[31,x] = F[32,x]*F[4,x]
F[32,x] = F[18,x]+F[30,x]
F[33,x] = F[34,x]
F[34,x] = F[29,x]*F[4,x]
F[35,x] = F[21,x]*F[4,x]
F[36,x] = F[23,x]+F[37,x]+F[64,x]
F[37,x] = F[38,x]*F[4,x]
F[38,x] = F[39,x]+F[48,x]
F[39,x] = F[40,x]+F[7,x]
F[40,x] = F[23,x]+F[41,x]+F[42,x]
F[41,x] = F[39,x]*F[4,x]
F[42,x] = F[4,x]*F[43,x]
F[43,x] = F[10,x]+F[44,x]
F[44,x] = F[27,x]+F[45,x]
F[45,x] = F[46,x]
F[46,x] = F[4,x]*F[47,x]
F[47,x] = F[44,x]
F[48,x] = F[49,x]+F[53,x]
F[49,x] = F[50,x]
F[50,x] = F[4,x]*F[51,x]
F[51,x] = F[52,x]
F[52,x] = F[18,x]+F[49,x]
F[53,x] = 2*F[23,x]+F[54,x]+F[55,x]
F[54,x] = F[4,x]*F[48,x]
F[55,x] = F[4,x]*F[56,x]
F[56,x] = F[57,x]
F[57,x] = F[58,x]+F[61,x]
F[58,x] = F[59,x]
F[59,x] = F[4,x]*F[60,x]
F[60,x] = F[26,x]
F[61,x] = F[62,x]
F[62,x] = F[4,x]*F[63,x]
F[63,x] = F[57,x]
F[64,x] = F[4,x]*F[65,x]
F[65,x] = F[17,x]+F[66,x]
F[66,x] = F[58,x]+F[67,x]
F[67,x] = 2*F[23,x]+F[68,x]+F[75,x]
F[68,x] = F[4,x]*F[69,x]
F[69,x] = F[70,x]
F[70,x] = F[14,x]+F[71,x]
F[71,x] = 2*F[23,x]+F[72,x]+F[73,x]
F[72,x] = F[4,x]*F[70,x]
F[73,x] = F[4,x]*F[74,x]
F[74,x] = F[44,x]
F[75,x] = F[4,x]*F[76,x]
F[76,x] = F[66,x]
System of equations in latex syntax:
F_{0}\! \left(x \right) = F_{1}\! \left(x \right)+F_{2}\! \left(x \right)
F_{1}\! \left(x \right) = 1
F_{2}\! \left(x \right) = F_{3}\! \left(x \right)
F_{3}\! \left(x \right) = F_{4}\! \left(x \right) F_{5}\! \left(x \right)
F_{4}\! \left(x \right) = x
F_{5}\! \left(x \right) = F_{17}\! \left(x \right)+F_{6}\! \left(x \right)
F_{6}\! \left(x \right) = F_{1}\! \left(x \right)+F_{7}\! \left(x \right)
F_{7}\! \left(x \right) = F_{8}\! \left(x \right)
F_{8}\! \left(x \right) = F_{4}\! \left(x \right) F_{9}\! \left(x \right)
F_{9}\! \left(x \right) = F_{10}\! \left(x \right)+F_{6}\! \left(x \right)
F_{10}\! \left(x \right) = F_{11}\! \left(x \right)+F_{14}\! \left(x \right)
F_{11}\! \left(x \right) = F_{12}\! \left(x \right)
F_{12}\! \left(x \right) = F_{13}\! \left(x \right) F_{4}\! \left(x \right)
F_{13}\! \left(x \right) = F_{1}\! \left(x \right)+F_{11}\! \left(x \right)
F_{14}\! \left(x \right) = F_{15}\! \left(x \right)
F_{15}\! \left(x \right) = F_{16}\! \left(x \right) F_{4}\! \left(x \right)
F_{16}\! \left(x \right) = F_{10}\! \left(x \right)
F_{17}\! \left(x \right) = F_{18}\! \left(x \right)+F_{36}\! \left(x \right)
F_{18}\! \left(x \right) = F_{19}\! \left(x \right)
F_{19}\! \left(x \right) = F_{20}\! \left(x \right) F_{4}\! \left(x \right)
F_{20}\! \left(x \right) = F_{13}\! \left(x \right)+F_{21}\! \left(x \right)
F_{21}\! \left(x \right) = F_{18}\! \left(x \right)+F_{22}\! \left(x \right)
F_{22}\! \left(x \right) = F_{23}\! \left(x \right)+F_{24}\! \left(x \right)+F_{35}\! \left(x \right)
F_{23}\! \left(x \right) = 0
F_{24}\! \left(x \right) = F_{25}\! \left(x \right) F_{4}\! \left(x \right)
F_{25}\! \left(x \right) = F_{26}\! \left(x \right)+F_{29}\! \left(x \right)
F_{26}\! \left(x \right) = F_{11}\! \left(x \right)+F_{27}\! \left(x \right)
F_{27}\! \left(x \right) = F_{28}\! \left(x \right)
F_{28}\! \left(x \right) = F_{26}\! \left(x \right) F_{4}\! \left(x \right)
F_{29}\! \left(x \right) = F_{30}\! \left(x \right)+F_{33}\! \left(x \right)
F_{30}\! \left(x \right) = F_{31}\! \left(x \right)
F_{31}\! \left(x \right) = F_{32}\! \left(x \right) F_{4}\! \left(x \right)
F_{32}\! \left(x \right) = F_{18}\! \left(x \right)+F_{30}\! \left(x \right)
F_{33}\! \left(x \right) = F_{34}\! \left(x \right)
F_{34}\! \left(x \right) = F_{29}\! \left(x \right) F_{4}\! \left(x \right)
F_{35}\! \left(x \right) = F_{21}\! \left(x \right) F_{4}\! \left(x \right)
F_{36}\! \left(x \right) = F_{23}\! \left(x \right)+F_{37}\! \left(x \right)+F_{64}\! \left(x \right)
F_{37}\! \left(x \right) = F_{38}\! \left(x \right) F_{4}\! \left(x \right)
F_{38}\! \left(x \right) = F_{39}\! \left(x \right)+F_{48}\! \left(x \right)
F_{39}\! \left(x \right) = F_{40}\! \left(x \right)+F_{7}\! \left(x \right)
F_{40}\! \left(x \right) = F_{23}\! \left(x \right)+F_{41}\! \left(x \right)+F_{42}\! \left(x \right)
F_{41}\! \left(x \right) = F_{39}\! \left(x \right) F_{4}\! \left(x \right)
F_{42}\! \left(x \right) = F_{4}\! \left(x \right) F_{43}\! \left(x \right)
F_{43}\! \left(x \right) = F_{10}\! \left(x \right)+F_{44}\! \left(x \right)
F_{44}\! \left(x \right) = F_{27}\! \left(x \right)+F_{45}\! \left(x \right)
F_{45}\! \left(x \right) = F_{46}\! \left(x \right)
F_{46}\! \left(x \right) = F_{4}\! \left(x \right) F_{47}\! \left(x \right)
F_{47}\! \left(x \right) = F_{44}\! \left(x \right)
F_{48}\! \left(x \right) = F_{49}\! \left(x \right)+F_{53}\! \left(x \right)
F_{49}\! \left(x \right) = F_{50}\! \left(x \right)
F_{50}\! \left(x \right) = F_{4}\! \left(x \right) F_{51}\! \left(x \right)
F_{51}\! \left(x \right) = F_{52}\! \left(x \right)
F_{52}\! \left(x \right) = F_{18}\! \left(x \right)+F_{49}\! \left(x \right)
F_{53}\! \left(x \right) = 2 F_{23}\! \left(x \right)+F_{54}\! \left(x \right)+F_{55}\! \left(x \right)
F_{54}\! \left(x \right) = F_{4}\! \left(x \right) F_{48}\! \left(x \right)
F_{55}\! \left(x \right) = F_{4}\! \left(x \right) F_{56}\! \left(x \right)
F_{56}\! \left(x \right) = F_{57}\! \left(x \right)
F_{57}\! \left(x \right) = F_{58}\! \left(x \right)+F_{61}\! \left(x \right)
F_{58}\! \left(x \right) = F_{59}\! \left(x \right)
F_{59}\! \left(x \right) = F_{4}\! \left(x \right) F_{60}\! \left(x \right)
F_{60}\! \left(x \right) = F_{26}\! \left(x \right)
F_{61}\! \left(x \right) = F_{62}\! \left(x \right)
F_{62}\! \left(x \right) = F_{4}\! \left(x \right) F_{63}\! \left(x \right)
F_{63}\! \left(x \right) = F_{57}\! \left(x \right)
F_{64}\! \left(x \right) = F_{4}\! \left(x \right) F_{65}\! \left(x \right)
F_{65}\! \left(x \right) = F_{17}\! \left(x \right)+F_{66}\! \left(x \right)
F_{66}\! \left(x \right) = F_{58}\! \left(x \right)+F_{67}\! \left(x \right)
F_{67}\! \left(x \right) = 2 F_{23}\! \left(x \right)+F_{68}\! \left(x \right)+F_{75}\! \left(x \right)
F_{68}\! \left(x \right) = F_{4}\! \left(x \right) F_{69}\! \left(x \right)
F_{69}\! \left(x \right) = F_{70}\! \left(x \right)
F_{70}\! \left(x \right) = F_{14}\! \left(x \right)+F_{71}\! \left(x \right)
F_{71}\! \left(x \right) = 2 F_{23}\! \left(x \right)+F_{72}\! \left(x \right)+F_{73}\! \left(x \right)
F_{72}\! \left(x \right) = F_{4}\! \left(x \right) F_{70}\! \left(x \right)
F_{73}\! \left(x \right) = F_{4}\! \left(x \right) F_{74}\! \left(x \right)
F_{74}\! \left(x \right) = F_{44}\! \left(x \right)
F_{75}\! \left(x \right) = F_{4}\! \left(x \right) F_{76}\! \left(x \right)
F_{76}\! \left(x \right) = F_{66}\! \left(x \right)
System of equations in sympy syntax:
Eq(F_0(x), F_1(x) + F_2(x))
Eq(F_1(x), 1)
Eq(F_2(x), F_3(x))
Eq(F_3(x), F_4(x)*F_5(x))
Eq(F_4(x), x)
Eq(F_5(x), F_17(x) + F_6(x))
Eq(F_6(x), F_1(x) + F_7(x))
Eq(F_7(x), F_8(x))
Eq(F_8(x), F_4(x)*F_9(x))
Eq(F_9(x), F_10(x) + F_6(x))
Eq(F_10(x), F_11(x) + F_14(x))
Eq(F_11(x), F_12(x))
Eq(F_12(x), F_13(x)*F_4(x))
Eq(F_13(x), F_1(x) + F_11(x))
Eq(F_14(x), F_15(x))
Eq(F_15(x), F_16(x)*F_4(x))
Eq(F_16(x), F_10(x))
Eq(F_17(x), F_18(x) + F_36(x))
Eq(F_18(x), F_19(x))
Eq(F_19(x), F_20(x)*F_4(x))
Eq(F_20(x), F_13(x) + F_21(x))
Eq(F_21(x), F_18(x) + F_22(x))
Eq(F_22(x), F_23(x) + F_24(x) + F_35(x))
Eq(F_23(x), 0)
Eq(F_24(x), F_25(x)*F_4(x))
Eq(F_25(x), F_26(x) + F_29(x))
Eq(F_26(x), F_11(x) + F_27(x))
Eq(F_27(x), F_28(x))
Eq(F_28(x), F_26(x)*F_4(x))
Eq(F_29(x), F_30(x) + F_33(x))
Eq(F_30(x), F_31(x))
Eq(F_31(x), F_32(x)*F_4(x))
Eq(F_32(x), F_18(x) + F_30(x))
Eq(F_33(x), F_34(x))
Eq(F_34(x), F_29(x)*F_4(x))
Eq(F_35(x), F_21(x)*F_4(x))
Eq(F_36(x), F_23(x) + F_37(x) + F_64(x))
Eq(F_37(x), F_38(x)*F_4(x))
Eq(F_38(x), F_39(x) + F_48(x))
Eq(F_39(x), F_40(x) + F_7(x))
Eq(F_40(x), F_23(x) + F_41(x) + F_42(x))
Eq(F_41(x), F_39(x)*F_4(x))
Eq(F_42(x), F_4(x)*F_43(x))
Eq(F_43(x), F_10(x) + F_44(x))
Eq(F_44(x), F_27(x) + F_45(x))
Eq(F_45(x), F_46(x))
Eq(F_46(x), F_4(x)*F_47(x))
Eq(F_47(x), F_44(x))
Eq(F_48(x), F_49(x) + F_53(x))
Eq(F_49(x), F_50(x))
Eq(F_50(x), F_4(x)*F_51(x))
Eq(F_51(x), F_52(x))
Eq(F_52(x), F_18(x) + F_49(x))
Eq(F_53(x), 2*F_23(x) + F_54(x) + F_55(x))
Eq(F_54(x), F_4(x)*F_48(x))
Eq(F_55(x), F_4(x)*F_56(x))
Eq(F_56(x), F_57(x))
Eq(F_57(x), F_58(x) + F_61(x))
Eq(F_58(x), F_59(x))
Eq(F_59(x), F_4(x)*F_60(x))
Eq(F_60(x), F_26(x))
Eq(F_61(x), F_62(x))
Eq(F_62(x), F_4(x)*F_63(x))
Eq(F_63(x), F_57(x))
Eq(F_64(x), F_4(x)*F_65(x))
Eq(F_65(x), F_17(x) + F_66(x))
Eq(F_66(x), F_58(x) + F_67(x))
Eq(F_67(x), 2*F_23(x) + F_68(x) + F_75(x))
Eq(F_68(x), F_4(x)*F_69(x))
Eq(F_69(x), F_70(x))
Eq(F_70(x), F_14(x) + F_71(x))
Eq(F_71(x), 2*F_23(x) + F_72(x) + F_73(x))
Eq(F_72(x), F_4(x)*F_70(x))
Eq(F_73(x), F_4(x)*F_74(x))
Eq(F_74(x), F_44(x))
Eq(F_75(x), F_4(x)*F_76(x))
Eq(F_76(x), F_66(x))
Pack JSON:
{"expansion_strats": [[{"class_module": "tilings.strategies.requirement_insertion", "extra_basis": [], "ignore_parent": false, "maxreqlen": 1, "one_cell_only": false, "strategy_class": "CellInsertionFactory"}, {"class_module": "tilings.strategies.requirement_placement", "dirs": [0, 1, 2, 3], "ignore_parent": false, "partial": false, "point_only": false, "strategy_class": "PatternPlacementFactory"}]], "inferral_strats": [{"class_module": "tilings.strategies.row_and_col_separation", "ignore_parent": true, "inferrable": true, "possibly_empty": false, "strategy_class": "RowColumnSeparationStrategy", "workable": true}, {"class_module": "tilings.strategies.obstruction_inferral", "strategy_class": "ObstructionTransitivityFactory"}], "initial_strats": [{"class_module": "tilings.strategies.factor", "ignore_parent": true, "interleaving": null, "strategy_class": "FactorFactory", "tracked": false, "unions": false, "workable": true}], "iterative": false, "name": "point_placements", "symmetries": [], "ver_strats": [{"class_module": "tilings.strategies.verification", "strategy_class": "BasicVerificationStrategy"}, {"class_module": "tilings.strategies.verification", "ignore_parent": false, "strategy_class": "InsertionEncodingVerificationStrategy"}, {"basis": [], "class_module": "tilings.strategies.verification", "ignore_parent": false, "strategy_class": "OneByOneVerificationStrategy", "symmetry": false}, {"basis": [], "class_module": "tilings.strategies.verification", "ignore_parent": false, "strategy_class": "LocallyFactorableVerificationStrategy", "symmetry": false}]}
Specification JSON:
{"root": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rules": [{"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 1], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 2], [1, 0], [1, 2]]}, {"patt": [1, 3, 2, 0], "pos": [[1, 0], [1, 2], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 1], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 1], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 1], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 1], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 2], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 2], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 1]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 3], [1, 0], [1, 3]]}, {"patt": [1, 3, 2, 0], "pos": [[1, 0], [1, 3], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 1], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 1], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 2], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 2], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 2], [0, 0], [0, 2]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 2], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 1]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 3], [1, 0], [1, 3]]}, {"patt": [1, 3, 2, 0], "pos": [[1, 0], [1, 3], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 1], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 1], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 1], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 2], [0, 0], [0, 2]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 2], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 2], [0, 0], [0, 2]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 2], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 1], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 1], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 2], [0, 0], [0, 2]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 2], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 2], [0, 0], [0, 2]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 2], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 1]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 1], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 1]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 1]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 1], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 1]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 1]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 1]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 2], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 2], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 4]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 1]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 1], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 1], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 2], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 2], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 4]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 1]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3]], [[1, 0], [1, 1], [1, 2], [1, 4]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 4]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 4], [1, 2], [1, 4]]}, {"patt": [1, 0, 2], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 2], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 3]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 3]]}], [{"patt": [0], "pos": [[1, 4]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 4]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 4]]}, {"patt": [1, 0, 2], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 1]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 4], [1, 0], [1, 4]]}, {"patt": [1, 3, 2, 0], "pos": [[1, 0], [1, 4], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 2], [0, 0], [0, 2]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 2], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [0, 1], [0, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[0, 3]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 4]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 4], [1, 2], [1, 4]]}, {"patt": [1, 0, 2], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 2], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 3]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 3]]}], [{"patt": [0], "pos": [[1, 4]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2], [1, 3], [1, 4]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 3], [0, 0], [0, 3]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 3], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 4]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 4]]}, {"patt": [1, 0, 2], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 1]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 4], [1, 0], [1, 4]]}, {"patt": [1, 3, 2, 0], "pos": [[1, 0], [1, 4], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3]], [[1, 0], [1, 1], [1, 2], [1, 4]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 4]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 1]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 4]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3]], [[1, 0], [1, 1], [1, 2], [1, 4]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 4]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 1]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3]], [[1, 0], [1, 1], [1, 2], [1, 4]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 1], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 1]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 4]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 1]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 4]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 1], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 1]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 2]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1], [1, 2], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 4]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 1]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 4]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3]], [[1, 0], [1, 1], [1, 2], [1, 4]]], "strategy_class": "FactorStrategy", "workable": true}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 2], [1, 0], [1, 2]]}, {"patt": [1, 3, 2, 0], "pos": [[1, 0], [1, 2], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 1]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 3]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 1]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [0, 1], [0, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[0, 3]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [0, 1], [0, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[0, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 2], [0, 0], [0, 2]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 2], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 3], [0, 0], [0, 3]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 3], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 3]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 3], [0, 0], [0, 3]]}, {"patt": [1, 3, 2, 0], "pos": [[0, 0], [0, 3], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 4]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 1]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 4]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 4]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 4]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 4]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 1]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 3], [0, 3]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, "rule_class": "VerificationRule", "strategy": {"class_module": "tilings.strategies.verification", "strategy_class": "BasicVerificationStrategy"}}, {"class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "VerificationRule", "strategy": {"class_module": "tilings.strategies.verification", "strategy_class": "BasicVerificationStrategy"}}, {"class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, "rule_class": "VerificationRule", "strategy": {"class_module": "comb_spec_searcher.strategies.strategy", "strategy_class": "EmptyStrategy"}}]}