0132_0213_1230_2103_3021

Counting sequence:
1, 1, 2, 6, 19, 49, 105, 210, 405, 763, 1418, 2615, 4801, 8794, 16091, 29433, 53842, 98523, 180355, 330300, 605171, 1109245, 2033964, 3730873, 6845639, 12564332, 23066053, 42354875, 77789096, 142892477, 262522493, 482372310, 886441305, 1629158103, 2994447454, 5504344299, 10118722725, 18602584470, 34201494031, 62883713421, 115624546310, 212607419991, 390950099975, 718914152384, 1322038178327, 2431201022377, 4471018450352, 8222421339597, 15121669597707, 27810301861144, 51146614056873, 94065999247183, 173002550154620, 318182212179081, 585197445290225, 1076295940053178, 1979536013660573, 3640803547570803, 6696270065988946, 12316018340491007, 22652135232025289, 41662875629749906, 76628524471484835, 140939482593722753, 259224325224638266, 476781722079988755, 876928362218172843, 1612906631632765220, 2966571770360714619, 5456334040751405205, 10035694773714424724, 18458410192335836097, 33950130945280496591, 62443737457318878852, 114851472079402162861, 211244035512456610371, 388537133564099674768, 714629224701335542037, 1314404865838190943173, 2417562279709302369278, 4446581897914804179041, 8178525626733949024591, 15042631915295682429798, 27667678134153714022643, 50888736481330250722349, 93598886030135830808526, 172155040950122884431767, 316642243265448238473813, 582395490354069315102702, 1071191674481862071907215, 1970227628121963620770415, 3623811912890700636965096, 6665226555447915954113311, 12259258556346775465503297, 22548284824524976934705880, 41472750196045448486100245, 76280261636482565896210451, 140301244976344136458694448, 258054173187728660992583121, 474635544498703018640742935, 872990743739779981536852452

Generating function in Maple syntax:
-(x^11+x^10-3*x^9-4*x^8+4*x^7+13*x^6+4*x^5-3*x^4-3*x^3-2*x^2+3*x-1)/(x-1)^2/(x^2+x-1)/(x^3+x^2+x-1)

Generating function in latex syntax:
-\frac{x^{11}+x^{10}-3 x^{9}-4 x^{8}+4 x^{7}+13 x^{6}+4 x^{5}-3 x^{4}-3 x^{3}-2 x^{2}+3 x -1}{\left(x -1\right)^{2} \left(x^{2}+x -1\right) \left(x^{3}+x^{2}+x -1\right)}

Generating function in sympy syntax:
(-x**11 - x**10 + 3*x**9 + 4*x**8 - 4*x**7 - 13*x**6 - 4*x**5 + 3*x**4 + 3*x**3 + 2*x**2 - 3*x + 1)/((x - 1)**2*(x**2 + x - 1)*(x**3 + x**2 + x - 1))

Implicit equation for the generating function in Maple syntax:
(x-1)^2*(x^2+x-1)*(x^3+x^2+x-1)*F(x)+x^11+x^10-3*x^9-4*x^8+4*x^7+13*x^6+4*x^5-3*x^4-3*x^3-2*x^2+3*x-1 = 0

Implicit equation for the generating function in latex syntax:
\left(x -1\right)^{2} \left(x^{2}+x -1\right) \left(x^{3}+x^{2}+x -1\right) F \! \left(x \right)+x^{11}+x^{10}-3 x^{9}-4 x^{8}+4 x^{7}+13 x^{6}+4 x^{5}-3 x^{4}-3 x^{3}-2 x^{2}+3 x -1 = 0

