0123_0321_1032_1302_2130

Counting sequence:
1, 1, 2, 6, 19, 48, 108, 248, 578, 1321, 2981, 6704, 15034, 33575, 74735, 165985, 367979, 814465, 1800284, 3975063, 8769228, 19331019, 42587172, 93773418, 206392942, 454103337, 998814864, 2196378641, 4828799116, 10614403476, 23328614665, 51266013754, 112648657855, 247505910435, 543768736311, 1194584957873, 2624207734858, 5764495019531, 12662199826497, 27812777660172, 61089832924689, 134179019039310, 294708618762379, 647283926681610, 1421646383167397, 3122367167829478, 6857608623533716, 15061157553976015, 33078167261083575, 72647784561831933, 159551726851549150, 350412132388041148, 769583054362812125, 1690171600112144309, 3711976494908493851, 8152276343676855326, 17904077399453624741, 39320993279270118305, 86356807223620914790, 189656752357234092544, 416523717675258964346, 914767879013027442348, 2009008908172238771671, 4412174078940313219423, 9689988571746203639099, 21281084926898478672486, 46737358078541987149042, 102644212138790714927876, 225426359633813324577303, 495079413713985992517974, 1087288979833130930545699, 2387894092555244527702855, 5244270681579247038029406, 11517417433590006202066968, 25294441228474858282406265, 55551405447440110656132623, 122001450519101073242271406, 267938376984252897149949803, 588443592099092497636028976, 1292333918691312293703892927, 2838210740922879934130095245, 6233249748024276292970317795, 13689399912509546090028280579, 30064520965350111838748019327, 66027394745803937010186832675, 145008690659300359335611747968, 318466604664722218688046306231, 699413098836122401644955590207, 1536043884215635623463461255405, 3373443832353632691187806939833, 7408722737549065776611784325271, 16270960825603298356896483886584, 35734117057341708863423408169900, 78478900722069047407892440820664, 172354555122462847237505318473888, 378523301881167362463745438174577, 831308982782583857877097413074524, 1825712236823850647791422253566929, 4009610431194631919261981666914745, 8805865171114832327283266208436759, 19339350467379331569504086651111900

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

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

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

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

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

Explicit closed form in Maple syntax:
2958853467/1433463493*Sum(_alpha^(-n+7),_alpha = RootOf(_Z^9+3*_Z^8+2*_Z^7-_Z^6-4*_Z^5-2*_Z^4-_Z^2+3*_Z-1))+907598163/130314863*Sum(_alpha^(-n+6),_alpha = RootOf(_Z^9+3*_Z^8+2*_Z^7-_Z^6-4*_Z^5-2*_Z^4-_Z^2+3*_Z-1))+10408359749/1433463493*Sum(_alpha^(-n+5),_alpha = RootOf(_Z^9+3*_Z^8+2*_Z^7-_Z^6-4*_Z^5-2*_Z^4-_Z^2+3*_Z-1))+4005958259/2866926986*Sum(_alpha^(-n+4),_alpha = RootOf(_Z^9+3*_Z^8+2*_Z^7-_Z^6-4*_Z^5-2*_Z^4-_Z^2+3*_Z-1))-21181048715/2866926986*Sum(_alpha^(-n+3),_alpha = RootOf(_Z^9+3*_Z^8+2*_Z^7-_Z^6-4*_Z^5-2*_Z^4-_Z^2+3*_Z-1))-10128655596/1433463493*Sum(_alpha^(-n+2),_alpha = RootOf(_Z^9+3*_Z^8+2*_Z^7-_Z^6-4*_Z^5-2*_Z^4-_Z^2+3*_Z-1))-10232087039/2866926986*Sum(_alpha^(1-n),_alpha = RootOf(_Z^9+3*_Z^8+2*_Z^7-_Z^6-4*_Z^5-2*_Z^4-_Z^2+3*_Z-1))-9435870897/2866926986*Sum(_alpha^(-n),_alpha = RootOf(_Z^9+3*_Z^8+2*_Z^7-_Z^6-4*_Z^5-2*_Z^4-_Z^2+3*_Z-1))+10603554065/2866926986*Sum(_alpha^(-n-1),_alpha = RootOf(_Z^9+3*_Z^8+2*_Z^7-_Z^6-4*_Z^5-2*_Z^4-_Z^2+3*_Z-1))-piecewise(n = 0,-7,n = 1,4,0)

