0132_0231_1032_3012_3120

Counting sequence:
1, 1, 2, 6, 19, 52, 125, 278, 590, 1218, 2475, 4986, 10000, 20014, 40021, 80006, 159938, 319754, 639327, 1278402, 2556468, 5112502, 10224457, 20448238, 40895654, 81790322, 163579475, 327157578, 654313560, 1308625278, 2617248445, 5234494486, 10468986250, 20937969434, 41875935431, 83751867026, 167503729788, 335007454854, 670014904497, 1340029803262, 2680059600238, 5360119193602, 10720238379707, 21440476751258, 42880953493664, 85761906977742, 171523813945125, 343047627879078, 686095255746130, 1372190511479338, 2744381022944815, 5488762045874786, 10977524091733700, 21955048183450454, 43910096366882841, 87820192733746446, 175640385467472438, 351280770934923154, 702561541869823267, 1405123083739622122, 2810246167479218408, 5620492334958409502, 11240984669916790157, 22481969339833549878, 44963938679667067674, 89927877359334101562, 179855754718668167575, 359711509437336297778, 719423018874672556300, 1438846037749345071398, 2877692075498690099585, 5755384150997380153886, 11510768301994760260350, 23021536603989520471074, 46043073207979040890251, 92086146415958081726266, 184172292831916163395888, 368344585663832326732654, 736689171327664653403637, 1473378342655329306742982, 2946756685310658613418978, 5893513370621317226768202, 11787026741242634453463807, 23574053482485268906852098, 47148106964970537813625684, 94296213929941075627169782, 188592427859882151254254825, 377184855719764302508421678, 754369711439528605016752070, 1508739422879057210033409458, 3017478845758114420066720755, 6034957691516228840133339786, 12069915383032457680266574200, 24139830766064915360533039294, 48279661532129830721065965661, 96559323064259661442131814486, 193118646128519322884263508138, 386237292257038645768526891354, 772474584514077291537053653607, 1544949169028154583074107173842, 3089898338056309166148214209948

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

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

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

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

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

Explicit closed form in Maple syntax:
piecewise(Or(n = 0,n = 1),1,n = 2,2,n = 3,6,-6+39/16*2^n+1/6*n^3-2*n^2+11/6*n)

Explicit closed form in latex syntax:
\left\{\begin{array}{cc}1 & n =0\text{ or } n =1 \\ 2 & n =2 \\ 6 & n =3 \\ -6+\frac{39 \,2^{n}}{16}+\frac{n^{3}}{6}-2 n^{2}+\frac{11 n}{6} & \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) = 52
a(6) = 125
a(7) = 278
a(8) = 590
a(n+1) = -1/6*n^3+5/2*n^2+2*a(n)-16/3*n+6, n >= 9

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) = 52
a \! \left(6\right) = 125
a \! \left(7\right) = 278
a \! \left(8\right) = 590
a \! \left(n +1\right) = -\frac{n^{3}}{6}+\frac{5 n^{2}}{2}+2 a \! \left(n \right)-\frac{16 n}{3}+6, \quad n \geq 9