Explicit closed form in Maple syntax:
piecewise(n = 0,1,n = 1,1,n = 2,2,n = 3,6,n = 4,19,1/1320*(((715*I+115*11^(1/2))*3^(1/2)-345*I*11^(1/2)-715)*(17+3*11^(1/2)*3^(1/2))^(2/3)+1760+((385*I-95*11^(1/2))*3^(1/2)-285*I*11^(1/2)+385)*(17+3*11^(1/2)*3^(1/2))^(1/3))*(1/24*((17*I+3*11^(1/2))*3^(1/2)-9*I*11^(1/2)-17)*(17+3*11^(1/2)*3^(1/2))^(2/3)-1/6*I*3^(1/2)*(17+3*11^(1/2)*3^(1/2))^(1/3)-1/6*(17+3*11^(1/2)*3^(1/2))^(1/3)-1/3)^(-n)+1/1320*(((-715*I+115*11^(1/2))*3^(1/2)+345*I*11^(1/2)-715)*(17+3*11^(1/2)*3^(1/2))^(2/3)+1760+((-385*I-95*11^(1/2))*3^(1/2)+285*I*11^(1/2)+385)*(17+3*11^(1/2)*3^(1/2))^(1/3))*(1/24*((-17*I+3*11^(1/2))*3^(1/2)+9*I*11^(1/2)-17)*(17+3*11^(1/2)*3^(1/2))^(2/3)+1/6*I*3^(1/2)*(17+3*11^(1/2)*3^(1/2))^(1/3)-1/6*(17+3*11^(1/2)*3^(1/2))^(1/3)-1/3)^(-n)+1/1320*((-230*11^(1/2)*3^(1/2)+1430)*(17+3*11^(1/2)*3^(1/2))^(2/3)+190*(17+3*11^(1/2)*3^(1/2))^(1/3)*11^(1/2)*3^(1/2)-770*(17+3*11^(1/2)*3^(1/2))^(1/3)+1760)*(1/3*(17+3*11^(1/2)*3^(1/2))^(1/3)-1/3+17/12*(17+3*11^(1/2)*3^(1/2))^(2/3)-1/4*(17+3*11^(1/2)*3^(1/2))^(2/3)*11^(1/2)*3^(1/2))^(-n)+1/1320*(-396*5^(1/2)+660)*(-1/2*5^(1/2)-1/2)^(-n)+1/1320*(396*5^(1/2)+660)*(1/2*5^(1/2)-1/2)^(-n)-5*n-2)