Explicit closed form in latex syntax:
\frac{2958853467 \left(\munderset{\underline{\hspace{1.25 ex}}\alpha =\mathit{RootOf}\! \left(\textit{\_Z}^{9}+3 \textit{\_Z}^{8}+2 \textit{\_Z}^{7}-\textit{\_Z}^{6}-4 \textit{\_Z}^{5}-2 \textit{\_Z}^{4}-\textit{\_Z}^{2}+3 \textit{\_Z} -1\right)}{\textcolor{gray}{\sum}}\! \underline{\hspace{1.25 ex}}\alpha^{-n +7}\right)}{1433463493}+\frac{907598163 \left(\munderset{\underline{\hspace{1.25 ex}}\alpha =\mathit{RootOf}\! \left(\textit{\_Z}^{9}+3 \textit{\_Z}^{8}+2 \textit{\_Z}^{7}-\textit{\_Z}^{6}-4 \textit{\_Z}^{5}-2 \textit{\_Z}^{4}-\textit{\_Z}^{2}+3 \textit{\_Z} -1\right)}{\textcolor{gray}{\sum}}\! \underline{\hspace{1.25 ex}}\alpha^{-n +6}\right)}{130314863}+\frac{10408359749 \left(\munderset{\underline{\hspace{1.25 ex}}\alpha =\mathit{RootOf}\! \left(\textit{\_Z}^{9}+3 \textit{\_Z}^{8}+2 \textit{\_Z}^{7}-\textit{\_Z}^{6}-4 \textit{\_Z}^{5}-2 \textit{\_Z}^{4}-\textit{\_Z}^{2}+3 \textit{\_Z} -1\right)}{\textcolor{gray}{\sum}}\! \underline{\hspace{1.25 ex}}\alpha^{-n +5}\right)}{1433463493}+\frac{4005958259 \left(\munderset{\underline{\hspace{1.25 ex}}\alpha =\mathit{RootOf}\! \left(\textit{\_Z}^{9}+3 \textit{\_Z}^{8}+2 \textit{\_Z}^{7}-\textit{\_Z}^{6}-4 \textit{\_Z}^{5}-2 \textit{\_Z}^{4}-\textit{\_Z}^{2}+3 \textit{\_Z} -1\right)}{\textcolor{gray}{\sum}}\! \underline{\hspace{1.25 ex}}\alpha^{-n +4}\right)}{2866926986}-\frac{21181048715 \left(\munderset{\underline{\hspace{1.25 ex}}\alpha =\mathit{RootOf}\! \left(\textit{\_Z}^{9}+3 \textit{\_Z}^{8}+2 \textit{\_Z}^{7}-\textit{\_Z}^{6}-4 \textit{\_Z}^{5}-2 \textit{\_Z}^{4}-\textit{\_Z}^{2}+3 \textit{\_Z} -1\right)}{\textcolor{gray}{\sum}}\! \underline{\hspace{1.25 ex}}\alpha^{-n +3}\right)}{2866926986}-\frac{10128655596 \left(\munderset{\underline{\hspace{1.25 ex}}\alpha =\mathit{RootOf}\! \left(\textit{\_Z}^{9}+3 \textit{\_Z}^{8}+2 \textit{\_Z}^{7}-\textit{\_Z}^{6}-4 \textit{\_Z}^{5}-2 \textit{\_Z}^{4}-\textit{\_Z}^{2}+3 \textit{\_Z} -1\right)}{\textcolor{gray}{\sum}}\! \underline{\hspace{1.25 ex}}\alpha^{-n +2}\right)}{1433463493}-\frac{10232087039 \left(\munderset{\underline{\hspace{1.25 ex}}\alpha =\mathit{RootOf}\! \left(\textit{\_Z}^{9}+3 \textit{\_Z}^{8}+2 \textit{\_Z}^{7}-\textit{\_Z}^{6}-4 \textit{\_Z}^{5}-2 \textit{\_Z}^{4}-\textit{\_Z}^{2}+3 \textit{\_Z} -1\right)}{\textcolor{gray}{\sum}}\! \underline{\hspace{1.25 ex}}\alpha^{1-n}\right)}{2866926986}-\frac{9435870897 \left(\munderset{\underline{\hspace{1.25 ex}}\alpha =\mathit{RootOf}\! \left(\textit{\_Z}^{9}+3 \textit{\_Z}^{8}+2 \textit{\_Z}^{7}-\textit{\_Z}^{6}-4 \textit{\_Z}^{5}-2 \textit{\_Z}^{4}-\textit{\_Z}^{2}+3 \textit{\_Z} -1\right)}{\textcolor{gray}{\sum}}\! \underline{\hspace{1.25 ex}}\alpha^{-n}\right)}{2866926986}+\frac{10603554065 \left(\munderset{\underline{\hspace{1.25 ex}}\alpha =\mathit{RootOf}\! \left(\textit{\_Z}^{9}+3 \textit{\_Z}^{8}+2 \textit{\_Z}^{7}-\textit{\_Z}^{6}-4 \textit{\_Z}^{5}-2 \textit{\_Z}^{4}-\textit{\_Z}^{2}+3 \textit{\_Z} -1\right)}{\textcolor{gray}{\sum}}\! \underline{\hspace{1.25 ex}}\alpha^{-n -1}\right)}{2866926986}-\left(\left\{\begin{array}{cc}-7 & n =0 \\ 4 & n =1 \\ 0 & \mathit{\text{otherwise}} \end{array}\right.\right)

Recurrence in maple format:
a(0) = 1
a(1) = 1
a(2) = 2
a(3) = 6
a(4) = 19
a(5) = 48
a(6) = 108
a(7) = 248
a(8) = 578
a(9) = 1321
a(10) = 2981
a(n+8) = -a(n)-4*a(n+1)-6*a(n+2)-5*a(n+3)-a(n+4)+a(n+5)+a(n+6)+2*a(n+7)+1, n >= 11

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) = 48
a \! \left(6\right) = 108
a \! \left(7\right) = 248
a \! \left(8\right) = 578
a \! \left(9\right) = 1321
a \! \left(10\right) = 2981
a \! \left(n +8\right) = -a \! \left(n \right)-4 a \! \left(n +1\right)-6 a \! \left(n +2\right)-5 a \! \left(n +3\right)-a \! \left(n +4\right)+a \! \left(n +5\right)+a \! \left(n +6\right)+2 a \! \left(n +7\right)+1, \quad n \geq 11