Specification 1
Strategy pack name: point_placements
Tree: https://permpal.com/tree/18929/
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[36,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[24,x]
F[14,x] = F[15,x]
F[15,x] = F[16,x]*F[4,x]
F[16,x] = F[17,x]+F[18,x]
F[17,x] = F[1,x]+F[4,x]
F[18,x] = F[14,x]+F[19,x]
F[19,x] = F[20,x]
F[20,x] = F[21,x]*F[4,x]
F[21,x] = F[22,x]+F[23,x]
F[22,x] = F[4,x]
F[23,x] = F[19,x]
F[24,x] = F[25,x]
F[25,x] = F[26,x]*F[4,x]
F[26,x] = F[27,x]+F[30,x]
F[27,x] = F[11,x]+F[28,x]
F[28,x] = F[29,x]
F[29,x] = F[11,x]*F[4,x]
F[30,x] = F[24,x]+F[31,x]
F[31,x] = F[32,x]
F[32,x] = F[33,x]*F[4,x]
F[33,x] = F[34,x]+F[35,x]
F[34,x] = F[28,x]
F[35,x] = F[31,x]
F[36,x] = F[37,x]+F[50,x]
F[37,x] = F[38,x]
F[38,x] = F[39,x]*F[4,x]
F[39,x] = F[40,x]+F[43,x]
F[40,x] = F[1,x]+F[41,x]
F[41,x] = F[42,x]
F[42,x] = F[4,x]*F[40,x]
F[43,x] = F[37,x]+F[44,x]
F[44,x] = F[45,x]
F[45,x] = F[4,x]*F[46,x]
F[46,x] = F[47,x]+F[48,x]
F[47,x] = F[4,x]
F[48,x] = F[49,x]
F[49,x] = F[45,x]
F[50,x] = F[51,x]+F[52,x]+F[74,x]
F[51,x] = 0
F[52,x] = F[4,x]*F[53,x]
F[53,x] = F[54,x]+F[61,x]
F[54,x] = F[11,x]+F[55,x]
F[55,x] = F[51,x]+F[56,x]+F[59,x]
F[56,x] = F[4,x]*F[57,x]
F[57,x] = F[11,x]+F[58,x]
F[58,x] = F[56,x]
F[59,x] = F[4,x]*F[60,x]
F[60,x] = F[41,x]+F[58,x]
F[61,x] = F[62,x]+F[65,x]
F[62,x] = F[51,x]+F[52,x]+F[63,x]
F[63,x] = F[4,x]*F[64,x]
F[64,x] = F[37,x]+F[62,x]
F[65,x] = 2*F[51,x]+F[66,x]+F[71,x]
F[66,x] = F[4,x]*F[67,x]
F[67,x] = F[68,x]+F[69,x]
F[68,x] = F[28,x]
F[69,x] = F[70,x]
F[70,x] = F[66,x]
F[71,x] = F[4,x]*F[72,x]
F[72,x] = F[44,x]+F[73,x]
F[73,x] = F[66,x]
F[74,x] = F[4,x]*F[75,x]
F[75,x] = F[64,x]+F[76,x]
F[76,x] = F[77,x]+F[93,x]
F[77,x] = F[51,x]+F[78,x]+F[84,x]
F[78,x] = F[4,x]*F[79,x]
F[79,x] = F[80,x]+F[83,x]
F[80,x] = F[4,x]+F[81,x]
F[81,x] = F[82,x]
F[82,x] = F[4,x]*F[41,x]
F[83,x] = F[49,x]
F[84,x] = F[4,x]*F[85,x]
F[85,x] = F[86,x]+F[87,x]
F[86,x] = F[37,x]+F[49,x]
F[87,x] = F[77,x]+F[88,x]
F[88,x] = F[89,x]
F[89,x] = F[4,x]*F[90,x]
F[90,x] = F[91,x]+F[92,x]
F[91,x] = F[49,x]
F[92,x] = F[88,x]
F[93,x] = 2*F[51,x]+F[100,x]+F[94,x]
F[94,x] = F[4,x]*F[95,x]
F[95,x] = F[96,x]+F[99,x]
F[96,x] = F[28,x]+F[97,x]
F[97,x] = F[98,x]
F[98,x] = F[4,x]*F[58,x]
F[99,x] = F[70,x]
F[100,x] = F[101,x]*F[4,x]
F[101,x] = F[102,x]+F[103,x]
F[102,x] = F[62,x]+F[70,x]
F[103,x] = F[104,x]+F[93,x]
F[104,x] = F[105,x]
F[105,x] = F[106,x]*F[4,x]
F[106,x] = F[107,x]+F[108,x]
F[107,x] = F[70,x]
F[108,x] = F[104,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_{36}\! \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_{24}\! \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_{17}\! \left(x \right)+F_{18}\! \left(x \right)
F_{17}\! \left(x \right) = F_{1}\! \left(x \right)+F_{4}\! \left(x \right)
F_{18}\! \left(x \right) = F_{14}\! \left(x \right)+F_{19}\! \left(x \right)
F_{19}\! \left(x \right) = F_{20}\! \left(x \right)
F_{20}\! \left(x \right) = F_{21}\! \left(x \right) F_{4}\! \left(x \right)
F_{21}\! \left(x \right) = F_{22}\! \left(x \right)+F_{23}\! \left(x \right)
F_{22}\! \left(x \right) = F_{4}\! \left(x \right)
F_{23}\! \left(x \right) = F_{19}\! \left(x \right)
F_{24}\! \left(x \right) = F_{25}\! \left(x \right)
F_{25}\! \left(x \right) = F_{26}\! \left(x \right) F_{4}\! \left(x \right)
F_{26}\! \left(x \right) = F_{27}\! \left(x \right)+F_{30}\! \left(x \right)
F_{27}\! \left(x \right) = F_{11}\! \left(x \right)+F_{28}\! \left(x \right)
F_{28}\! \left(x \right) = F_{29}\! \left(x \right)
F_{29}\! \left(x \right) = F_{11}\! \left(x \right) F_{4}\! \left(x \right)
F_{30}\! \left(x \right) = F_{24}\! \left(x \right)+F_{31}\! \left(x \right)
F_{31}\! \left(x \right) = F_{32}\! \left(x \right)
F_{32}\! \left(x \right) = F_{33}\! \left(x \right) F_{4}\! \left(x \right)
F_{33}\! \left(x \right) = F_{34}\! \left(x \right)+F_{35}\! \left(x \right)
F_{34}\! \left(x \right) = F_{28}\! \left(x \right)
F_{35}\! \left(x \right) = F_{31}\! \left(x \right)
F_{36}\! \left(x \right) = F_{37}\! \left(x \right)+F_{50}\! \left(x \right)
F_{37}\! \left(x \right) = F_{38}\! \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_{43}\! \left(x \right)
F_{40}\! \left(x \right) = F_{1}\! \left(x \right)+F_{41}\! \left(x \right)
F_{41}\! \left(x \right) = F_{42}\! \left(x \right)
F_{42}\! \left(x \right) = F_{4}\! \left(x \right) F_{40}\! \left(x \right)
F_{43}\! \left(x \right) = F_{37}\! \left(x \right)+F_{44}\! \left(x \right)
F_{44}\! \left(x \right) = F_{45}\! \left(x \right)
F_{45}\! \left(x \right) = F_{4}\! \left(x \right) F_{46}\! \left(x \right)
F_{46}\! \left(x \right) = F_{47}\! \left(x \right)+F_{48}\! \left(x \right)
F_{47}\! \left(x \right) = F_{4}\! \left(x \right)
F_{48}\! \left(x \right) = F_{49}\! \left(x \right)
F_{49}\! \left(x \right) = F_{45}\! \left(x \right)
F_{50}\! \left(x \right) = F_{51}\! \left(x \right)+F_{52}\! \left(x \right)+F_{74}\! \left(x \right)
F_{51}\! \left(x \right) = 0
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_{61}\! \left(x \right)
F_{54}\! \left(x \right) = F_{11}\! \left(x \right)+F_{55}\! \left(x \right)
F_{55}\! \left(x \right) = F_{51}\! \left(x \right)+F_{56}\! \left(x \right)+F_{59}\! \left(x \right)
F_{56}\! \left(x \right) = F_{4}\! \left(x \right) F_{57}\! \left(x \right)
F_{57}\! \left(x \right) = F_{11}\! \left(x \right)+F_{58}\! \left(x \right)
F_{58}\! \left(x \right) = F_{56}\! \left(x \right)
F_{59}\! \left(x \right) = F_{4}\! \left(x \right) F_{60}\! \left(x \right)
F_{60}\! \left(x \right) = F_{41}\! \left(x \right)+F_{58}\! \left(x \right)
F_{61}\! \left(x \right) = F_{62}\! \left(x \right)+F_{65}\! \left(x \right)
F_{62}\! \left(x \right) = F_{51}\! \left(x \right)+F_{52}\! \left(x \right)+F_{63}\! \left(x \right)
F_{63}\! \left(x \right) = F_{4}\! \left(x \right) F_{64}\! \left(x \right)
F_{64}\! \left(x \right) = F_{37}\! \left(x \right)+F_{62}\! \left(x \right)
F_{65}\! \left(x \right) = 2 F_{51}\! \left(x \right)+F_{66}\! \left(x \right)+F_{71}\! \left(x \right)
F_{66}\! \left(x \right) = F_{4}\! \left(x \right) F_{67}\! \left(x \right)
F_{67}\! \left(x \right) = F_{68}\! \left(x \right)+F_{69}\! \left(x \right)
F_{68}\! \left(x \right) = F_{28}\! \left(x \right)
F_{69}\! \left(x \right) = F_{70}\! \left(x \right)
F_{70}\! \left(x \right) = F_{66}\! \left(x \right)
F_{71}\! \left(x \right) = F_{4}\! \left(x \right) F_{72}\! \left(x \right)
F_{72}\! \left(x \right) = F_{44}\! \left(x \right)+F_{73}\! \left(x \right)
F_{73}\! \left(x \right) = F_{66}\! \left(x \right)
F_{74}\! \left(x \right) = F_{4}\! \left(x \right) F_{75}\! \left(x \right)
F_{75}\! \left(x \right) = F_{64}\! \left(x \right)+F_{76}\! \left(x \right)
F_{76}\! \left(x \right) = F_{77}\! \left(x \right)+F_{93}\! \left(x \right)
F_{77}\! \left(x \right) = F_{51}\! \left(x \right)+F_{78}\! \left(x \right)+F_{84}\! \left(x \right)
F_{78}\! \left(x \right) = F_{4}\! \left(x \right) F_{79}\! \left(x \right)
F_{79}\! \left(x \right) = F_{80}\! \left(x \right)+F_{83}\! \left(x \right)
F_{80}\! \left(x \right) = F_{4}\! \left(x \right)+F_{81}\! \left(x \right)
F_{81}\! \left(x \right) = F_{82}\! \left(x \right)
F_{82}\! \left(x \right) = F_{4}\! \left(x \right) F_{41}\! \left(x \right)
F_{83}\! \left(x \right) = F_{49}\! \left(x \right)
F_{84}\! \left(x \right) = F_{4}\! \left(x \right) F_{85}\! \left(x \right)
F_{85}\! \left(x \right) = F_{86}\! \left(x \right)+F_{87}\! \left(x \right)
F_{86}\! \left(x \right) = F_{37}\! \left(x \right)+F_{49}\! \left(x \right)
F_{87}\! \left(x \right) = F_{77}\! \left(x \right)+F_{88}\! \left(x \right)
F_{88}\! \left(x \right) = F_{89}\! \left(x \right)
F_{89}\! \left(x \right) = F_{4}\! \left(x \right) F_{90}\! \left(x \right)
F_{90}\! \left(x \right) = F_{91}\! \left(x \right)+F_{92}\! \left(x \right)
F_{91}\! \left(x \right) = F_{49}\! \left(x \right)
F_{92}\! \left(x \right) = F_{88}\! \left(x \right)
F_{93}\! \left(x \right) = 2 F_{51}\! \left(x \right)+F_{100}\! \left(x \right)+F_{94}\! \left(x \right)
F_{94}\! \left(x \right) = F_{4}\! \left(x \right) F_{95}\! \left(x \right)
F_{95}\! \left(x \right) = F_{96}\! \left(x \right)+F_{99}\! \left(x \right)
F_{96}\! \left(x \right) = F_{28}\! \left(x \right)+F_{97}\! \left(x \right)
F_{97}\! \left(x \right) = F_{98}\! \left(x \right)
F_{98}\! \left(x \right) = F_{4}\! \left(x \right) F_{58}\! \left(x \right)
F_{99}\! \left(x \right) = F_{70}\! \left(x \right)
F_{100}\! \left(x \right) = F_{101}\! \left(x \right) F_{4}\! \left(x \right)
F_{101}\! \left(x \right) = F_{102}\! \left(x \right)+F_{103}\! \left(x \right)
F_{102}\! \left(x \right) = F_{62}\! \left(x \right)+F_{70}\! \left(x \right)
F_{103}\! \left(x \right) = F_{104}\! \left(x \right)+F_{93}\! \left(x \right)
F_{104}\! \left(x \right) = F_{105}\! \left(x \right)
F_{105}\! \left(x \right) = F_{106}\! \left(x \right) F_{4}\! \left(x \right)
F_{106}\! \left(x \right) = F_{107}\! \left(x \right)+F_{108}\! \left(x \right)
F_{107}\! \left(x \right) = F_{70}\! \left(x \right)
F_{108}\! \left(x \right) = F_{104}\! \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_36(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_24(x))
Eq(F_14(x), F_15(x))
Eq(F_15(x), F_16(x)*F_4(x))
Eq(F_16(x), F_17(x) + F_18(x))
Eq(F_17(x), F_1(x) + F_4(x))
Eq(F_18(x), F_14(x) + F_19(x))
Eq(F_19(x), F_20(x))
Eq(F_20(x), F_21(x)*F_4(x))
Eq(F_21(x), F_22(x) + F_23(x))
Eq(F_22(x), F_4(x))
Eq(F_23(x), F_19(x))
Eq(F_24(x), F_25(x))
Eq(F_25(x), F_26(x)*F_4(x))
Eq(F_26(x), F_27(x) + F_30(x))
Eq(F_27(x), F_11(x) + F_28(x))
Eq(F_28(x), F_29(x))
Eq(F_29(x), F_11(x)*F_4(x))
Eq(F_30(x), F_24(x) + F_31(x))
Eq(F_31(x), F_32(x))
Eq(F_32(x), F_33(x)*F_4(x))
Eq(F_33(x), F_34(x) + F_35(x))
Eq(F_34(x), F_28(x))
Eq(F_35(x), F_31(x))
Eq(F_36(x), F_37(x) + F_50(x))
Eq(F_37(x), F_38(x))
Eq(F_38(x), F_39(x)*F_4(x))
Eq(F_39(x), F_40(x) + F_43(x))
Eq(F_40(x), F_1(x) + F_41(x))
Eq(F_41(x), F_42(x))
Eq(F_42(x), F_4(x)*F_40(x))
Eq(F_43(x), F_37(x) + F_44(x))
Eq(F_44(x), F_45(x))
Eq(F_45(x), F_4(x)*F_46(x))
Eq(F_46(x), F_47(x) + F_48(x))
Eq(F_47(x), F_4(x))
Eq(F_48(x), F_49(x))
Eq(F_49(x), F_45(x))
Eq(F_50(x), F_51(x) + F_52(x) + F_74(x))
Eq(F_51(x), 0)
Eq(F_52(x), F_4(x)*F_53(x))
Eq(F_53(x), F_54(x) + F_61(x))
Eq(F_54(x), F_11(x) + F_55(x))
Eq(F_55(x), F_51(x) + F_56(x) + F_59(x))
Eq(F_56(x), F_4(x)*F_57(x))
Eq(F_57(x), F_11(x) + F_58(x))
Eq(F_58(x), F_56(x))
Eq(F_59(x), F_4(x)*F_60(x))
Eq(F_60(x), F_41(x) + F_58(x))
Eq(F_61(x), F_62(x) + F_65(x))
Eq(F_62(x), F_51(x) + F_52(x) + F_63(x))
Eq(F_63(x), F_4(x)*F_64(x))
Eq(F_64(x), F_37(x) + F_62(x))
Eq(F_65(x), 2*F_51(x) + F_66(x) + F_71(x))
Eq(F_66(x), F_4(x)*F_67(x))
Eq(F_67(x), F_68(x) + F_69(x))
Eq(F_68(x), F_28(x))
Eq(F_69(x), F_70(x))
Eq(F_70(x), F_66(x))
Eq(F_71(x), F_4(x)*F_72(x))
Eq(F_72(x), F_44(x) + F_73(x))
Eq(F_73(x), F_66(x))
Eq(F_74(x), F_4(x)*F_75(x))
Eq(F_75(x), F_64(x) + F_76(x))
Eq(F_76(x), F_77(x) + F_93(x))
Eq(F_77(x), F_51(x) + F_78(x) + F_84(x))
Eq(F_78(x), F_4(x)*F_79(x))
Eq(F_79(x), F_80(x) + F_83(x))
Eq(F_80(x), F_4(x) + F_81(x))
Eq(F_81(x), F_82(x))
Eq(F_82(x), F_4(x)*F_41(x))
Eq(F_83(x), F_49(x))
Eq(F_84(x), F_4(x)*F_85(x))
Eq(F_85(x), F_86(x) + F_87(x))
Eq(F_86(x), F_37(x) + F_49(x))
Eq(F_87(x), F_77(x) + F_88(x))
Eq(F_88(x), F_89(x))
Eq(F_89(x), F_4(x)*F_90(x))
Eq(F_90(x), F_91(x) + F_92(x))
Eq(F_91(x), F_49(x))
Eq(F_92(x), F_88(x))
Eq(F_93(x), F_100(x) + 2*F_51(x) + F_94(x))
Eq(F_94(x), F_4(x)*F_95(x))
Eq(F_95(x), F_96(x) + F_99(x))
Eq(F_96(x), F_28(x) + F_97(x))
Eq(F_97(x), F_98(x))
Eq(F_98(x), F_4(x)*F_58(x))
Eq(F_99(x), F_70(x))
Eq(F_100(x), F_101(x)*F_4(x))
Eq(F_101(x), F_102(x) + F_103(x))
Eq(F_102(x), F_62(x) + F_70(x))
Eq(F_103(x), F_104(x) + F_93(x))
Eq(F_104(x), F_105(x))
Eq(F_105(x), F_106(x)*F_4(x))
Eq(F_106(x), F_107(x) + F_108(x))
Eq(F_107(x), F_70(x))
Eq(F_108(x), F_104(x))
Pack JSON: {'expansion_strats': [[{'ignore_parent': False, 'maxreqlen': 1, 'one_cell_only': False}, {'dirs': [0, 1, 2, 3], 'ignore_parent': False, 'partial': False, 'point_only': False}]], 'inferral_strats': [{'ignore_parent': True, 'inferrable': True, 'possibly_empty': False, 'workable': True}, {}], 'initial_strats': [{'ignore_parent': True, 'interleaving': None, 'tracked': False, 'unions': False, 'workable': True}], 'iterative': False, 'name': 'point_placements', 'symmetries': [], 'ver_strats': [{}, {'ignore_parent': False}, {'ignore_parent': False, 'symmetry': False}, {'ignore_parent': False, '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, 3, 1], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [3, 0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [3, 1, 2, 0], '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, 3, 1], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [3, 0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [3, 1, 2, 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, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [3, 0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [3, 1, 2, 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, 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, 2], 'pos': [[0, 0], [0, 0], [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, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 1], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 1], [0, 1], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 1], [0, 0]]}, {'patt': [3, 0, 1, 2], 'pos': [[0, 1], [0, 0], [0, 0], [0, 1]]}, {'patt': [3, 0, 1, 2], 'pos': [[0, 1], [0, 0], [0, 1], [0, 1]]}, {'patt': [3, 0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [3, 1, 2, 0], 'pos': [[0, 1], [0, 0], [0, 1], [0, 0]]}, {'patt': [3, 1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 1], [0, 0]]}], 'requirements': []}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 2], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[1, 2], [1, 2], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 2], [1, 2]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 0], [1, 2], [1, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 2], [1, 2], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 2], [1, 0]]}, {'patt': [3, 0, 1, 2], 'pos': [[1, 2], [1, 0], [1, 0], [1, 2]]}, {'patt': [3, 0, 1, 2], 'pos': [[1, 2], [1, 0], [1, 2], [1, 2]]}, {'patt': [3, 0, 1, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [3, 1, 2, 0], 'pos': [[1, 2], [1, 0], [1, 2], [1, 0]]}, {'patt': [3, 1, 2, 0], 'pos': [[1, 2], [1, 2], [1, 2], [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': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [3, 0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [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, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 1], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 1], [0, 1], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 1], [0, 0]]}, {'patt': [3, 0, 1, 2], 'pos': [[0, 1], [0, 0], [0, 0], [0, 1]]}, {'patt': [3, 0, 1, 2], 'pos': [[0, 1], [0, 0], [0, 1], [0, 1]]}, {'patt': [3, 0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [3, 1, 2, 0], 'pos': [[0, 1], [0, 0], [0, 1], [0, 0]]}, {'patt': [3, 1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 1], [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, 2], 'pos': [[0, 0], [0, 0], [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, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 1], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 1], [0, 1], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 1], [0, 0]]}, {'patt': [3, 0, 1, 2], 'pos': [[0, 1], [0, 0], [0, 0], [0, 1]]}, {'patt': [3, 0, 1, 2], 'pos': [[0, 1], [0, 0], [0, 1], [0, 1]]}, {'patt': [3, 0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [3, 1, 2, 0], 'pos': [[0, 1], [0, 0], [0, 1], [0, 0]]}, {'patt': [3, 1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 1], [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': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [3, 0, 1, 2], '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, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [3, 0, 1, 2], '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, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], '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, 2], 'pos': [[0, 0], [0, 0], [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, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 1], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 1], [0, 1], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 1], [0, 0]]}, {'patt': [3, 0, 1, 2], 'pos': [[0, 1], [0, 0], [0, 0], [0, 1]]}, {'patt': [3, 0, 1, 2], 'pos': [[0, 1], [0, 0], [0, 1], [0, 1]]}, {'patt': [3, 0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [3, 1, 2, 0], 'pos': [[0, 1], [0, 0], [0, 1], [0, 0]]}, {'patt': [3, 1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 1], [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, 2], 'pos': [[0, 0], [0, 0], [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, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 1], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 1], [0, 1], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 1], [0, 0]]}, {'patt': [3, 0, 1, 2], 'pos': [[0, 1], [0, 0], [0, 0], [0, 1]]}, {'patt': [3, 0, 1, 2], 'pos': [[0, 1], [0, 0], [0, 1], [0, 1]]}, {'patt': [3, 0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [3, 1, 2, 0], 'pos': [[0, 1], [0, 0], [0, 1], [0, 0]]}, {'patt': [3, 1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 1], [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, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[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, 0]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 2]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[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, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}], 'requirements': []}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0], 'pos': [[0, 0]]}], 'ignore_parent': True, 'strategy_class': 'RequirementInsertionStrategy'}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], '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, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[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, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[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, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], '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, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 0]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 2], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 0, 3, 2], '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': [0, 1], 'pos': [[0, 0], [0, 0]]}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], '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, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], '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': [0, 1], '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': [0, 1], '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, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], '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, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], '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, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], '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, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 0]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 2], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 3], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 3], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 3], [1, 3], [1, 2]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 0], [1, 3], [1, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 3], [1, 3], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 3], [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': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 1]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 1]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 1], [1, 1]]}, {'patt': [0, 1, 2], 'pos': [[1, 1], [1, 1], [1, 1]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 1], [1, 1]]}, {'patt': [0, 2, 1], 'pos': [[1, 1], [1, 1], [1, 1]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 1], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 1], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 1], [1, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 0], [1, 3], [1, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 1], [1, 3], [1, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 3], [1, 3], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 1], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 3], [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, 2], 'pos': [[0, 0], [0, 0], [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, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 1], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 1], [0, 1], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 1], [0, 0]]}, {'patt': [3, 0, 1, 2], 'pos': [[0, 1], [0, 0], [0, 0], [0, 1]]}, {'patt': [3, 0, 1, 2], 'pos': [[0, 1], [0, 0], [0, 1], [0, 1]]}, {'patt': [3, 0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [3, 1, 2, 0], 'pos': [[0, 1], [0, 0], [0, 1], [0, 0]]}, {'patt': [3, 1, 2, 0], 'pos': [[0, 1], [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'}}, {'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, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 2], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 2], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 2], [0, 2], [0, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 2], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 2], [0, 2], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 2], [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, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 0]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 2], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 3], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 3], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 3], [1, 3], [1, 2]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 0], [1, 3], [1, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 3], [1, 3], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 3], [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, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 2], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 1], [0, 2], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 2], [0, 2], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 1], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 2], [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': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 1]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 1]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 1], [1, 1]]}, {'patt': [0, 1, 2], 'pos': [[1, 1], [1, 1], [1, 1]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 1], [1, 1]]}, {'patt': [0, 2, 1], 'pos': [[1, 1], [1, 1], [1, 1]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 1], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 1], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 1], [1, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 0], [1, 3], [1, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 1], [1, 3], [1, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 3], [1, 3], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 1], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 3], [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, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 2], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 2], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 2], [0, 2], [0, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 2], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 2], [0, 2], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 2], [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, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 2], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 2], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 2], [0, 2], [0, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 2], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 2], [0, 2], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 2], [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, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 1], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 1], [0, 1], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 1], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 2], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 1], [0, 2], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 2], [0, 2], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 1], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 2], [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, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 2], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 1], [0, 2], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 2], [0, 2], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 1], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 2], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0], 'pos': [[0, 1]]}], 'ignore_parent': True, 'strategy_class': 'RequirementInsertionStrategy'}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 0], '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, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [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, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}], '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': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 1], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 1], [0, 1], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [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, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 2], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 2], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 2], [0, 2], [0, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 2], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 2], [0, 2], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 2], [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, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 2], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 2], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 2], [0, 2], [0, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 2], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 2], [0, 2], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 2], [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, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], '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, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 1], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 1], [0, 1], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 1], [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, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 1], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 1], [0, 1], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 1], [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, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [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': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 2], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 1], [0, 2], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 2], [0, 2], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 1], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 2], [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': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 2], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 1], [0, 2], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 2], [0, 2], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 1], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 2], [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': [], '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, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 0]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 2], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 3], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 3], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 3], [1, 3], [1, 2]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 0], [1, 3], [1, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 3], [1, 3], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 3], [1, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}], [{'patt': [0], 'pos': [[1, 3]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 2]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 0], [1, 2], [1, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 2], [1, 2], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 2], [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, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 1], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 1], [0, 1], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [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, 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': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 1], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 1], [0, 1], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 1], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 2]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 0], [1, 2], [1, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 2], [1, 2], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 2], [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, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[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, 2], [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, 1, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[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': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}], 'requirements': []}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0], 'pos': [[0, 0]]}], 'ignore_parent': True, 'strategy_class': 'RequirementInsertionStrategy'}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}], 'requirements': []}, {'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]]}]]}], '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': []}, '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, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[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, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[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, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[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, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[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, 2], [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': [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, 1, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[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]]}, {'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, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[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, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[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': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'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, 0]]}, {'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': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[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, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[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, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[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, 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, 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': [[1, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[1, 0], [1, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 1]], [[1, 0]]], '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, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'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, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], '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, 2], [1, 2]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 3]]}, {'patt': [0, 1], 'pos': [[1, 3], [1, 3]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 0]]}, {'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, 1, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 2]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 3]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 2], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 0, 3, 2], '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': [0, 1], 'pos': [[0, 0], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'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, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'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, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], '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, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'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, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], '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': [], '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, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'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, 2]]}]]}, {'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, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'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, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'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'}}, {'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, 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, 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, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'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, 2]]}]]}, '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, 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, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'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}}, {'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, 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, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0], 'pos': [[0, 0]]}], 'ignore_parent': True, 'strategy_class': 'RequirementInsertionStrategy'}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], '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, 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'}}, {'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, 2], [1, 2]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 3]]}, {'patt': [0, 1], 'pos': [[1, 3], [1, 3]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 0]]}, {'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': [1, 0], 'pos': [[1, 4], [1, 3]]}, {'patt': [1, 0], 'pos': [[1, 4], [1, 4]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 2]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 3]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 2], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 4], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 4], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 4], [1, 4], [1, 2]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 0], [1, 4], [1, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 4], [1, 4], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 4], [1, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}], [{'patt': [0], 'pos': [[1, 3]]}], [{'patt': [0], 'pos': [[1, 4]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [], 'pos': []}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1], 'pos': [[1, 1], [1, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[1, 1], [1, 0]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 1]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 1]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 1], [1, 1]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 0], [1, 3], [1, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 3], [1, 3], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 3], [1, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 2]]}], [{'patt': [0], 'pos': [[1, 0]]}], [{'patt': [0], 'pos': [[1, 1]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 2], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 2], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 2], [0, 2], [0, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 2], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 2], [0, 2], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 2], [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, 0]]}, {'patt': [0], 'pos': [[0, 2]]}], 'ignore_parent': False, 'include_empty': True, 'indices': [0, 0, 0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 3], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 3], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 3], [0, 3], [0, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 3], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 3], [0, 3], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 3], [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, 2], [1, 2]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 3]]}, {'patt': [0, 1], 'pos': [[1, 3], [1, 3]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 0]]}, {'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': [1, 0], 'pos': [[1, 4], [1, 3]]}, {'patt': [1, 0], 'pos': [[1, 4], [1, 4]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 2]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 3]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 2], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 4], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 4], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 4], [1, 4], [1, 2]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 0], [1, 4], [1, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 4], [1, 4], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 4], [1, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}], [{'patt': [0], 'pos': [[1, 3]]}], [{'patt': [0], 'pos': [[1, 4]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 1]], [[1, 0], [1, 2], [1, 3], [1, 4]]], 'strategy_class': 'FactorStrategy', 'workable': True}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 2], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 2], [0, 2], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 2], [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, 3]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1], 'pos': [[1, 1], [1, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[1, 1], [1, 0]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 1]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 1]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 1], [1, 1]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 0], [1, 3], [1, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 3], [1, 3], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 3], [1, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 2]]}], [{'patt': [0], 'pos': [[1, 0]]}], [{'patt': [0], 'pos': [[1, 1]]}]]}, '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, 0]]}, {'patt': [0, 1], 'pos': [[0, 0], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'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, 2, 0], 'pos': [[0, 0], [0, 2], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 2], [0, 2], [0, 0]]}], '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, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 3], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 3], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 3], [0, 3], [0, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 3], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 3], [0, 3], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 3], [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, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 3], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 3], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 3], [0, 3], [0, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 3], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 3], [0, 3], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 3], [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'}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], '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, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 2], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 2], [0, 2], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 2], [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, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 2], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 2], [0, 2], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 2], [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': [], '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, 2], [1, 2]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 3]]}, {'patt': [0, 1], 'pos': [[1, 3], [1, 3]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 0]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 0]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 2]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 3]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 2], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 3], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 0, 3, 2], '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, 3], [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, 1]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 1]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 1], [1, 1]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 1], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 1], [1, 1], [1, 1]]}, {'patt': [0, 1, 2], 'pos': [[1, 1], [1, 1], [1, 3]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 1], [1, 1]]}, {'patt': [0, 2, 1], 'pos': [[1, 1], [1, 1], [1, 1]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 1], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 1], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 1], [1, 1]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 1], [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, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [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'}}, {'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, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 2], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], '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, 2], [1, 2]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 3]]}, {'patt': [0, 1], 'pos': [[1, 3], [1, 3]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 0]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 0]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 2]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 3]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 2], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 3], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 0, 3, 2], '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, 2], [0, 2]]}, {'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, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 1], [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, 3], [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, 1]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 1]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 1], [1, 1]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 1], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 1], [1, 1], [1, 1]]}, {'patt': [0, 1, 2], 'pos': [[1, 1], [1, 1], [1, 3]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 1], [1, 1]]}, {'patt': [0, 2, 1], 'pos': [[1, 1], [1, 1], [1, 1]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 1], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 1], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 1], [1, 1]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 1], [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, 0]]}, {'patt': [0, 1], 'pos': [[0, 0], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'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, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 2], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], '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, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 2], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 2]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0], 'pos': [[0, 0]]}], 'ignore_parent': True, 'strategy_class': 'RequirementInsertionStrategy'}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], '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, 2], [0, 2]]}, {'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, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 1], [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, 2], [0, 2]]}, {'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, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 1], [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, 0]]}, {'patt': [0, 1], 'pos': [[0, 0], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'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, 0]]}, {'patt': [0, 1], 'pos': [[0, 0], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0], 'pos': [[0, 0]]}], 'ignore_parent': True, 'strategy_class': 'RequirementInsertionStrategy'}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], '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, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], '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, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], '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, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [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, 2], [0, 2]]}, {'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, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 1], [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, 2], [0, 2]]}, {'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, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 1], [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': [], '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, 2], [1, 2]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 3]]}, {'patt': [0, 1], 'pos': [[1, 3], [1, 3]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 0]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 0]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 3]]}, {'patt': [1, 0], 'pos': [[1, 4], [1, 3]]}, {'patt': [1, 0], 'pos': [[1, 4], [1, 4]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 2]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 3]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 2], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 3], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 4], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 4], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 3], [1, 4], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 4], [1, 4], [1, 2]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 0], [1, 4], [1, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 4], [1, 4], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 4], [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': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1], 'pos': [[1, 3], [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, 1]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 3]]}, {'patt': [1, 0], 'pos': [[1, 4], [1, 1]]}, {'patt': [1, 0], 'pos': [[1, 4], [1, 3]]}, {'patt': [1, 0], 'pos': [[1, 4], [1, 4]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 1]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 1], [1, 1]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 1], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 1], [1, 1], [1, 1]]}, {'patt': [0, 1, 2], 'pos': [[1, 1], [1, 1], [1, 3]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 1], [1, 1]]}, {'patt': [0, 2, 1], 'pos': [[1, 1], [1, 1], [1, 1]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 1], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 1], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 1], [1, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 0], [1, 4], [1, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 1], [1, 4], [1, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 4], [1, 4], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 1], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 4], [1, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 2]]}], [{'patt': [0], 'pos': [[1, 0]]}], [{'patt': [0], 'pos': [[1, 4]]}]]}, {'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, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 2], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 1], [0, 2], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 2], [0, 2], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 1], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 2], [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, 2]]}, {'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 0]]}], 'ignore_parent': False, 'include_empty': True, 'indices': [0, 0, 0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'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, 0], [0, 3], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 3], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 2], [0, 3], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 3], [0, 3], [0, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 3], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 3], [0, 3], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 3], [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, 2], [1, 2]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 3]]}, {'patt': [0, 1], 'pos': [[1, 3], [1, 3]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 0]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 0]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 3]]}, {'patt': [1, 0], 'pos': [[1, 4], [1, 3]]}, {'patt': [1, 0], 'pos': [[1, 4], [1, 4]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 2]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 3]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 2], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 3], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 4], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 4], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 3], [1, 4], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 4], [1, 4], [1, 2]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 0], [1, 4], [1, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 4], [1, 4], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 4], [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, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 3], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 1], [0, 3], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 3], [0, 3], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 1], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 3], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'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, 1]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1], 'pos': [[1, 3], [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, 1]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 3]]}, {'patt': [1, 0], 'pos': [[1, 4], [1, 1]]}, {'patt': [1, 0], 'pos': [[1, 4], [1, 3]]}, {'patt': [1, 0], 'pos': [[1, 4], [1, 4]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 1]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 1], [1, 1]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 1], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 1], [1, 1], [1, 1]]}, {'patt': [0, 1, 2], 'pos': [[1, 1], [1, 1], [1, 3]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 1], [1, 1]]}, {'patt': [0, 2, 1], 'pos': [[1, 1], [1, 1], [1, 1]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 1], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 1], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 1], [1, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 0], [1, 4], [1, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 1], [1, 4], [1, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 4], [1, 4], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 1], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 4], [1, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 2]]}], [{'patt': [0], 'pos': [[1, 0]]}], [{'patt': [0], 'pos': [[1, 4]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 2]], [[1, 0], [1, 1], [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': [0, 1], 'pos': [[0, 0], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'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, 2, 0], 'pos': [[0, 0], [0, 2], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 2], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 2], [0, 2], [0, 0]]}], '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, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'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, 0], [0, 3], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 3], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 2], [0, 3], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 3], [0, 3], [0, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 3], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 3], [0, 3], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 3], [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, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'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, 0], [0, 3], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 3], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 2], [0, 3], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 3], [0, 3], [0, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 3], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 3], [0, 3], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 3], [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'}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'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, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 2], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 2], [0, 2], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 2], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 2]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 3], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 1], [0, 3], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 3], [0, 3], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 1], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 3], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 1]]}], [{'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, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 3], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 1], [0, 3], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 3], [0, 3], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 1], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 3], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 3]]}]]}, '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]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 1]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 1], 'pos': [[0, 0], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'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, 2, 0], 'pos': [[0, 0], [0, 2], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 2], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 2], [0, 2], [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, 0]]}, {'patt': [0, 1], 'pos': [[0, 0], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'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, 2, 0], 'pos': [[0, 0], [0, 2], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 2], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 2], [0, 2], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}], [{'patt': [0], 'pos': [[0, 2]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0], 'pos': [[0, 0]]}], 'ignore_parent': True, 'strategy_class': 'RequirementInsertionStrategy'}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 1], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 1], [0, 1], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [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, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'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, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 2], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 2], [0, 2], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 2], [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, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'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, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 2], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 2], [0, 2], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 2], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 2]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0], 'pos': [[0, 1]]}], 'ignore_parent': True, 'strategy_class': 'RequirementInsertionStrategy'}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 2], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 1], [0, 2], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 2], [0, 2], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 1], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 2], [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, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 3], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 1], [0, 3], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 3], [0, 3], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 1], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 3], [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, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 3], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 1], [0, 3], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 3], [0, 3], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 1], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 3], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 1]]}], [{'patt': [0], 'pos': [[0, 3]]}]]}, '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': [[{'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, 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]]}], [{'patt': [0], 'pos': [[1, 1]]}]]}, '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, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[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, 2], [1, 2]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 3]]}, {'patt': [0, 1], 'pos': [[1, 3], [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, 1, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 2]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 3]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[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': [0, 1], 'pos': [[0, 0], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [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, 1]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[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, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 2]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0], 'pos': [[0, 0]]}], 'ignore_parent': True, 'strategy_class': 'RequirementInsertionStrategy'}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 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, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[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, 2], [1, 2]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 3]]}, {'patt': [0, 1], 'pos': [[1, 3], [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': [1, 0], 'pos': [[1, 4], [1, 0]]}, {'patt': [1, 0], 'pos': [[1, 4], [1, 2]]}, {'patt': [1, 0], 'pos': [[1, 4], [1, 3]]}, {'patt': [1, 0], 'pos': [[1, 4], [1, 4]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 2]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 3]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[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': [0, 1], 'pos': [[0, 0], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [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]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}], [{'patt': [0], 'pos': [[0, 2]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[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, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[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'}}, {'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, 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': [[1, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[1, 0], [1, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}], '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]]], '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, 2], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 3]]}, {'patt': [0, 1], 'pos': [[0, 3], [0, 3]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 3]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 1], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'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, 1]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1], 'pos': [[1, 3], [1, 3]]}, {'patt': [0, 1], 'pos': [[1, 3], [1, 4]]}, {'patt': [0, 1], 'pos': [[1, 4], [1, 4]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 0]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 1]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 3]]}, {'patt': [1, 0], 'pos': [[1, 4], [1, 0]]}, {'patt': [1, 0], 'pos': [[1, 4], [1, 1]]}, {'patt': [1, 0], 'pos': [[1, 4], [1, 3]]}, {'patt': [1, 0], 'pos': [[1, 4], [1, 4]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 1]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 4]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 1], [1, 1]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 1], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 1], [1, 4]]}, {'patt': [0, 1, 2], 'pos': [[1, 1], [1, 1], [1, 1]]}, {'patt': [0, 1, 2], 'pos': [[1, 1], [1, 1], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 1], [1, 1], [1, 4]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 1], [1, 1]]}, {'patt': [0, 2, 1], 'pos': [[1, 1], [1, 1], [1, 1]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 1], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 1], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 1], [1, 1]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 1], [1, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 2]]}], [{'patt': [0], 'pos': [[1, 0]]}], [{'patt': [0], 'pos': [[1, 4]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 2]], [[1, 0], [1, 1], [1, 3], [1, 4]]], 'strategy_class': 'FactorStrategy', 'workable': True}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 2]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 3]]}, {'patt': [0, 1], 'pos': [[0, 3], [0, 3]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 3]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 1], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 1]]}], [{'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, 2], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 3]]}, {'patt': [0, 1], 'pos': [[0, 3], [0, 3]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 3]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 1], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 3]]}]]}, '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, 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], '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, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'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]]}], [{'patt': [0], 'pos': [[1, 2]]}]]}, '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, 2], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 3]]}, {'patt': [0, 1], 'pos': [[0, 3], [0, 3]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 3]]}, {'patt': [1, 0], 'pos': [[0, 4], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 4], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 4], [0, 3]]}, {'patt': [1, 0], 'pos': [[0, 4], [0, 4]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 3]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 4], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 1], [0, 4], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 4], [0, 4], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 1], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 4], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 3]]}], [{'patt': [0], 'pos': [[0, 4]]}]]}], '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': [[0, 4]]}, {'patt': [0], 'pos': [[0, 5]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1], 'pos': [[1, 3], [1, 3]]}, {'patt': [0, 1], 'pos': [[1, 3], [1, 4]]}, {'patt': [0, 1], 'pos': [[1, 4], [1, 4]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 0]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 1]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 3]]}, {'patt': [1, 0], 'pos': [[1, 4], [1, 0]]}, {'patt': [1, 0], 'pos': [[1, 4], [1, 1]]}, {'patt': [1, 0], 'pos': [[1, 4], [1, 3]]}, {'patt': [1, 0], 'pos': [[1, 4], [1, 4]]}, {'patt': [1, 0], 'pos': [[1, 5], [1, 1]]}, {'patt': [1, 0], 'pos': [[1, 5], [1, 3]]}, {'patt': [1, 0], 'pos': [[1, 5], [1, 4]]}, {'patt': [1, 0], 'pos': [[1, 5], [1, 5]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 1]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 4]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 1], [1, 1]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 1], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 1], [1, 4]]}, {'patt': [0, 1, 2], 'pos': [[1, 1], [1, 1], [1, 1]]}, {'patt': [0, 1, 2], 'pos': [[1, 1], [1, 1], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 1], [1, 1], [1, 4]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 1], [1, 1]]}, {'patt': [0, 2, 1], 'pos': [[1, 1], [1, 1], [1, 1]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 1], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 1], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 1], [1, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 0], [1, 5], [1, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 1], [1, 5], [1, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 5], [1, 5], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 1], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 5], [1, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 2]]}], [{'patt': [0], 'pos': [[1, 0]]}], [{'patt': [0], 'pos': [[1, 4]]}], [{'patt': [0], 'pos': [[1, 5]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 2]], [[1, 0], [1, 1], [1, 3], [1, 4], [1, 5]]], 'strategy_class': 'FactorStrategy', 'workable': True}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 3], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 3], [0, 3], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 3], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 2]]}], [{'patt': [0], 'pos': [[0, 3]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 3]]}, {'patt': [0, 1], 'pos': [[0, 3], [0, 3]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 3]]}, {'patt': [1, 0], 'pos': [[0, 4], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 4], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 4], [0, 3]]}, {'patt': [1, 0], 'pos': [[0, 4], [0, 4]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 3]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 4], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 1], [0, 4], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 4], [0, 4], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 1], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 4], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 1]]}], [{'patt': [0], 'pos': [[0, 3]]}], [{'patt': [0], 'pos': [[0, 4]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 3]]}, {'patt': [0, 1], 'pos': [[0, 3], [0, 3]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 3]]}, {'patt': [1, 0], 'pos': [[0, 4], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 4], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 4], [0, 3]]}, {'patt': [1, 0], 'pos': [[0, 4], [0, 4]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 3]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 4], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 1], [0, 4], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 4], [0, 4], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 1], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 4], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 3]]}], [{'patt': [0], 'pos': [[0, 4]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0], 'pos': [[0, 1]]}], 'ignore_parent': True, 'strategy_class': 'RequirementInsertionStrategy'}}, {'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, 1, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 2], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[1, 2], [1, 2], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 2], [1, 2]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 0], [1, 2], [1, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 2], [1, 2], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 2], [1, 0]]}, {'patt': [3, 0, 1, 2], 'pos': [[1, 2], [1, 0], [1, 0], [1, 2]]}, {'patt': [3, 0, 1, 2], 'pos': [[1, 2], [1, 0], [1, 2], [1, 2]]}, {'patt': [3, 0, 1, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [3, 1, 2, 0], 'pos': [[1, 2], [1, 0], [1, 2], [1, 0]]}, {'patt': [3, 1, 2, 0], 'pos': [[1, 2], [1, 2], [1, 2], [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, 1, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [3, 0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [3, 1, 2, 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, 0]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 2]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[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, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [3, 0, 1, 2], '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, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 0]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 2], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 0, 3, 2], '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, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], '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': [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, 2], [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, 1, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[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, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_placement', 'direction': 2, 'gps': [{'patt': [0], 'pos': [[0, 0]]}], 'ignore_parent': False, 'include_empty': True, 'indices': [0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, 'rule_class': 'EquivalenceRule'}]}, {'class_module': 'comb_spec_searcher.strategies.rule', 'rule_class': 'EquivalencePathRule', 'rules': [{'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [], 'pos': []}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[1, 2], [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': [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, 1, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[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, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[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': [], 'pos': []}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[1, 0], [1, 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, 1], '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': [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, 2], [1, 2]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 3]]}, {'patt': [0, 1], 'pos': [[1, 3], [1, 3]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 0]]}, {'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, 1, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 2]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 3]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 2], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 0, 3, 2], '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': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], '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': [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, 0]]}, {'patt': [0, 1], 'pos': [[0, 0], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'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, 0]]}, {'patt': [0, 1], 'pos': [[0, 0], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'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'}}, '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, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], '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, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'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, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], '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, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'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, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], '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', '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, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 1]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 1], 'pos': [[0, 0], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'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, 2, 0], 'pos': [[0, 0], [0, 2], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 2], [0, 2], [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, 0]]}, {'patt': [0, 1], 'pos': [[0, 0], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'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, 2, 0], 'pos': [[0, 0], [0, 2], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 2], [0, 2], [0, 0]]}], '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', '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, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'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, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 2], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 2], [0, 2], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 2], [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, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 3], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 3], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 3], [0, 3], [0, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 3], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 3], [0, 3], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 3], [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, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 3], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 3], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 3], [0, 3], [0, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 3], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 3], [0, 3], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 3], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'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, 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, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], '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, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 2], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], '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, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 2], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], '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', '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, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'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, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 2], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 2], [0, 2], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 2], [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, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'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, 0], [0, 3], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 3], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 2], [0, 3], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 3], [0, 3], [0, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 3], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 3], [0, 3], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 3], [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, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'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, 0], [0, 3], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 3], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 2], [0, 3], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 3], [0, 3], [0, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 3], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 3], [0, 3], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 3], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'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, 1]]}], 'ignore_parent': True, 'strategy_class': 'RequirementInsertionStrategy'}}, 'rule_class': 'EquivalenceRule'}]}, {'class_module': 'comb_spec_searcher.strategies.rule', 'rule_class': 'EquivalencePathRule', 'rules': [{'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [], 'pos': []}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [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]]}], [{'patt': [0], 'pos': [[1, 1]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [], 'pos': []}], 'requirements': []}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 1]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_placement', 'direction': 2, 'gps': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 1]]}], 'ignore_parent': False, 'include_empty': True, 'indices': [0, 0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, 'rule_class': 'EquivalenceRule'}]}, {'class_module': 'comb_spec_searcher.strategies.rule', 'rule_class': 'EquivalencePathRule', 'rules': [{'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [], 'pos': []}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [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, 2], [1, 2]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 3]]}, {'patt': [0, 1], 'pos': [[1, 3], [1, 3]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 0]]}, {'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, 1, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 2]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 3]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 2], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 0, 3, 2], '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': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], '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': [], '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, 2], [1, 2]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 3]]}, {'patt': [0, 1], 'pos': [[1, 3], [1, 3]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 0]]}, {'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': [1, 0], 'pos': [[1, 4], [1, 3]]}, {'patt': [1, 0], 'pos': [[1, 4], [1, 4]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 2]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 3]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 2], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 4], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 4], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 4], [1, 4], [1, 2]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 0], [1, 4], [1, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 4], [1, 4], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 4], [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, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'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, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 2], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 2], [0, 2], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 2], [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, 0]]}, {'patt': [0], 'pos': [[0, 2]]}], 'ignore_parent': False, 'include_empty': True, 'indices': [0, 0, 0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, 'rule_class': 'EquivalenceRule'}]}, {'class_module': 'comb_spec_searcher.strategies.rule', 'rule_class': 'EquivalencePathRule', 'rules': [{'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [], 'pos': []}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [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, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'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, 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': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 1]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_placement', 'direction': 2, 'gps': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 1]]}], 'ignore_parent': False, 'include_empty': True, 'indices': [0, 0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, 'rule_class': 'EquivalenceRule'}]}, {'class_module': 'comb_spec_searcher.strategies.rule', 'rule_class': 'EquivalencePathRule', 'rules': [{'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [], 'pos': []}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [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, 2], [1, 2]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 3]]}, {'patt': [0, 1], 'pos': [[1, 3], [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, 1, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 2]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 3]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[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': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[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': [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, 0]]}, {'patt': [0, 1], 'pos': [[0, 0], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [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, 0]]}, {'patt': [0, 1], 'pos': [[0, 0], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [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, 1]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0], 'pos': [[0, 0]]}], 'ignore_parent': True, 'strategy_class': 'RequirementInsertionStrategy'}}, 'rule_class': 'EquivalenceRule'}]}, {'class_module': 'comb_spec_searcher.strategies.rule', 'rule_class': 'EquivalencePathRule', 'rules': [{'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[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, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[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, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[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', '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, 2], [1, 2]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 3]]}, {'patt': [0, 1], 'pos': [[1, 3], [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': [1, 0], 'pos': [[1, 4], [1, 0]]}, {'patt': [1, 0], 'pos': [[1, 4], [1, 2]]}, {'patt': [1, 0], 'pos': [[1, 4], [1, 3]]}, {'patt': [1, 0], 'pos': [[1, 4], [1, 4]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 2]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 3]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[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, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[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, 0]]}, {'patt': [0], 'pos': [[0, 2]]}], 'ignore_parent': False, 'include_empty': True, 'indices': [0, 0, 0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, 'rule_class': 'EquivalenceRule'}]}, {'class_module': 'comb_spec_searcher.strategies.rule', 'rule_class': 'EquivalencePathRule', 'rules': [{'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 1]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 1], 'pos': [[0, 0], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [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]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 1]]}], [{'patt': [0], 'pos': [[0, 2]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 1], 'pos': [[0, 0], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [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]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}], [{'patt': [0], 'pos': [[0, 2]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0], 'pos': [[0, 0]]}], 'ignore_parent': True, 'strategy_class': 'RequirementInsertionStrategy'}}, '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, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[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, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[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, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'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, 1]]}], 'ignore_parent': True, 'strategy_class': 'RequirementInsertionStrategy'}}, 'rule_class': 'EquivalenceRule'}]}, {'class_module': 'comb_spec_searcher.strategies.rule', 'rule_class': 'EquivalencePathRule', 'rules': [{'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [], 'pos': []}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [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, 2], [1, 2]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 3]]}, {'patt': [0, 1], 'pos': [[1, 3], [1, 3]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 0]]}, {'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': [1, 0], 'pos': [[1, 4], [1, 3]]}, {'patt': [1, 0], 'pos': [[1, 4], [1, 4]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 2]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 3]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 2], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 4], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 4], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 4], [1, 4], [1, 2]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 0], [1, 4], [1, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 4], [1, 4], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 4], [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, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 2], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 2], [0, 2], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 2], [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, 0]]}, {'patt': [0], 'pos': [[0, 2]]}], 'ignore_parent': False, 'include_empty': True, 'indices': [0, 0, 0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, 'rule_class': 'EquivalenceRule'}]}, {'class_module': 'comb_spec_searcher.strategies.rule', 'rule_class': 'EquivalencePathRule', 'rules': [{'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [], 'pos': []}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [], 'pos': []}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[1, 0], [1, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}], '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, 0]]}, {'patt': [0, 1], 'pos': [[0, 0], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 1]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_placement', 'direction': 2, 'gps': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 1]]}], 'ignore_parent': False, 'include_empty': True, 'indices': [0, 0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, 'rule_class': 'EquivalenceRule'}]}, {'class_module': 'comb_spec_searcher.strategies.rule', 'rule_class': 'EquivalencePathRule', 'rules': [{'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [], 'pos': []}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [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, 2], [1, 2]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 3]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 4]]}, {'patt': [0, 1], 'pos': [[1, 3], [1, 3]]}, {'patt': [0, 1], 'pos': [[1, 3], [1, 4]]}, {'patt': [0, 1], 'pos': [[1, 4], [1, 4]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 0]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 0]]}, {'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, 3]]}, {'patt': [1, 0], 'pos': [[1, 4], [1, 4]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 2]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 4]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 2], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 3], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 0, 3, 2], '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': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1], 'pos': [[1, 3], [1, 3]]}, {'patt': [0, 1], 'pos': [[1, 3], [1, 4]]}, {'patt': [0, 1], 'pos': [[1, 4], [1, 4]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 0]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 1]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 3]]}, {'patt': [1, 0], 'pos': [[1, 4], [1, 0]]}, {'patt': [1, 0], 'pos': [[1, 4], [1, 1]]}, {'patt': [1, 0], 'pos': [[1, 4], [1, 3]]}, {'patt': [1, 0], 'pos': [[1, 4], [1, 4]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 1]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 4]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 1], [1, 1]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 1], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 1], [1, 4]]}, {'patt': [0, 1, 2], 'pos': [[1, 1], [1, 1], [1, 1]]}, {'patt': [0, 1, 2], 'pos': [[1, 1], [1, 1], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 1], [1, 1], [1, 4]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 1], [1, 1]]}, {'patt': [0, 2, 1], 'pos': [[1, 1], [1, 1], [1, 1]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 1], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 1], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 1], [1, 1]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 1], [1, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 2]]}], [{'patt': [0], 'pos': [[1, 0]]}], [{'patt': [0], 'pos': [[1, 4]]}]]}, {'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, 2], [0, 2]]}, {'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, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 1], [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, 2]]}, {'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 1]]}], 'ignore_parent': False, 'include_empty': True, 'indices': [0, 0, 0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, 'rule_class': 'EquivalenceRule'}]}, {'class_module': 'comb_spec_searcher.strategies.rule', 'rule_class': 'EquivalencePathRule', 'rules': [{'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], '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, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], '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, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], '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', '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, 2], [0, 2]]}, {'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, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 1], [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, 2], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 3]]}, {'patt': [0, 1], 'pos': [[0, 3], [0, 3]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 3]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 1], [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, 2], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 3]]}, {'patt': [0, 1], 'pos': [[0, 3], [0, 3]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 3]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 1], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 1]]}], [{'patt': [0], 'pos': [[0, 3]]}]]}, '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': [[1, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[1, 0], [1, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'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]]}], [{'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': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 1], 'pos': [[0, 0], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'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, 2, 0], 'pos': [[0, 0], [0, 2], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 2], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 2], [0, 2], [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, 1]]}, {'patt': [0], 'pos': [[0, 2]]}], 'ignore_parent': False, 'include_empty': True, 'indices': [0, 0, 0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, 'rule_class': 'EquivalenceRule'}]}, {'class_module': 'comb_spec_searcher.strategies.rule', 'rule_class': 'EquivalencePathRule', 'rules': [{'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [], 'pos': []}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[0, 5]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 2]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 3]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 4]]}, {'patt': [0, 1], 'pos': [[1, 3], [1, 3]]}, {'patt': [0, 1], 'pos': [[1, 3], [1, 4]]}, {'patt': [0, 1], 'pos': [[1, 4], [1, 4]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 0]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 0]]}, {'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, 3]]}, {'patt': [1, 0], 'pos': [[1, 4], [1, 4]]}, {'patt': [1, 0], 'pos': [[1, 5], [1, 3]]}, {'patt': [1, 0], 'pos': [[1, 5], [1, 4]]}, {'patt': [1, 0], 'pos': [[1, 5], [1, 5]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 2]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 4]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 2], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 3], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 5], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 5], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 3], [1, 5], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 5], [1, 5], [1, 2]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 0], [1, 5], [1, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 5], [1, 5], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 5], [1, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}], [{'patt': [0], 'pos': [[1, 3]]}], [{'patt': [0], 'pos': [[1, 4]]}], [{'patt': [0], 'pos': [[1, 5]]}]]}, {'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': [[0, 4]]}, {'patt': [0], 'pos': [[0, 5]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1], 'pos': [[1, 3], [1, 3]]}, {'patt': [0, 1], 'pos': [[1, 3], [1, 4]]}, {'patt': [0, 1], 'pos': [[1, 4], [1, 4]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 0]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 1]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 3]]}, {'patt': [1, 0], 'pos': [[1, 4], [1, 0]]}, {'patt': [1, 0], 'pos': [[1, 4], [1, 1]]}, {'patt': [1, 0], 'pos': [[1, 4], [1, 3]]}, {'patt': [1, 0], 'pos': [[1, 4], [1, 4]]}, {'patt': [1, 0], 'pos': [[1, 5], [1, 1]]}, {'patt': [1, 0], 'pos': [[1, 5], [1, 3]]}, {'patt': [1, 0], 'pos': [[1, 5], [1, 4]]}, {'patt': [1, 0], 'pos': [[1, 5], [1, 5]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 1]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 0], [1, 4]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 1], [1, 1]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 1], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 0], [1, 1], [1, 4]]}, {'patt': [0, 1, 2], 'pos': [[1, 1], [1, 1], [1, 1]]}, {'patt': [0, 1, 2], 'pos': [[1, 1], [1, 1], [1, 3]]}, {'patt': [0, 1, 2], 'pos': [[1, 1], [1, 1], [1, 4]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 1], [1, 1]]}, {'patt': [0, 2, 1], 'pos': [[1, 1], [1, 1], [1, 1]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 0], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 1], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 1], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 1], [1, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 0], [1, 5], [1, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 1], [1, 5], [1, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[1, 0], [1, 5], [1, 5], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 1], [1, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[1, 0], [1, 0], [1, 5], [1, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 2]]}], [{'patt': [0], 'pos': [[1, 0]]}], [{'patt': [0], 'pos': [[1, 4]]}], [{'patt': [0], 'pos': [[1, 5]]}]]}, {'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, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 3], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 1], [0, 3], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 3], [0, 3], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 1], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 3], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 1]]}], [{'patt': [0], 'pos': [[0, 2]]}], [{'patt': [0], 'pos': [[0, 3]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_placement', 'direction': 2, 'gps': [{'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 3]]}], 'ignore_parent': False, 'include_empty': True, 'indices': [0, 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, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'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, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 2], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 2], [0, 2], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 2], [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, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 3], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 3], [0, 3], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 3], [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, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 3], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 3], [0, 3], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 3], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'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, 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, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 3], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 1], [0, 3], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 3], [0, 3], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 1], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 3], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 1]]}], [{'patt': [0], 'pos': [[0, 2]]}], [{'patt': [0], 'pos': [[0, 3]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 3]]}, {'patt': [0, 1], 'pos': [[0, 3], [0, 3]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 3]]}, {'patt': [1, 0], 'pos': [[0, 4], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 4], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 4], [0, 3]]}, {'patt': [1, 0], 'pos': [[0, 4], [0, 4]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 3]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 4], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 1], [0, 4], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 4], [0, 4], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 1], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 4], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 1]]}], [{'patt': [0], 'pos': [[0, 2]]}], [{'patt': [0], 'pos': [[0, 3]]}], [{'patt': [0], 'pos': [[0, 4]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 2], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 3]]}, {'patt': [0, 1], 'pos': [[0, 3], [0, 3]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 3]]}, {'patt': [1, 0], 'pos': [[0, 4], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 4], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 4], [0, 3]]}, {'patt': [1, 0], 'pos': [[0, 4], [0, 4]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 0], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 0], [0, 1], [0, 3]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 2]]}, {'patt': [0, 1, 2], 'pos': [[0, 1], [0, 1], [0, 3]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 1], [0, 1]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 0], [0, 4], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 1], [0, 4], [0, 0]]}, {'patt': [0, 2, 3, 1], 'pos': [[0, 0], [0, 4], [0, 4], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 1], [0, 0]]}, {'patt': [1, 0, 3, 2], 'pos': [[0, 0], [0, 0], [0, 4], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[0, 1]]}], [{'patt': [0], 'pos': [[0, 3]]}], [{'patt': [0], 'pos': [[0, 4]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0], 'pos': [[0, 2]]}], 'ignore_parent': True, 'strategy_class': 'RequirementInsertionStrategy'}}, 'rule_class': 'EquivalenceRule'}]}, {'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}], 'requirements': []}, 'rule_class': 'VerificationRule', 'strategy': {'class_module': 'tilings.strategies.verification', 'strategy_class': 'BasicVerificationStrategy'}}, {'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, 'rule_class': 'VerificationRule', 'strategy': {'class_module': 'tilings.strategies.verification', 'strategy_class': 'BasicVerificationStrategy'}}, {'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [], 'pos': []}], 'requirements': []}, 'rule_class': 'VerificationRule', 'strategy': {'class_module': 'comb_spec_searcher.strategies.strategy', 'strategy_class': 'EmptyStrategy'}}]}