Explicit closed form in latex syntax:
\left\{\begin{array}{cc}1 & n =0 \\ 1 & n =1 \\ 2 & n =2 \\ 6 & n =3 \\ 19 & n =4 \\ \frac{\left(\left(\left(715 \,\mathrm{I}+115 \sqrt{11}\right) \sqrt{3}-345 \,\mathrm{I} \sqrt{11}-715\right) \left(17+3 \sqrt{11}\, \sqrt{3}\right)^{\frac{2}{3}}+1760+\left(\left(385 \,\mathrm{I}-95 \sqrt{11}\right) \sqrt{3}-285 \,\mathrm{I} \sqrt{11}+385\right) \left(17+3 \sqrt{11}\, \sqrt{3}\right)^{\frac{1}{3}}\right) \left(\frac{\left(\left(17 \,\mathrm{I}+3 \sqrt{11}\right) \sqrt{3}-9 \,\mathrm{I} \sqrt{11}-17\right) \left(17+3 \sqrt{11}\, \sqrt{3}\right)^{\frac{2}{3}}}{24}-\frac{\mathrm{I} \sqrt{3}\, \left(17+3 \sqrt{11}\, \sqrt{3}\right)^{\frac{1}{3}}}{6}-\frac{\left(17+3 \sqrt{11}\, \sqrt{3}\right)^{\frac{1}{3}}}{6}-\frac{1}{3}\right)^{-n}}{1320}\\+\\\frac{\left(\left(\left(-715 \,\mathrm{I}+115 \sqrt{11}\right) \sqrt{3}+345 \,\mathrm{I} \sqrt{11}-715\right) \left(17+3 \sqrt{11}\, \sqrt{3}\right)^{\frac{2}{3}}+1760+\left(\left(-385 \,\mathrm{I}-95 \sqrt{11}\right) \sqrt{3}+285 \,\mathrm{I} \sqrt{11}+385\right) \left(17+3 \sqrt{11}\, \sqrt{3}\right)^{\frac{1}{3}}\right) \left(\frac{\left(\left(-17 \,\mathrm{I}+3 \sqrt{11}\right) \sqrt{3}+9 \,\mathrm{I} \sqrt{11}-17\right) \left(17+3 \sqrt{11}\, \sqrt{3}\right)^{\frac{2}{3}}}{24}+\frac{\mathrm{I} \sqrt{3}\, \left(17+3 \sqrt{11}\, \sqrt{3}\right)^{\frac{1}{3}}}{6}-\frac{\left(17+3 \sqrt{11}\, \sqrt{3}\right)^{\frac{1}{3}}}{6}-\frac{1}{3}\right)^{-n}}{1320}\\+\\\frac{\left(\left(-230 \sqrt{11}\, \sqrt{3}+1430\right) \left(17+3 \sqrt{11}\, \sqrt{3}\right)^{\frac{2}{3}}+190 \left(17+3 \sqrt{11}\, \sqrt{3}\right)^{\frac{1}{3}} \sqrt{11}\, \sqrt{3}-770 \left(17+3 \sqrt{11}\, \sqrt{3}\right)^{\frac{1}{3}}+1760\right) \left(\frac{\left(17+3 \sqrt{11}\, \sqrt{3}\right)^{\frac{1}{3}}}{3}-\frac{1}{3}+\frac{17 \left(17+3 \sqrt{11}\, \sqrt{3}\right)^{\frac{2}{3}}}{12}-\frac{\left(17+3 \sqrt{11}\, \sqrt{3}\right)^{\frac{2}{3}} \sqrt{11}\, \sqrt{3}}{4}\right)^{-n}}{1320}\\+\frac{\left(-396 \sqrt{5}+660\right) \left(-\frac{\sqrt{5}}{2}-\frac{1}{2}\right)^{-n}}{1320}+\frac{\left(396 \sqrt{5}+660\right) \left(\frac{\sqrt{5}}{2}-\frac{1}{2}\right)^{-n}}{1320}-\\5 n -2 & \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) = 49
a(6) = 105
a(7) = 210
a(8) = 405
a(9) = 763
a(10) = 1418
a(11) = 2615
a(n+5) = -a(n)-2*a(n+1)-a(n+2)+a(n+3)+2*a(n+4)-10*n+6, n >= 12

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) = 49
a \! \left(6\right) = 105
a \! \left(7\right) = 210
a \! \left(8\right) = 405
a \! \left(9\right) = 763
a \! \left(10\right) = 1418
a \! \left(11\right) = 2615
a \! \left(n +5\right) = -a \! \left(n \right)-2 a \! \left(n +1\right)-a \! \left(n +2\right)+a \! \left(n +3\right)+2 a \! \left(n +4\right)-10 n +6, \quad n \geq 12