Specification 1
Strategy pack name: point_placements
Tree: http://permpal.com/tree/17721/
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[25,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[14,x]
F[10,x] = F[1,x]+F[11,x]
F[11,x] = F[12,x]
F[12,x] = F[13,x]*F[4,x]
F[13,x] = F[1,x]+F[4,x]
F[14,x] = F[15,x]+F[17,x]
F[15,x] = F[16,x]
F[16,x] = F[13,x]*F[4,x]
F[17,x] = F[18,x]+F[19,x]+F[23,x]
F[18,x] = 0
F[19,x] = F[20,x]*F[4,x]
F[20,x] = F[21,x]+F[4,x]
F[21,x] = F[22,x]
F[22,x] = x^2
F[23,x] = F[24,x]*F[4,x]
F[24,x] = F[15,x]
F[25,x] = F[2,x]+F[26,x]
F[26,x] = F[18,x]+F[27,x]+F[94,x]
F[27,x] = F[28,x]*F[4,x]
F[28,x] = F[29,x]+F[43,x]
F[29,x] = F[15,x]+F[30,x]
F[30,x] = F[18,x]+F[31,x]+F[39,x]
F[31,x] = F[32,x]*F[4,x]
F[32,x] = F[33,x]+F[35,x]
F[33,x] = F[34,x]+F[4,x]
F[34,x] = F[22,x]
F[35,x] = F[36,x]
F[36,x] = F[37,x]
F[37,x] = F[38,x]*F[4,x]
F[38,x] = F[4,x]
F[39,x] = F[4,x]*F[40,x]
F[40,x] = F[15,x]+F[41,x]
F[41,x] = F[18,x]+F[19,x]+F[42,x]
F[42,x] = F[15,x]*F[4,x]
F[43,x] = F[44,x]+F[89,x]
F[44,x] = F[45,x]
F[45,x] = F[4,x]*F[46,x]
F[46,x] = F[47,x]+F[53,x]
F[47,x] = F[15,x]+F[48,x]
F[48,x] = F[49,x]
F[49,x] = F[4,x]*F[50,x]
F[50,x] = F[51,x]+F[52,x]
F[51,x] = F[4,x]
F[52,x] = F[36,x]
F[53,x] = F[44,x]+F[54,x]
F[54,x] = 2*F[18,x]+F[55,x]+F[67,x]
F[55,x] = F[4,x]*F[56,x]
F[56,x] = F[57,x]+F[62,x]
F[57,x] = F[58,x]+F[59,x]
F[58,x] = F[37,x]
F[59,x] = F[60,x]
F[60,x] = F[4,x]*F[61,x]
F[61,x] = F[36,x]
F[62,x] = F[63,x]
F[63,x] = F[4,x]*F[64,x]
F[64,x] = F[65,x]+F[66,x]
F[65,x] = F[58,x]
F[66,x] = F[63,x]
F[67,x] = F[4,x]*F[68,x]
F[68,x] = F[69,x]+F[86,x]
F[69,x] = F[70,x]
F[70,x] = F[71,x]
F[71,x] = F[4,x]*F[72,x]
F[72,x] = F[73,x]+F[75,x]
F[73,x] = F[4,x]+F[74,x]
F[74,x] = F[49,x]
F[75,x] = F[70,x]+F[76,x]
F[76,x] = 2*F[18,x]+F[67,x]+F[77,x]
F[77,x] = F[4,x]*F[78,x]
F[78,x] = F[79,x]+F[81,x]
F[79,x] = F[36,x]+F[80,x]
F[80,x] = F[60,x]
F[81,x] = F[82,x]
F[82,x] = F[4,x]*F[83,x]
F[83,x] = F[84,x]+F[85,x]
F[84,x] = F[36,x]
F[85,x] = F[82,x]
F[86,x] = F[87,x]
F[87,x] = F[4,x]*F[88,x]
F[88,x] = F[70,x]
F[89,x] = 2*F[18,x]+F[55,x]+F[90,x]
F[90,x] = F[4,x]*F[91,x]
F[91,x] = F[92,x]+F[93,x]
F[92,x] = F[70,x]
F[93,x] = F[87,x]
F[94,x] = F[4,x]*F[95,x]
F[95,x] = F[108,x]+F[96,x]
F[96,x] = F[2,x]+F[97,x]
F[97,x] = F[104,x]+F[18,x]+F[98,x]
F[98,x] = F[4,x]*F[99,x]
F[99,x] = F[100,x]+F[102,x]
F[100,x] = F[101,x]+F[4,x]
F[101,x] = F[18,x]+F[31,x]+F[42,x]
F[102,x] = F[103,x]+F[70,x]
F[103,x] = 2*F[18,x]+F[77,x]+F[90,x]
F[104,x] = F[105,x]*F[4,x]
F[105,x] = F[106,x]+F[2,x]
F[106,x] = F[107,x]
F[107,x] = F[2,x]*F[4,x]
F[108,x] = F[109,x]+F[111,x]
F[109,x] = F[110,x]
F[110,x] = F[105,x]*F[4,x]
F[111,x] = 2*F[18,x]+F[112,x]+F[114,x]
F[112,x] = F[113,x]*F[4,x]
F[113,x] = F[70,x]
F[114,x] = F[115,x]*F[4,x]
F[115,x] = F[109,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_{25}\! \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_{14}\! \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_{13}\! \left(x \right) F_{4}\! \left(x \right)
F_{13}\! \left(x \right) = F_{1}\! \left(x \right)+F_{4}\! \left(x \right)
F_{14}\! \left(x \right) = F_{15}\! \left(x \right)+F_{17}\! \left(x \right)
F_{15}\! \left(x \right) = F_{16}\! \left(x \right)
F_{16}\! \left(x \right) = F_{13}\! \left(x \right) F_{4}\! \left(x \right)
F_{17}\! \left(x \right) = F_{18}\! \left(x \right)+F_{19}\! \left(x \right)+F_{23}\! \left(x \right)
F_{18}\! \left(x \right) = 0
F_{19}\! \left(x \right) = F_{20}\! \left(x \right) F_{4}\! \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_{22}\! \left(x \right) = x^{2}
F_{23}\! \left(x \right) = F_{24}\! \left(x \right) F_{4}\! \left(x \right)
F_{24}\! \left(x \right) = F_{15}\! \left(x \right)
F_{25}\! \left(x \right) = F_{2}\! \left(x \right)+F_{26}\! \left(x \right)
F_{26}\! \left(x \right) = F_{18}\! \left(x \right)+F_{27}\! \left(x \right)+F_{94}\! \left(x \right)
F_{27}\! \left(x \right) = F_{28}\! \left(x \right) F_{4}\! \left(x \right)
F_{28}\! \left(x \right) = F_{29}\! \left(x \right)+F_{43}\! \left(x \right)
F_{29}\! \left(x \right) = F_{15}\! \left(x \right)+F_{30}\! \left(x \right)
F_{30}\! \left(x \right) = F_{18}\! \left(x \right)+F_{31}\! \left(x \right)+F_{39}\! \left(x \right)
F_{31}\! \left(x \right) = F_{32}\! \left(x \right) F_{4}\! \left(x \right)
F_{32}\! \left(x \right) = F_{33}\! \left(x \right)+F_{35}\! \left(x \right)
F_{33}\! \left(x \right) = F_{34}\! \left(x \right)+F_{4}\! \left(x \right)
F_{34}\! \left(x \right) = F_{22}\! \left(x \right)
F_{35}\! \left(x \right) = F_{36}\! \left(x \right)
F_{36}\! \left(x \right) = F_{37}\! \left(x \right)
F_{37}\! \left(x \right) = F_{38}\! \left(x \right) F_{4}\! \left(x \right)
F_{38}\! \left(x \right) = F_{4}\! \left(x \right)
F_{39}\! \left(x \right) = F_{4}\! \left(x \right) F_{40}\! \left(x \right)
F_{40}\! \left(x \right) = F_{15}\! \left(x \right)+F_{41}\! \left(x \right)
F_{41}\! \left(x \right) = F_{18}\! \left(x \right)+F_{19}\! \left(x \right)+F_{42}\! \left(x \right)
F_{42}\! \left(x \right) = F_{15}\! \left(x \right) F_{4}\! \left(x \right)
F_{43}\! \left(x \right) = F_{44}\! \left(x \right)+F_{89}\! \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_{53}\! \left(x \right)
F_{47}\! \left(x \right) = F_{15}\! \left(x \right)+F_{48}\! \left(x \right)
F_{48}\! \left(x \right) = F_{49}\! \left(x \right)
F_{49}\! \left(x \right) = F_{4}\! \left(x \right) F_{50}\! \left(x \right)
F_{50}\! \left(x \right) = F_{51}\! \left(x \right)+F_{52}\! \left(x \right)
F_{51}\! \left(x \right) = F_{4}\! \left(x \right)
F_{52}\! \left(x \right) = F_{36}\! \left(x \right)
F_{53}\! \left(x \right) = F_{44}\! \left(x \right)+F_{54}\! \left(x \right)
F_{54}\! \left(x \right) = 2 F_{18}\! \left(x \right)+F_{55}\! \left(x \right)+F_{67}\! \left(x \right)
F_{55}\! \left(x \right) = F_{4}\! \left(x \right) F_{56}\! \left(x \right)
F_{56}\! \left(x \right) = F_{57}\! \left(x \right)+F_{62}\! \left(x \right)
F_{57}\! \left(x \right) = F_{58}\! \left(x \right)+F_{59}\! \left(x \right)
F_{58}\! \left(x \right) = F_{37}\! \left(x \right)
F_{59}\! \left(x \right) = F_{60}\! \left(x \right)
F_{60}\! \left(x \right) = F_{4}\! \left(x \right) F_{61}\! \left(x \right)
F_{61}\! \left(x \right) = F_{36}\! \left(x \right)
F_{62}\! \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_{65}\! \left(x \right)+F_{66}\! \left(x \right)
F_{65}\! \left(x \right) = F_{58}\! \left(x \right)
F_{66}\! \left(x \right) = F_{63}\! \left(x \right)
F_{67}\! \left(x \right) = F_{4}\! \left(x \right) F_{68}\! \left(x \right)
F_{68}\! \left(x \right) = F_{69}\! \left(x \right)+F_{86}\! \left(x \right)
F_{69}\! \left(x \right) = F_{70}\! \left(x \right)
F_{70}\! \left(x \right) = F_{71}\! \left(x \right)
F_{71}\! \left(x \right) = F_{4}\! \left(x \right) F_{72}\! \left(x \right)
F_{72}\! \left(x \right) = F_{73}\! \left(x \right)+F_{75}\! \left(x \right)
F_{73}\! \left(x \right) = F_{4}\! \left(x \right)+F_{74}\! \left(x \right)
F_{74}\! \left(x \right) = F_{49}\! \left(x \right)
F_{75}\! \left(x \right) = F_{70}\! \left(x \right)+F_{76}\! \left(x \right)
F_{76}\! \left(x \right) = 2 F_{18}\! \left(x \right)+F_{67}\! \left(x \right)+F_{77}\! \left(x \right)
F_{77}\! \left(x \right) = F_{4}\! \left(x \right) F_{78}\! \left(x \right)
F_{78}\! \left(x \right) = F_{79}\! \left(x \right)+F_{81}\! \left(x \right)
F_{79}\! \left(x \right) = F_{36}\! \left(x \right)+F_{80}\! \left(x \right)
F_{80}\! \left(x \right) = F_{60}\! \left(x \right)
F_{81}\! \left(x \right) = F_{82}\! \left(x \right)
F_{82}\! \left(x \right) = F_{4}\! \left(x \right) F_{83}\! \left(x \right)
F_{83}\! \left(x \right) = F_{84}\! \left(x \right)+F_{85}\! \left(x \right)
F_{84}\! \left(x \right) = F_{36}\! \left(x \right)
F_{85}\! \left(x \right) = F_{82}\! \left(x \right)
F_{86}\! \left(x \right) = F_{87}\! \left(x \right)
F_{87}\! \left(x \right) = F_{4}\! \left(x \right) F_{88}\! \left(x \right)
F_{88}\! \left(x \right) = F_{70}\! \left(x \right)
F_{89}\! \left(x \right) = 2 F_{18}\! \left(x \right)+F_{55}\! \left(x \right)+F_{90}\! \left(x \right)
F_{90}\! \left(x \right) = F_{4}\! \left(x \right) F_{91}\! \left(x \right)
F_{91}\! \left(x \right) = F_{92}\! \left(x \right)+F_{93}\! \left(x \right)
F_{92}\! \left(x \right) = F_{70}\! \left(x \right)
F_{93}\! \left(x \right) = F_{87}\! \left(x \right)
F_{94}\! \left(x \right) = F_{4}\! \left(x \right) F_{95}\! \left(x \right)
F_{95}\! \left(x \right) = F_{108}\! \left(x \right)+F_{96}\! \left(x \right)
F_{96}\! \left(x \right) = F_{2}\! \left(x \right)+F_{97}\! \left(x \right)
F_{97}\! \left(x \right) = F_{104}\! \left(x \right)+F_{18}\! \left(x \right)+F_{98}\! \left(x \right)
F_{98}\! \left(x \right) = F_{4}\! \left(x \right) F_{99}\! \left(x \right)
F_{99}\! \left(x \right) = F_{100}\! \left(x \right)+F_{102}\! \left(x \right)
F_{100}\! \left(x \right) = F_{101}\! \left(x \right)+F_{4}\! \left(x \right)
F_{101}\! \left(x \right) = F_{18}\! \left(x \right)+F_{31}\! \left(x \right)+F_{42}\! \left(x \right)
F_{102}\! \left(x \right) = F_{103}\! \left(x \right)+F_{70}\! \left(x \right)
F_{103}\! \left(x \right) = 2 F_{18}\! \left(x \right)+F_{77}\! \left(x \right)+F_{90}\! \left(x \right)
F_{104}\! \left(x \right) = F_{105}\! \left(x \right) F_{4}\! \left(x \right)
F_{105}\! \left(x \right) = F_{106}\! \left(x \right)+F_{2}\! \left(x \right)
F_{106}\! \left(x \right) = F_{107}\! \left(x \right)
F_{107}\! \left(x \right) = F_{2}\! \left(x \right) F_{4}\! \left(x \right)
F_{108}\! \left(x \right) = F_{109}\! \left(x \right)+F_{111}\! \left(x \right)
F_{109}\! \left(x \right) = F_{110}\! \left(x \right)
F_{110}\! \left(x \right) = F_{105}\! \left(x \right) F_{4}\! \left(x \right)
F_{111}\! \left(x \right) = 2 F_{18}\! \left(x \right)+F_{112}\! \left(x \right)+F_{114}\! \left(x \right)
F_{112}\! \left(x \right) = F_{113}\! \left(x \right) F_{4}\! \left(x \right)
F_{113}\! \left(x \right) = F_{70}\! \left(x \right)
F_{114}\! \left(x \right) = F_{115}\! \left(x \right) F_{4}\! \left(x \right)
F_{115}\! \left(x \right) = F_{109}\! \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_25(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_14(x))
Eq(F_10(x), F_1(x) + F_11(x))
Eq(F_11(x), F_12(x))
Eq(F_12(x), F_13(x)*F_4(x))
Eq(F_13(x), F_1(x) + F_4(x))
Eq(F_14(x), F_15(x) + F_17(x))
Eq(F_15(x), F_16(x))
Eq(F_16(x), F_13(x)*F_4(x))
Eq(F_17(x), F_18(x) + F_19(x) + F_23(x))
Eq(F_18(x), 0)
Eq(F_19(x), F_20(x)*F_4(x))
Eq(F_20(x), F_21(x) + F_4(x))
Eq(F_21(x), F_22(x))
Eq(F_22(x), x**2)
Eq(F_23(x), F_24(x)*F_4(x))
Eq(F_24(x), F_15(x))
Eq(F_25(x), F_2(x) + F_26(x))
Eq(F_26(x), F_18(x) + F_27(x) + F_94(x))
Eq(F_27(x), F_28(x)*F_4(x))
Eq(F_28(x), F_29(x) + F_43(x))
Eq(F_29(x), F_15(x) + F_30(x))
Eq(F_30(x), F_18(x) + F_31(x) + F_39(x))
Eq(F_31(x), F_32(x)*F_4(x))
Eq(F_32(x), F_33(x) + F_35(x))
Eq(F_33(x), F_34(x) + F_4(x))
Eq(F_34(x), F_22(x))
Eq(F_35(x), F_36(x))
Eq(F_36(x), F_37(x))
Eq(F_37(x), F_38(x)*F_4(x))
Eq(F_38(x), F_4(x))
Eq(F_39(x), F_4(x)*F_40(x))
Eq(F_40(x), F_15(x) + F_41(x))
Eq(F_41(x), F_18(x) + F_19(x) + F_42(x))
Eq(F_42(x), F_15(x)*F_4(x))
Eq(F_43(x), F_44(x) + F_89(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_53(x))
Eq(F_47(x), F_15(x) + F_48(x))
Eq(F_48(x), F_49(x))
Eq(F_49(x), F_4(x)*F_50(x))
Eq(F_50(x), F_51(x) + F_52(x))
Eq(F_51(x), F_4(x))
Eq(F_52(x), F_36(x))
Eq(F_53(x), F_44(x) + F_54(x))
Eq(F_54(x), 2*F_18(x) + F_55(x) + F_67(x))
Eq(F_55(x), F_4(x)*F_56(x))
Eq(F_56(x), F_57(x) + F_62(x))
Eq(F_57(x), F_58(x) + F_59(x))
Eq(F_58(x), F_37(x))
Eq(F_59(x), F_60(x))
Eq(F_60(x), F_4(x)*F_61(x))
Eq(F_61(x), F_36(x))
Eq(F_62(x), F_63(x))
Eq(F_63(x), F_4(x)*F_64(x))
Eq(F_64(x), F_65(x) + F_66(x))
Eq(F_65(x), F_58(x))
Eq(F_66(x), F_63(x))
Eq(F_67(x), F_4(x)*F_68(x))
Eq(F_68(x), F_69(x) + F_86(x))
Eq(F_69(x), F_70(x))
Eq(F_70(x), F_71(x))
Eq(F_71(x), F_4(x)*F_72(x))
Eq(F_72(x), F_73(x) + F_75(x))
Eq(F_73(x), F_4(x) + F_74(x))
Eq(F_74(x), F_49(x))
Eq(F_75(x), F_70(x) + F_76(x))
Eq(F_76(x), 2*F_18(x) + F_67(x) + F_77(x))
Eq(F_77(x), F_4(x)*F_78(x))
Eq(F_78(x), F_79(x) + F_81(x))
Eq(F_79(x), F_36(x) + F_80(x))
Eq(F_80(x), F_60(x))
Eq(F_81(x), F_82(x))
Eq(F_82(x), F_4(x)*F_83(x))
Eq(F_83(x), F_84(x) + F_85(x))
Eq(F_84(x), F_36(x))
Eq(F_85(x), F_82(x))
Eq(F_86(x), F_87(x))
Eq(F_87(x), F_4(x)*F_88(x))
Eq(F_88(x), F_70(x))
Eq(F_89(x), 2*F_18(x) + F_55(x) + F_90(x))
Eq(F_90(x), F_4(x)*F_91(x))
Eq(F_91(x), F_92(x) + F_93(x))
Eq(F_92(x), F_70(x))
Eq(F_93(x), F_87(x))
Eq(F_94(x), F_4(x)*F_95(x))
Eq(F_95(x), F_108(x) + F_96(x))
Eq(F_96(x), F_2(x) + F_97(x))
Eq(F_97(x), F_104(x) + F_18(x) + F_98(x))
Eq(F_98(x), F_4(x)*F_99(x))
Eq(F_99(x), F_100(x) + F_102(x))
Eq(F_100(x), F_101(x) + F_4(x))
Eq(F_101(x), F_18(x) + F_31(x) + F_42(x))
Eq(F_102(x), F_103(x) + F_70(x))
Eq(F_103(x), 2*F_18(x) + F_77(x) + F_90(x))
Eq(F_104(x), F_105(x)*F_4(x))
Eq(F_105(x), F_106(x) + F_2(x))
Eq(F_106(x), F_107(x))
Eq(F_107(x), F_2(x)*F_4(x))
Eq(F_108(x), F_109(x) + F_111(x))
Eq(F_109(x), F_110(x))
Eq(F_110(x), F_105(x)*F_4(x))
Eq(F_111(x), F_112(x) + F_114(x) + 2*F_18(x))
Eq(F_112(x), F_113(x)*F_4(x))
Eq(F_113(x), F_70(x))
Eq(F_114(x), F_115(x)*F_4(x))
Eq(F_115(x), F_109(x))
Pack JSON:
{"expansion_strats": [[{"class_module": "tilings.strategies.requirement_insertion", "extra_basis": [], "ignore_parent": false, "maxreqlen": 1, "one_cell_only": false, "strategy_class": "CellInsertionFactory"}, {"class_module": "tilings.strategies.requirement_placement", "dirs": [0, 1, 2, 3], "ignore_parent": false, "partial": false, "point_only": false, "strategy_class": "PatternPlacementFactory"}]], "inferral_strats": [{"class_module": "tilings.strategies.row_and_col_separation", "ignore_parent": true, "inferrable": true, "possibly_empty": false, "strategy_class": "RowColumnSeparationStrategy", "workable": true}, {"class_module": "tilings.strategies.obstruction_inferral", "strategy_class": "ObstructionTransitivityFactory"}], "initial_strats": [{"class_module": "tilings.strategies.factor", "ignore_parent": true, "interleaving": null, "strategy_class": "FactorFactory", "tracked": false, "unions": false, "workable": true}], "iterative": false, "name": "point_placements", "symmetries": [], "ver_strats": [{"class_module": "tilings.strategies.verification", "strategy_class": "BasicVerificationStrategy"}, {"class_module": "tilings.strategies.verification", "ignore_parent": false, "strategy_class": "InsertionEncodingVerificationStrategy"}, {"basis": [], "class_module": "tilings.strategies.verification", "ignore_parent": false, "strategy_class": "OneByOneVerificationStrategy", "symmetry": false}, {"basis": [], "class_module": "tilings.strategies.verification", "ignore_parent": false, "strategy_class": "LocallyFactorableVerificationStrategy", "symmetry": false}]}
Specification JSON:
{"root": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 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, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 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, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 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, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 2]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 2], [1, 0], [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": [1, 0, 3, 2], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 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, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 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, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 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, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 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, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 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, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 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, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 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": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [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": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [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": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [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": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [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": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "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, 0], [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": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [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": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "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": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [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, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 3], [1, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 3], [1, 3]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 2], [1, 0], [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": [1, 0, 3, 2], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 2], [1, 2], [1, 3], [1, 2]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 2], [1, 2], [1, 2], [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, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"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, 3], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 3]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 1], [1, 3]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 1]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 3]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 3], [1, 0], [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]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 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, 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, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [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, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [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, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 2], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [0, 1], [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": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [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, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 3], [1, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 3], [1, 3]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 2], [1, 0], [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": [1, 0, 3, 2], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 2], [1, 2], [1, 3], [1, 2]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 2], [1, 2], [1, 2], [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, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"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, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [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": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 2], [0, 0], [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]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"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, 3], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 3]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 1], [1, 3]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 1]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 3]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 3], [1, 0], [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]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 1], [0, 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, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 0], [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, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [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, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [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, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 2], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [0, 1], [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": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [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, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [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, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 2], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [0, 1], [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": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"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, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [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": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 2], [0, 0], [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]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"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, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [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": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 2], [0, 0], [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]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "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, 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, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 0], [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, 3, 0, 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": [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, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 0], [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, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [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, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 3, 2, 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": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "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": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [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, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [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, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 2], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [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": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [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, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [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, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 2], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [0, 1], [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, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"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, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [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": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 2], [0, 0], [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]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"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, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [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": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 2], [0, 0], [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]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"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": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "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], "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, 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]]}, {"patt": [1, 0], "pos": [[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]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [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": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 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, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [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": [0, 1, 2], "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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1]]], "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": [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, 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, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 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, 0], [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": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 2], [1, 2]]}], "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": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [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": [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, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 0], [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, 3, 0, 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"}}, {"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, 0], [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": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 1], [0, 1]]}], "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, 0], [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": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [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]]}], "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, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [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": [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": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 0], [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": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 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": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 1], [0, 1]]}], "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, 0], [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": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 1], [0, 1]]}], "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]]}, {"patt": [0, 1, 2], "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, 0], [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]]}], "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, 0], [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]]}], "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]]}, {"patt": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 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": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 0], [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": [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, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [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, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [0, 1], [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": [1, 0], "pos": [[0, 1], [0, 1]]}, {"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, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 3], [1, 3]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 2], [1, 0], [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": [1, 0, 3, 2], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 2], [1, 2], [1, 2], [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": [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, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"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, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [0, 1], [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": [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, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [0, 1], [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]]}, {"patt": [0, 1, 2], "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, 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": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 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": [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, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [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, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 3, 2, 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": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "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": [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, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [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": [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, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 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": [1, 0], "pos": [[0, 1], [0, 1]]}, {"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, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 3], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [1, 4], [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, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 3], [1, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 3], [1, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 4], [1, 4]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 2], [1, 0], [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": [1, 0, 3, 2], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 2], [1, 2], [1, 3], [1, 2]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 2], [1, 2], [1, 2], [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, 0], [1, 1]]}, {"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, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 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, 3], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 4], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 4], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 3]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 1], [1, 3]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 1]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 4]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 3], [1, 0], [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]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [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, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [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, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [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, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 2], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [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"}}, {"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, 0]]}, {"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, 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, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"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, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 3], [0, 3]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 2], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [0, 1], [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": [1, 0], "pos": [[0, 1], [0, 1]]}, {"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, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 3], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [1, 4], [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, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 3], [1, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 3], [1, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 4], [1, 4]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 2], [1, 0], [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": [1, 0, 3, 2], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 2], [1, 2], [1, 3], [1, 2]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 2], [1, 2], [1, 2], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 3]]}], [{"patt": [0], "pos": [[1, 4]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2], [1, 3], [1, 4]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [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, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 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, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 3], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 3], [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": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 3]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 2], [0, 0], [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]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [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, 0], [1, 1]]}, {"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, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 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, 3], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 4], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 4], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 3]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 1], [1, 3]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 1]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 4]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 3], [1, 0], [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]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [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": [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, 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, 2], [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, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 0], [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, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"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, 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, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"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, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 3], [0, 3]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 2], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [0, 1], [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": [1, 0], "pos": [[0, 2], [0, 0]]}, {"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, 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, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"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, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 3], [0, 3]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 2], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [0, 1], [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": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "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, 0], [0, 1]]}, {"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, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 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, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 3], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 3], [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": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 3]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 2], [0, 0], [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]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [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, 0], [0, 1]]}, {"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, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 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, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 3], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 3], [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": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 3]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 2], [0, 0], [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]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [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": [1, 0], "pos": [[0, 0], [0, 0]]}, {"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, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [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, 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, 2], [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, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 0], [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, 3, 0, 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": [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, 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, 2], [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, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 0], [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, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [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": [], "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, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [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, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 3], [1, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 3]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 2], [1, 0], [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": [1, 0, 3, 2], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 2], [1, 2], [1, 3], [1, 2]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 2], [1, 2], [1, 2], [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": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [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, 0], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 2], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [0, 1], [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, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [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, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 3], [1, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 3]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 2], [1, 0], [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": [1, 0, 3, 2], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 2], [1, 2], [1, 3], [1, 2]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 2], [1, 2], [1, 2], [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, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 2]], [[1, 0], [1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"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, 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, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 0], [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, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"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, 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, 0], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 2], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [0, 1], [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, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [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, 0], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 2], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [0, 1], [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, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"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, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 0], [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, 3, 0, 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, 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, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 0], [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, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [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": [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, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 3, 2, 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": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "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, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [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, 0], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 2], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [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, 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, 0], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 2], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [0, 1], [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, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"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, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 3]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"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, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [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": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 2], [0, 0], [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]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 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"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 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, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 3, 2, 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": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"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, 2]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 3]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 3]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 3]], [[1, 0], [1, 1], [1, 2]]], "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, 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": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [0, 1], [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, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"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, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 3]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 2], [1, 0], [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": [1, 0, 3, 2], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 2], [1, 2], [1, 2], [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, 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": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"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, 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": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [0, 1], [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, 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, 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": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [0, 1], [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": [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": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 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": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [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": [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, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 3, 2, 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": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "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, 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, 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": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [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, 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": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [0, 1], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 1]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 0], [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]]}], "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, 0], [0, 0]]}, {"patt": [0, 1, 2], "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], "pos": [[0, 0]]}, {"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, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0]]], "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": [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]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1], [1, 2]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 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": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 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, 0], [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": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"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]]}, {"patt": [2, 1, 0], "pos": [[0, 0], [0, 0], [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": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 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": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 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, 0], [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": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 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": [[0, 3]]}, {"patt": [0], "pos": [[0, 4]]}, {"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, 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, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 3], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [1, 4], [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, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 3], [1, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 3], [1, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 4], [1, 4]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 2], [1, 0], [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": [1, 0, 3, 2], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 2], [1, 2], [1, 3], [1, 2]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 2], [1, 2], [1, 2], [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, 0], [1, 1]]}, {"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, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 4], [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, 3], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 3]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 1], [1, 3]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 1]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 4]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 3], [1, 0], [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]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [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, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [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, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [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"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 3]]}, {"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [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, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [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": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 3]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 2], [0, 0], [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]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [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, 0], [1, 1]]}, {"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, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 4], [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, 3], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 3]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 1], [1, 3]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 1]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 4]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 3], [1, 0], [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]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [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, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "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, 0], [0, 1]]}, {"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, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [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, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [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": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 3]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 2], [0, 0], [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]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [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, 0], [0, 1]]}, {"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, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [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, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [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": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 3]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 2], [0, 0], [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]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [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, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [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]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 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, 0], [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]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [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, 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, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 3], [0, 3]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [0, 1], [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": [1, 0], "pos": [[0, 1], [0, 1]]}, {"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, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 3], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 3], [1, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 4], [1, 4]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 2], [1, 0], [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": [1, 0, 3, 2], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 2], [1, 2], [1, 2], [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": [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, 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, 2], [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, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"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, 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, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 3], [0, 3]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [0, 1], [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": [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, 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, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 3], [0, 3]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [0, 1], [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, 1]]}, {"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, 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, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 3, 2, 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": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"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, 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, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 3]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [1, 2], [1, 3]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0]]], "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": [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, 0], [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": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 2], [1, 2]]}], "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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"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, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 0], [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, 3, 0, 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"}}, {"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, 4], [1, 4]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"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, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 3], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [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, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 3], [1, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 3], [1, 4]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 2], [1, 0], [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": [1, 0, 3, 2], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 2], [1, 2], [1, 3], [1, 2]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 2], [1, 2], [1, 2], [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, 0], [1, 1]]}, {"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, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 4]]}, {"patt": [0, 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, 3], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 4], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 4], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 3]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 1], [1, 3]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 1]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [2, 1, 0], "pos": [[1, 4], [1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 4]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 3], [1, 0], [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]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [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, 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, 0], [0, 2], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 2], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [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"}}, {"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, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"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, 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, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 3]]}, {"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, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 3]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 2], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [0, 1], [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, 4], [1, 4]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"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, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 3], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [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, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 3], [1, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 3], [1, 4]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 2], [1, 0], [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": [1, 0, 3, 2], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 2], [1, 2], [1, 3], [1, 2]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 2], [1, 2], [1, 2], [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, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 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": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 0], [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, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [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, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"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, 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, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 3]]}, {"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, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 3]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 2], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [0, 1], [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, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"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, 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, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 3]]}, {"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, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 3]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 2], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [0, 1], [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, 0], [0, 0]]}, {"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]]}], "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, 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, 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": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 0], [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, 3, 0, 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, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 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": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 0], [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, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [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": [], "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, 4], [1, 4]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"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, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 3], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [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, 2], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 2], [1, 3], [1, 2]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 3], [1, 4]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 2], [1, 0], [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": [1, 0, 3, 2], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 2], [1, 2], [1, 3], [1, 2]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 2], [1, 2], [1, 2], [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, 0], [1, 1]]}, {"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, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 4], [1, 3]]}, {"patt": [1, 0], "pos": [[1, 4], [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, 3], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 3], [1, 3]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 3], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 1], [1, 3], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 0], [1, 3]]}, {"patt": [2, 0, 1], "pos": [[1, 3], [1, 1], [1, 3]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 1]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 4]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 3], [1, 0], [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]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [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, 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": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [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"}}, {"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, 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, 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, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 3]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [0, 1], [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, 4], [1, 4]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"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, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 3], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 4]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 3], [1, 4]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 2], [1, 0], [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": [1, 0, 3, 2], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 2], [1, 2], [1, 2], [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, 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, 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": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [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, 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, 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, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 3]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [0, 1], [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, 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, 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, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 3]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [0, 1], [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"}}, {"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, 2], [1, 2], [1, 2]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 2]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 2], [1, 0], [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": [1, 0, 3, 2], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 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, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [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": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 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": [0, 1], "pos": [[1, 1], [1, 1]]}, {"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]]}, {"patt": [0, 1, 2], "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": [[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, 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], "pos": [[0, 0], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1, 2], "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, 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": [0, 1, 2], "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, 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": [0, 1, 2], "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"}}, "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, 0], [0, 0]]}, {"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]]}], "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, 0], [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": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 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": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 1], [0, 1]]}], "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": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"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, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 3], [1, 3]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 2], [1, 0], [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": [1, 0, 3, 2], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 2], [1, 2], [1, 2], [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, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 3, 2, 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": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 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, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 3, 2, 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": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"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, 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, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"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, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 3], [0, 3]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 2], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [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": [1, 0], "pos": [[0, 2], [0, 0]]}, {"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, 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, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"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, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 3], [0, 3]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 2], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [0, 1], [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", "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": [1, 0], "pos": [[0, 1], [0, 1]]}, {"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, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 3], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 3], [1, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 4], [1, 4]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 2], [1, 0], [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": [1, 0, 3, 2], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 2], [1, 2], [1, 2], [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": [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, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 3, 2, 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": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 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, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 3, 2, 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": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "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, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [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, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "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, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [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, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "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, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 3, 2, 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": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"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, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 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, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 3], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 3], [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": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 3]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 2], [0, 0], [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]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[0, 3]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"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, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 3]]}, {"patt": [0, 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, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 3], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 3], [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": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 3], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 3]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 2], [0, 0], [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]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [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", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"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, 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, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 3]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 3, 2, 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": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 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": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 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, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 3, 2, 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": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 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, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 3, 2, 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": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 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, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 3, 2, 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": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "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, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 2]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 3], [1, 3]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"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, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 3]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 3]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 2], [1, 0], [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": [1, 0, 3, 2], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 2], [1, 2], [1, 2], [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, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 3, 2, 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": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 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": [], "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]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 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, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[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, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 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": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [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": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [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, 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": [], "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, 0], [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": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"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, 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": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 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]]}, {"patt": [2, 1, 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, 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": [2, 1, 0], "pos": [[0, 0], [0, 0], [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"}}, "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, 0], [0, 0]]}, {"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]]}], "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, 0], [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": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"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, 0], [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": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 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": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 3, 2, 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": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "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, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "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, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "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, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 3, 2, 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": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"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, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [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, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [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": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 3]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 2], [0, 0], [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]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}], [{"patt": [0], "pos": [[0, 3]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"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, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 3], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 3], [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, 2], [0, 2]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [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": [2, 0, 1], "pos": [[0, 2], [0, 0], [0, 2]]}, {"patt": [2, 0, 1], "pos": [[0, 2], [0, 1], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 3]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 2], [0, 0], [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]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [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", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 3]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 2]]}, {"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, 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, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 3]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 3, 2, 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": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 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, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 2]]}, {"patt": [0, 1], "pos": [[1, 2], [1, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 1]]}, {"patt": [1, 0], "pos": [[1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"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]]}], "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, 0], [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": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 2], [1, 2]]}], "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, 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, 0], [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]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [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, 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, 2], [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, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 0], [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, 3, 0, 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]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 2]]}, {"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 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": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 2]]}, {"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 0], [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]]}], "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, 0], [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]]}], "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": [1, 0], "pos": [[0, 0], [0, 0]]}, {"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, 1, 2], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [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, 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, 2], [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, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 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": [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, 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, 2], [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, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [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": [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, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 3, 2, 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": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [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, 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, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 3], [0, 3]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [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": [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, 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, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 3], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 3], [0, 3], [0, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 3], [0, 3]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [0, 1], [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", "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": [1, 0], "pos": [[0, 1], [0, 1]]}, {"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, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 3], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 4], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 4], [1, 4], [1, 4]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 3], [1, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 4], [1, 4]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 2], [1, 0], [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": [1, 0, 3, 2], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 2], [1, 2], [1, 2], [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": [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, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 3, 2, 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": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[0, 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, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 3, 2, 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": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 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, 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, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 3, 2, 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": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 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, 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, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 3, 2, 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": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "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": [], "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": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[0, 1]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 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, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 3, 2, 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": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"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, 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, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 3]]}, {"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, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 3]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 2], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [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, 3], [0, 3]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"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, 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, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 3]]}, {"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, 1], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [0, 2], [0, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 2], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 3]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 1], [0, 1], [0, 2], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [0, 1], [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", "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, 4], [1, 4]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"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, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 3], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 4]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 3], [1, 4]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 2], [1, 0], [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": [1, 0, 3, 2], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 2], [1, 2], [1, 2], [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, 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, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 3, 2, 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": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 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"}}, "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, 0], [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": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 2]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"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": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 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, 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, 0], [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": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 0]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 3], [1, 2], [1, 2]]}], "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, 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, 0], [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]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[1, 3]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 2], [0, 2]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 1]]}, {"patt": [1, 0], "pos": [[0, 2], [0, 2]]}, {"patt": [0, 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": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 0], [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, 3, 0, 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]]}]]}, "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"}}, "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, 0], [0, 0]]}, {"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]]}], "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, 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, 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": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 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, 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, 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": [2, 1, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 0, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [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, 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, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 3, 2, 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": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 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, 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, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 3]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [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, 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, 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, 1, 2], "pos": [[0, 1], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 2], [0, 3]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 2]]}, {"patt": [0, 1, 2], "pos": [[0, 2], [0, 2], [0, 3]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 1], [0, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 1], [0, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [0, 0], [0, 1]]}, {"patt": [2, 1, 0], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 2], [0, 3]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[0, 0], [0, 1], [0, 0], [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, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[0, 1], [0, 1], [0, 1], [0, 1]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 1], [0, 1], [0, 1], [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", "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, 4], [1, 4]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"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, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 2], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 2], [1, 3], [1, 4]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 3]]}, {"patt": [0, 1, 2], "pos": [[1, 3], [1, 3], [1, 4]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 2], [1, 2]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 2], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 2], [1, 0], [1, 2]]}, {"patt": [2, 1, 0], "pos": [[1, 2], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 2], [1, 4]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 3], [1, 3]]}, {"patt": [0, 1, 2, 3], "pos": [[1, 0], [1, 0], [1, 3], [1, 4]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [0, 3, 2, 1], "pos": [[1, 0], [1, 2], [1, 0], [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": [1, 0, 3, 2], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 3, 0, 2], "pos": [[1, 2], [1, 2], [1, 2], [1, 2]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[1, 2], [1, 2], [1, 2], [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, 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, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 2]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 1]]}, {"patt": [0, 1, 2, 3], "pos": [[0, 0], [0, 0], [0, 1], [0, 2]]}, {"patt": [0, 3, 2, 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": [1, 3, 0, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [2, 1, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[0, 2]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 2, "gps": [{"patt": [0], "pos": [[0, 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"}}, "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": [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]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 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"}}]}