Specification 1
Strategy pack name: point_placements
Tree: http://permpal.com/tree/18481/
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[13,x]
F[10,x] = F[1,x]+F[11,x]
F[11,x] = F[12,x]
F[12,x] = F[10,x]*F[4,x]
F[13,x] = F[14,x]+F[7,x]
F[14,x] = F[15,x]
F[15,x] = F[16,x]*F[4,x]
F[16,x] = F[7,x]
F[17,x] = F[18,x]+F[37,x]
F[18,x] = F[19,x]
F[19,x] = F[20,x]*F[4,x]
F[20,x] = F[10,x]+F[21,x]
F[21,x] = F[18,x]+F[22,x]
F[22,x] = F[23,x]+F[24,x]+F[32,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[30,x] = F[31,x]*F[4,x]
F[31,x] = F[18,x]
F[32,x] = F[33,x]*F[4,x]
F[33,x] = F[18,x]+F[34,x]
F[34,x] = F[35,x]
F[35,x] = F[36,x]*F[4,x]
F[36,x] = F[26,x]
F[37,x] = F[23,x]+F[38,x]+F[56,x]
F[38,x] = F[39,x]*F[4,x]
F[39,x] = F[40,x]+F[46,x]
F[40,x] = F[41,x]+F[7,x]
F[41,x] = F[23,x]+F[28,x]+F[42,x]
F[42,x] = F[4,x]*F[43,x]
F[43,x] = F[44,x]+F[45,x]
F[44,x] = F[11,x]
F[45,x] = F[41,x]
F[46,x] = F[47,x]+F[51,x]
F[47,x] = F[48,x]
F[48,x] = F[4,x]*F[49,x]
F[49,x] = F[31,x]+F[50,x]
F[50,x] = F[47,x]
F[51,x] = F[52,x]
F[52,x] = F[4,x]*F[53,x]
F[53,x] = F[54,x]+F[55,x]
F[54,x] = F[22,x]
F[55,x] = F[51,x]
F[56,x] = F[4,x]*F[57,x]
F[57,x] = F[33,x]+F[58,x]
F[58,x] = F[59,x]+F[63,x]
F[59,x] = F[23,x]+F[24,x]+F[60,x]
F[60,x] = F[4,x]*F[61,x]
F[61,x] = F[33,x]+F[62,x]
F[62,x] = F[59,x]
F[63,x] = F[64,x]
F[64,x] = F[4,x]*F[65,x]
F[65,x] = F[66,x]
F[66,x] = F[4,x]*F[44,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_{13}\! \left(x \right)
F_{10}\! \left(x \right) = F_{1}\! \left(x \right)+F_{11}\! \left(x \right)
F_{11}\! \left(x \right) = F_{12}\! \left(x \right)
F_{12}\! \left(x \right) = F_{10}\! \left(x \right) F_{4}\! \left(x \right)
F_{13}\! \left(x \right) = F_{14}\! \left(x \right)+F_{7}\! \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_{7}\! \left(x \right)
F_{17}\! \left(x \right) = F_{18}\! \left(x \right)+F_{37}\! \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_{10}\! \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_{32}\! \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_{30}\! \left(x \right) = F_{31}\! \left(x \right) F_{4}\! \left(x \right)
F_{31}\! \left(x \right) = F_{18}\! \left(x \right)
F_{32}\! \left(x \right) = F_{33}\! \left(x \right) F_{4}\! \left(x \right)
F_{33}\! \left(x \right) = F_{18}\! \left(x \right)+F_{34}\! \left(x \right)
F_{34}\! \left(x \right) = F_{35}\! \left(x \right)
F_{35}\! \left(x \right) = F_{36}\! \left(x \right) F_{4}\! \left(x \right)
F_{36}\! \left(x \right) = F_{26}\! \left(x \right)
F_{37}\! \left(x \right) = F_{23}\! \left(x \right)+F_{38}\! \left(x \right)+F_{56}\! \left(x \right)
F_{38}\! \left(x \right) = F_{39}\! \left(x \right) F_{4}\! \left(x \right)
F_{39}\! \left(x \right) = F_{40}\! \left(x \right)+F_{46}\! \left(x \right)
F_{40}\! \left(x \right) = F_{41}\! \left(x \right)+F_{7}\! \left(x \right)
F_{41}\! \left(x \right) = F_{23}\! \left(x \right)+F_{28}\! \left(x \right)+F_{42}\! \left(x \right)
F_{42}\! \left(x \right) = F_{4}\! \left(x \right) F_{43}\! \left(x \right)
F_{43}\! \left(x \right) = F_{44}\! \left(x \right)+F_{45}\! \left(x \right)
F_{44}\! \left(x \right) = F_{11}\! \left(x \right)
F_{45}\! \left(x \right) = F_{41}\! \left(x \right)
F_{46}\! \left(x \right) = F_{47}\! \left(x \right)+F_{51}\! \left(x \right)
F_{47}\! \left(x \right) = F_{48}\! \left(x \right)
F_{48}\! \left(x \right) = F_{4}\! \left(x \right) F_{49}\! \left(x \right)
F_{49}\! \left(x \right) = F_{31}\! \left(x \right)+F_{50}\! \left(x \right)
F_{50}\! \left(x \right) = F_{47}\! \left(x \right)
F_{51}\! \left(x \right) = F_{52}\! \left(x \right)
F_{52}\! \left(x \right) = F_{4}\! \left(x \right) F_{53}\! \left(x \right)
F_{53}\! \left(x \right) = F_{54}\! \left(x \right)+F_{55}\! \left(x \right)
F_{54}\! \left(x \right) = F_{22}\! \left(x \right)
F_{55}\! \left(x \right) = F_{51}\! \left(x \right)
F_{56}\! \left(x \right) = F_{4}\! \left(x \right) F_{57}\! \left(x \right)
F_{57}\! \left(x \right) = F_{33}\! \left(x \right)+F_{58}\! \left(x \right)
F_{58}\! \left(x \right) = F_{59}\! \left(x \right)+F_{63}\! \left(x \right)
F_{59}\! \left(x \right) = F_{23}\! \left(x \right)+F_{24}\! \left(x \right)+F_{60}\! \left(x \right)
F_{60}\! \left(x \right) = F_{4}\! \left(x \right) F_{61}\! \left(x \right)
F_{61}\! \left(x \right) = F_{33}\! \left(x \right)+F_{62}\! \left(x \right)
F_{62}\! \left(x \right) = F_{59}\! \left(x \right)
F_{63}\! \left(x \right) = F_{64}\! \left(x \right)
F_{64}\! \left(x \right) = F_{4}\! \left(x \right) F_{65}\! \left(x \right)
F_{65}\! \left(x \right) = F_{66}\! \left(x \right)
F_{66}\! \left(x \right) = F_{4}\! \left(x \right) F_{44}\! \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_13(x))
Eq(F_10(x), F_1(x) + F_11(x))
Eq(F_11(x), F_12(x))
Eq(F_12(x), F_10(x)*F_4(x))
Eq(F_13(x), F_14(x) + F_7(x))
Eq(F_14(x), F_15(x))
Eq(F_15(x), F_16(x)*F_4(x))
Eq(F_16(x), F_7(x))
Eq(F_17(x), F_18(x) + F_37(x))
Eq(F_18(x), F_19(x))
Eq(F_19(x), F_20(x)*F_4(x))
Eq(F_20(x), F_10(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_32(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))
Eq(F_30(x), F_31(x)*F_4(x))
Eq(F_31(x), F_18(x))
Eq(F_32(x), F_33(x)*F_4(x))
Eq(F_33(x), F_18(x) + F_34(x))
Eq(F_34(x), F_35(x))
Eq(F_35(x), F_36(x)*F_4(x))
Eq(F_36(x), F_26(x))
Eq(F_37(x), F_23(x) + F_38(x) + F_56(x))
Eq(F_38(x), F_39(x)*F_4(x))
Eq(F_39(x), F_40(x) + F_46(x))
Eq(F_40(x), F_41(x) + F_7(x))
Eq(F_41(x), F_23(x) + F_28(x) + F_42(x))
Eq(F_42(x), F_4(x)*F_43(x))
Eq(F_43(x), F_44(x) + F_45(x))
Eq(F_44(x), F_11(x))
Eq(F_45(x), F_41(x))
Eq(F_46(x), F_47(x) + F_51(x))
Eq(F_47(x), F_48(x))
Eq(F_48(x), F_4(x)*F_49(x))
Eq(F_49(x), F_31(x) + F_50(x))
Eq(F_50(x), F_47(x))
Eq(F_51(x), F_52(x))
Eq(F_52(x), F_4(x)*F_53(x))
Eq(F_53(x), F_54(x) + F_55(x))
Eq(F_54(x), F_22(x))
Eq(F_55(x), F_51(x))
Eq(F_56(x), F_4(x)*F_57(x))
Eq(F_57(x), F_33(x) + F_58(x))
Eq(F_58(x), F_59(x) + F_63(x))
Eq(F_59(x), F_23(x) + F_24(x) + F_60(x))
Eq(F_60(x), F_4(x)*F_61(x))
Eq(F_61(x), F_33(x) + F_62(x))
Eq(F_62(x), F_59(x))
Eq(F_63(x), F_64(x))
Eq(F_64(x), F_4(x)*F_65(x))
Eq(F_65(x), F_66(x))
Eq(F_66(x), F_4(x)*F_44(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, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 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, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 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, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 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": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 2, 1], "pos": [[0, 1], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 2, 1], "pos": [[0, 1], [0, 0], [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": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 2], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 2], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 2], [1, 0], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 2, 1], "pos": [[1, 2], [1, 0], [1, 2], [1, 0]]}, {"patt": [3, 0, 2, 1], "pos": [[1, 2], [1, 0], [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": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [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": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 2, 1], "pos": [[0, 1], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 2, 1], "pos": [[0, 1], [0, 0], [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, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 2, 1], "pos": [[0, 1], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 2, 1], "pos": [[0, 1], [0, 0], [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": [0], "pos": [[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, 0]]}, {"patt": [1, 2, 3, 0], "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, 0]]}, {"patt": [1, 2, 3, 0], "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, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [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": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 2, 1], "pos": [[0, 1], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 2, 1], "pos": [[0, 1], [0, 0], [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, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 2, 1], "pos": [[0, 1], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 2, 1], "pos": [[0, 1], [0, 0], [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": [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": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "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": [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": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "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": [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": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "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, 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": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "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": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "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": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "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": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "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": [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, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [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": [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, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 2], [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], "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": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [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": [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, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [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, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [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": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [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": [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, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [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": [], "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": [0, 2, 1], "pos": [[1, 2], [1, 3], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 2], [1, 3], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 3], [1, 3], [1, 3]]}, {"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": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 3], [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, 3], [1, 0]]}, {"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, 1], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"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, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 3], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 1], [1, 1], [1, 1], [1, 1]]}, {"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": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 1], [0, 0], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 2, 1], "pos": [[0, 1], [0, 0], [0, 1], [0, 0]]}, {"patt": [3, 0, 2, 1], "pos": [[0, 1], [0, 0], [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": [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": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"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": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [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": [0, 2, 1], "pos": [[1, 2], [1, 3], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 2], [1, 3], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 3], [1, 3], [1, 3]]}, {"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": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 3], [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, 2], [0, 0]]}, {"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": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"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, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 2], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [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]]}]]}], "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, 3], [1, 0]]}, {"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, 1], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"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, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 3], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 1], [1, 1], [1, 1], [1, 1]]}, {"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": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [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": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"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": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [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": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"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": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [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": [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, 2, 3, 0], "pos": [[0, 0], [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, 1], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"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": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"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, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 2], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [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, 1], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"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": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"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, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 2], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [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": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "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, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [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": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [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": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [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": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"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": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [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": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"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": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [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": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [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, 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, 2, 3, 0], "pos": [[0, 0], [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": [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, 2, 3, 0], "pos": [[0, 0], [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, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [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, 1], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"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": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"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, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 2], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [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]]}], [{"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, 2], [0, 0]]}, {"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": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"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, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 2], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [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_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": [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, 0]]}, {"patt": [1, 2, 3, 0], "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, 0]]}, {"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, 0]]}, {"patt": [1, 2, 3, 0], "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": [], "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": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 2], [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, 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, 0]]}, {"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, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [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": [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, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [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, 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": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"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": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 2], [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, 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, 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, 2, 3, 0], "pos": [[0, 0], [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": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 0]]}, {"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, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [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": [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": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [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, 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": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"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": [], "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": [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, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 1], [1, 1], [1, 1], [1, 1]]}], "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": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [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], "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, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [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], "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, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 0], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 1], [1, 1], [1, 1], [1, 1]]}], "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], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[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, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [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, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [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": [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, 2], [0, 0]]}, {"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, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [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]]}]]}], "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, 3], [1, 0]]}, {"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, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 1], [1, 1], [1, 1], [1, 1]]}, {"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, 1], "pos": [[0, 0], [0, 1]]}, {"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, 2, 3, 0], "pos": [[0, 0], [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, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"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, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [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, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"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, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [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": [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, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"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": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [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], "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, 1]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 2], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [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": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 4], [1, 4], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"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, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [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": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [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": [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, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"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": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [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, 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, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"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": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [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": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"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": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 2], [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, 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": [[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": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 2], [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, 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, 3], [1, 0]]}, {"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, 1], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 3], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"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, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 1], [1, 1], [1, 1], [1, 1]]}, {"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": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [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"}}, {"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, 2], [0, 0]]}, {"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": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 2], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"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, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [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]]}]]}], "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, 3], [1, 0]]}, {"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, 1], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 3], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"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, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 1], [1, 1], [1, 1], [1, 1]]}, {"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, 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, 2, 3, 0], "pos": [[0, 0], [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, 1], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"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": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 2], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"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, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [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, 1], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"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": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 2], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"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, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [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": [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, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 3], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"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, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 2], [1, 4], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 4], [1, 4], [1, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 2], [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, 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, 0], [0, 1]]}, {"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, 2, 3, 0], "pos": [[0, 0], [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, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [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, 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], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[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], "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], "pos": [[1, 2], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}], "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}}, {"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": [0, 2, 1], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 2], [1, 0]]}, {"patt": [0, 1, 3, 2], "pos": [[1, 0], [1, 0], [1, 2], [1, 2]]}, {"patt": [0, 2, 1, 3], "pos": [[1, 0], [1, 2], [1, 0], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 2, 1], "pos": [[1, 2], [1, 0], [1, 2], [1, 0]]}, {"patt": [3, 0, 2, 1], "pos": [[1, 2], [1, 0], [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": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 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, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "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": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "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": [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, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 2], [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], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [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, 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, 0]]}, {"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, 0]]}, {"patt": [1, 2, 3, 0], "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": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "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, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "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, 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, 0]]}, {"patt": [1, 2, 3, 0], "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, 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, 0]]}, {"patt": [1, 2, 3, 0], "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, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [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": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [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, 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": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [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, 2]]}]]}, "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", "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, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [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": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [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": [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], "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": [0, 1], "pos": [[0, 0], [0, 1]]}, {"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]]}]]}, "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": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [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, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}], "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, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [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_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": [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, 3], [1, 0]]}, {"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, 1], [1, 1], [1, 1]]}, {"patt": [1, 0, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 1], [1, 1], [1, 1], [1, 1]]}, {"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": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [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, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [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, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [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, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [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"}}, "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": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [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, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"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, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [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]]}], [{"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, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"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, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [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_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": [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, 0]]}, {"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": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [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]]}], [{"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, 1]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 1], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 2], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [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": [1, 2, 0], "pos": [[1, 1], [1, 1], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 1]]}, {"patt": [1, 2, 0], "pos": [[1, 4], [1, 4], [1, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 1], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"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": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"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": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [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": [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, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [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": [0, 1], "pos": [[0, 1], [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": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [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, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [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": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [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": [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": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"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": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [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]]}]]}, {"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, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"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": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [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]]}], [{"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, 1], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 2], [0, 2], [0, 2]]}, {"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": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 2], [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_insertion", "gps": [{"patt": [0], "pos": [[0, 3]]}], "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": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 2], [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, 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": [1, 2, 3, 0], "pos": [[0, 0], [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, 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": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [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, 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": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"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, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 0, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [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, 1], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"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": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 2], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"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, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [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]]}], [{"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, 2], [0, 0]]}, {"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": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 2], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"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, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [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_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": [[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, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 2]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 2], [1, 4], [1, 3]]}, {"patt": [1, 0, 2], "pos": [[1, 0], [1, 0], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 3], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 4], [1, 4], [1, 3]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 2], [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, 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": [], "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, 1], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"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": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"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, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 2], [0, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [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]]}], [{"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"}}, "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], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}], "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, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 3], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [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, 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, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 3], [0, 2]]}, {"patt": [1, 0, 2], "pos": [[0, 0], [0, 0], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 3], [0, 3], [0, 2]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 1], [0, 0]]}, {"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", "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], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [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, 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, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}], "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], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 2], [0, 2], [0, 1]]}], "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"}}, "rule_class": "EquivalenceRule"}, {"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, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}], "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, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 1], [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": [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", "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"}}]}