0132_1203_1230_3012

Counting sequence:
1, 1, 2, 6, 20, 63, 187, 551, 1675, 5326, 17648, 60333, 210828, 748083, 2684125, 9713229, 35393061, 129713704, 477774054, 1767530687, 6564651318, 24467323669, 91484670555, 343063819656, 1289912549845, 4861963195088, 18367386645832, 69533618047291, 263748085994060, 1002242485116747, 3814987038997521, 14544637113007881, 55534067024576329, 212336134707260748, 812944050739722114, 3116285512087234211, 11959798420220263258, 45950804393341298793, 176733862924445743559, 680425372004853805752, 2622127042826248031633, 10113918592737409882044, 39044429914103467347220, 150853479209483398317311, 583300119601792786269776, 2257117854094840259472671, 8740328711568357762325725, 33868773757261415630814842, 131327898242310102966573155, 509552245179898613031564566, 1978261657756723603577461738, 7684785670515442285137946653, 29869166945774877749956413858, 116157871455786937850181552073, 451959718027962478646864612139, 1759414616608836885390989747186, 6852456927844909526346677846553, 26700952856774923961839259289508, 104088460289122448148686395149144, 405944995127577273961019595594039, 1583850964596120619147525083013324, 6182127958584856803408585454651835, 24139737743045629131554467760595257, 94295850558771984399621403374437441, 368479169875816668702381079569035601, 1440418573150919687319233967954175316, 5632681584560312771887403853269054330, 22033725021956517537145528908896012267, 86218923998960285873759593253378429410, 337485502510215975851931698634412413009, 1321422108420282271080237987548936215647, 5175569924646105560599531814712478098472, 20276890389709399865290181809689464773161, 79463489365077377845930604115218915303348, 311496878311103321146981024484548425727020, 1221395654430378811847650187939440712988199, 4790408930363303911366165140257821624149336, 18793142726809884575286919142813459518160199, 73745243611532458459841267582099157887743669, 289450081175264899454586077484394424559720422, 1136359577947336271932237339914474771256703683, 4462290049988320482464450223325747812676185814, 17526585015616776834737558369554884894747563090, 68854441132780194707892887737947105659686042221, 270557451039395118028652134695725483454071039706, 1063353702922273835973056000856590292789900915201, 4180080073556524734514734513797135126562344229475, 16435314834665426797069222332015341479634774017122, 64633260585762914370496792228651092135215900191665, 254224158304000796523953750263851468431616099464924, 1000134600800354781929399869506561507052598542291312, 3935312233584004685417854810703388795154306582051647, 15487357822491889407128329439658421802774480929117076, 60960876535340415751462568532589806033490828507101603, 239993345518077005168915786526997037289323026684528145, 944973797977428207852605890261980225403315156624338894, 3721443204405954385563870580993327916841675494154263791, 14657929356129575437016877925885195275977292544447451474, 57743358069601357782187700766499181362549406811848414174, 227508830794229349661819540712601504013099032975720912497, 896519947090131496687170070707925932534952222287101742078

Generating function in Maple syntax:
1/2*(-2*(x-1)^5*(x-1/2)*(1-4*x)^(1/2)+4*x^8-4*x^7-13*x^5+27*x^4-30*x^3+20*x^2-7*x+1)/x/(2*x-1)/(x-1)^5

Generating function in latex syntax:
\frac{-2 \left(x -1\right)^{5} \left(x -\frac{1}{2}\right) \sqrt{1-4 x}+4 x^{8}-4 x^{7}-13 x^{5}+27 x^{4}-30 x^{3}+20 x^{2}-7 x +1}{2 x \left(2 x -1\right) \left(x -1\right)^{5}}

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

Implicit equation for the generating function in Maple syntax:
x*(2*x-1)^2*(x-1)^10*F(x)^2-(2*x-1)*(4*x^8-4*x^7-13*x^5+27*x^4-30*x^3+20*x^2-7*x+1)*(x-1)^5*F(x)+4*x^15-8*x^14+4*x^13-22*x^12+35*x^11+118*x^10-583*x^9+1303*x^8-1916*x^7+2013*x^6-1546*x^5+862*x^4-339*x^3+89*x^2-14*x+1 = 0

Implicit equation for the generating function in latex syntax:
x \left(2 x -1\right)^{2} \left(x -1\right)^{10} F \! \left(x \right)^{2}-\left(2 x -1\right) \left(4 x^{8}-4 x^{7}-13 x^{5}+27 x^{4}-30 x^{3}+20 x^{2}-7 x +1\right) \left(x -1\right)^{5} F \! \left(x \right)+4 x^{15}-8 x^{14}+4 x^{13}-22 x^{12}+35 x^{11}+118 x^{10}-583 x^{9}+1303 x^{8}-1916 x^{7}+2013 x^{6}-1546 x^{5}+862 x^{4}-339 x^{3}+89 x^{2}-14 x +1 = 0

Recurrence in maple format:
a(0) = 1
a(1) = 1
a(2) = 2
a(3) = 6
a(4) = 20
a(5) = 63
a(6) = 187
a(7) = 551
a(8) = 1675
a(9) = 5326
a(10) = 17648
a(n+3) = 8*(2*n+1)/(n+4)*a(n)-4*(5*n+8)/(n+4)*a(n+1)+2*(4*n+11)/(n+4)*a(n+2)-1/24*(3*n^5-28*n^4-183*n^3+1540*n^2-1716*n-192)/(n+4), 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) = 20
a \! \left(5\right) = 63
a \! \left(6\right) = 187
a \! \left(7\right) = 551
a \! \left(8\right) = 1675
a \! \left(9\right) = 5326
a \! \left(10\right) = 17648
a \! \left(n +3\right) = \frac{8 \left(2 n +1\right) a \! \left(n \right)}{n +4}-\frac{4 \left(5 n +8\right) a \! \left(n +1\right)}{n +4}+\frac{2 \left(4 n +11\right) a \! \left(n +2\right)}{n +4}-\frac{3 n^{5}-28 n^{4}-183 n^{3}+1540 n^{2}-1716 n -192}{24 \left(n +4\right)}, \quad n \geq 11

Specification 1
Strategy pack name: row_placements_tracked_fusion
Tree: http://permpal.com/tree/21283/
System of equations in Maple syntax:
F[0,x] = F[1,x]+F[2,x]
F[1,x] = 1
F[2,x] = F[11,x]*F[3,x]
F[3,x] = F[1,x]+F[4,x]+F[41,x]
F[4,x] = F[11,x]*F[5,x]
F[5,x] = F[6,x,1]
F[6,x,k[0]] = F[1,x]+F[12,x,k[0]]+F[7,x,k[0]]+F[9,x,k[0]]
F[7,x,k[0]] = F[6,x,k[0]]*F[8,x,k[0]]
F[8,x,k[0]] = k[0]*x
F[9,x,k[0]] = F[10,x,k[0]]*F[11,x]
F[10,x,k[0]] = (F[6,x,k[0]]*k[0]-F[6,x,1])/(-1+k[0])
F[11,x] = x
F[12,x,k[0]] = F[11,x]*F[13,x,k[0]]
F[13,x,k[0]] = F[14,x]+F[24,x,k[0]]
F[14,x] = F[15,x]+F[18,x]
F[15,x] = F[1,x]+F[16,x]
F[16,x] = F[17,x]
F[17,x] = F[11,x]*F[15,x]
F[18,x] = F[16,x]+F[19,x]
F[19,x] = F[20,x]+F[21,x]+F[23,x]
F[20,x] = 0
F[21,x] = F[11,x]*F[22,x]
F[22,x] = F[16,x]+F[19,x]
F[23,x] = F[11,x]*F[18,x]
F[24,x,k[0]] = F[25,x,k[0]]+F[33,x,k[0]]
F[25,x,k[0]] = F[26,x,k[0]]+F[29,x,k[0]]
F[26,x,k[0]] = F[27,x,k[0]]
F[27,x,k[0]] = F[28,x,k[0]]*F[8,x,k[0]]
F[28,x,k[0]] = F[1,x]+F[26,x,k[0]]
F[29,x,k[0]] = F[20,x]+F[30,x,k[0]]+F[32,x,k[0]]
F[30,x,k[0]] = F[31,x,k[0]]*F[8,x,k[0]]
F[31,x,k[0]] = F[16,x]+F[29,x,k[0]]
F[32,x,k[0]] = F[11,x]*F[25,x,k[0]]
F[33,x,k[0]] = F[34,x,k[0]]+F[37,x,k[0]]
F[34,x,k[0]] = F[35,x,k[0]]
F[35,x,k[0]] = F[11,x]*F[36,x,k[0]]
F[36,x,k[0]] = F[26,x,k[0]]+F[34,x,k[0]]
F[37,x,k[0]] = 2*F[20,x]+F[38,x,k[0]]+F[40,x,k[0]]
F[38,x,k[0]] = F[11,x]*F[39,x,k[0]]
F[39,x,k[0]] = F[29,x,k[0]]+F[37,x,k[0]]
F[40,x,k[0]] = F[11,x]*F[33,x,k[0]]
F[41,x] = F[11,x]*F[42,x]
F[42,x] = F[43,x]+F[86,x]
F[43,x] = F[44,x]+F[56,x]
F[44,x] = F[1,x]+F[45,x]
F[45,x] = F[46,x]
F[46,x] = F[11,x]*F[47,x]
F[47,x] = F[48,x]+F[49,x]
F[48,x] = F[1,x]+F[11,x]
F[49,x] = F[45,x]+F[50,x]
F[50,x] = F[20,x]+F[51,x]+F[55,x]
F[51,x] = F[11,x]*F[52,x]
F[52,x] = F[53,x]+F[54,x]
F[53,x] = F[11,x]
F[54,x] = F[50,x]
F[55,x] = F[11,x]*F[45,x]
F[56,x] = F[57,x]+F[72,x]
F[57,x] = F[58,x]
F[58,x] = F[11,x]*F[59,x]
F[59,x] = F[60,x]+F[63,x]
F[60,x] = F[1,x]+F[61,x]
F[61,x] = F[62,x]
F[62,x] = F[11,x]*F[60,x]
F[63,x] = F[16,x]+F[64,x]
F[64,x] = F[20,x]+F[65,x]+F[67,x]
F[65,x] = F[11,x]*F[66,x]
F[66,x] = F[61,x]+F[64,x]
F[67,x] = F[11,x]*F[68,x]
F[68,x] = F[16,x]+F[69,x]
F[69,x] = F[70,x]
F[70,x] = F[11,x]*F[71,x]
F[71,x] = F[61,x]+F[69,x]
F[72,x] = F[73,x]
F[73,x] = F[11,x]*F[74,x]
F[74,x] = F[75,x]+F[78,x]
F[75,x] = F[16,x]+F[76,x]
F[76,x] = F[77,x]
F[77,x] = F[11,x]*F[16,x]
F[78,x] = F[79,x]+F[80,x]
F[79,x] = F[73,x]
F[80,x] = 2*F[20,x]+F[81,x]+F[85,x]
F[81,x] = F[11,x]*F[82,x]
F[82,x] = F[83,x]+F[84,x]
F[83,x] = F[76,x]
F[84,x] = F[80,x]
F[85,x] = F[11,x]*F[79,x]
F[86,x] = F[107,x]+F[87,x]
F[87,x] = F[16,x]+F[88,x]
F[88,x] = F[20,x]+F[89,x]+F[91,x]
F[89,x] = F[11,x]*F[90,x]
F[90,x] = F[45,x]+F[88,x]
F[91,x] = F[11,x]*F[92,x]
F[92,x] = F[93,x]+F[97,x]
F[93,x] = F[16,x]+F[94,x]
F[94,x] = F[95,x]
F[95,x] = F[11,x]*F[96,x]
F[96,x] = F[11,x]+F[94,x]
F[97,x] = F[98,x]+F[99,x]
F[98,x] = F[20,x]+F[21,x]+F[91,x]
F[99,x] = 2*F[20,x]+F[100,x]+F[103,x]
F[100,x] = F[101,x]*F[11,x]
F[101,x] = F[102,x]+F[76,x]
F[102,x] = F[100,x]
F[103,x] = F[104,x]*F[11,x]
F[104,x] = F[105,x]+F[106,x]
F[105,x] = F[94,x]
F[106,x] = F[99,x]
F[107,x] = F[108,x]+F[120,x]
F[108,x] = F[109,x]+F[111,x]+F[20,x]
F[109,x] = F[11,x]*F[110,x]
F[110,x] = F[108,x]+F[57,x]
F[111,x] = F[11,x]*F[112,x]
F[112,x] = F[113,x]+F[68,x]
F[113,x] = F[114,x]+F[117,x]
F[114,x] = F[115,x]
F[115,x] = F[11,x]*F[116,x]
F[116,x] = F[114,x]+F[16,x]
F[117,x] = F[118,x]
F[118,x] = F[11,x]*F[119,x]
F[119,x] = F[117,x]+F[69,x]
F[120,x] = 2*F[20,x]+F[121,x]+F[123,x]
F[121,x] = F[11,x]*F[122,x]
F[122,x] = F[120,x]+F[72,x]
F[123,x] = F[11,x]*F[124,x]
F[124,x] = F[125,x]+F[126,x]
F[125,x] = F[114,x]
F[126,x] = F[123,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_{11}\! \left(x \right) F_{3}\! \left(x \right)
F_{3}\! \left(x \right) = F_{1}\! \left(x \right)+F_{4}\! \left(x \right)+F_{41}\! \left(x \right)
F_{4}\! \left(x \right) = F_{11}\! \left(x \right) F_{5}\! \left(x \right)
F_{5}\! \left(x \right) = F_{6}\! \left(x , 1\right)
F_{6}\! \left(x , y\right) = F_{1}\! \left(x \right)+F_{12}\! \left(x , y\right)+F_{7}\! \left(x , y\right)+F_{9}\! \left(x , y\right)
F_{7}\! \left(x , y\right) = F_{6}\! \left(x , y\right) F_{8}\! \left(x , y\right)
F_{8}\! \left(x , y\right) = y x
F_{9}\! \left(x , y\right) = F_{10}\! \left(x , y\right) F_{11}\! \left(x \right)
F_{10}\! \left(x , y\right) = \frac{y F_{6}\! \left(x , y\right)-F_{6}\! \left(x , 1\right)}{-1+y}
F_{11}\! \left(x \right) = x
F_{12}\! \left(x , y\right) = F_{11}\! \left(x \right) F_{13}\! \left(x , y\right)
F_{13}\! \left(x , y\right) = F_{14}\! \left(x \right)+F_{24}\! \left(x , y\right)
F_{14}\! \left(x \right) = F_{15}\! \left(x \right)+F_{18}\! \left(x \right)
F_{15}\! \left(x \right) = F_{1}\! \left(x \right)+F_{16}\! \left(x \right)
F_{16}\! \left(x \right) = F_{17}\! \left(x \right)
F_{17}\! \left(x \right) = F_{11}\! \left(x \right) F_{15}\! \left(x \right)
F_{18}\! \left(x \right) = F_{16}\! \left(x \right)+F_{19}\! \left(x \right)
F_{19}\! \left(x \right) = F_{20}\! \left(x \right)+F_{21}\! \left(x \right)+F_{23}\! \left(x \right)
F_{20}\! \left(x \right) = 0
F_{21}\! \left(x \right) = F_{11}\! \left(x \right) F_{22}\! \left(x \right)
F_{22}\! \left(x \right) = F_{16}\! \left(x \right)+F_{19}\! \left(x \right)
F_{23}\! \left(x \right) = F_{11}\! \left(x \right) F_{18}\! \left(x \right)
F_{24}\! \left(x , y\right) = F_{25}\! \left(x , y\right)+F_{33}\! \left(x , y\right)
F_{25}\! \left(x , y\right) = F_{26}\! \left(x , y\right)+F_{29}\! \left(x , y\right)
F_{26}\! \left(x , y\right) = F_{27}\! \left(x , y\right)
F_{27}\! \left(x , y\right) = F_{28}\! \left(x , y\right) F_{8}\! \left(x , y\right)
F_{28}\! \left(x , y\right) = F_{1}\! \left(x \right)+F_{26}\! \left(x , y\right)
F_{29}\! \left(x , y\right) = F_{20}\! \left(x \right)+F_{30}\! \left(x , y\right)+F_{32}\! \left(x , y\right)
F_{30}\! \left(x , y\right) = F_{31}\! \left(x , y\right) F_{8}\! \left(x , y\right)
F_{31}\! \left(x , y\right) = F_{16}\! \left(x \right)+F_{29}\! \left(x , y\right)
F_{32}\! \left(x , y\right) = F_{11}\! \left(x \right) F_{25}\! \left(x , y\right)
F_{33}\! \left(x , y\right) = F_{34}\! \left(x , y\right)+F_{37}\! \left(x , y\right)
F_{34}\! \left(x , y\right) = F_{35}\! \left(x , y\right)
F_{35}\! \left(x , y\right) = F_{11}\! \left(x \right) F_{36}\! \left(x , y\right)
F_{36}\! \left(x , y\right) = F_{26}\! \left(x , y\right)+F_{34}\! \left(x , y\right)
F_{37}\! \left(x , y\right) = 2 F_{20}\! \left(x \right)+F_{38}\! \left(x , y\right)+F_{40}\! \left(x , y\right)
F_{38}\! \left(x , y\right) = F_{11}\! \left(x \right) F_{39}\! \left(x , y\right)
F_{39}\! \left(x , y\right) = F_{29}\! \left(x , y\right)+F_{37}\! \left(x , y\right)
F_{40}\! \left(x , y\right) = F_{11}\! \left(x \right) F_{33}\! \left(x , y\right)
F_{41}\! \left(x \right) = F_{11}\! \left(x \right) F_{42}\! \left(x \right)
F_{42}\! \left(x \right) = F_{43}\! \left(x \right)+F_{86}\! \left(x \right)
F_{43}\! \left(x \right) = F_{44}\! \left(x \right)+F_{56}\! \left(x \right)
F_{44}\! \left(x \right) = F_{1}\! \left(x \right)+F_{45}\! \left(x \right)
F_{45}\! \left(x \right) = F_{46}\! \left(x \right)
F_{46}\! \left(x \right) = F_{11}\! \left(x \right) F_{47}\! \left(x \right)
F_{47}\! \left(x \right) = F_{48}\! \left(x \right)+F_{49}\! \left(x \right)
F_{48}\! \left(x \right) = F_{1}\! \left(x \right)+F_{11}\! \left(x \right)
F_{49}\! \left(x \right) = F_{45}\! \left(x \right)+F_{50}\! \left(x \right)
F_{50}\! \left(x \right) = F_{20}\! \left(x \right)+F_{51}\! \left(x \right)+F_{55}\! \left(x \right)
F_{51}\! \left(x \right) = F_{11}\! \left(x \right) F_{52}\! \left(x \right)
F_{52}\! \left(x \right) = F_{53}\! \left(x \right)+F_{54}\! \left(x \right)
F_{53}\! \left(x \right) = F_{11}\! \left(x \right)
F_{54}\! \left(x \right) = F_{50}\! \left(x \right)
F_{55}\! \left(x \right) = F_{11}\! \left(x \right) F_{45}\! \left(x \right)
F_{56}\! \left(x \right) = F_{57}\! \left(x \right)+F_{72}\! \left(x \right)
F_{57}\! \left(x \right) = F_{58}\! \left(x \right)
F_{58}\! \left(x \right) = F_{11}\! \left(x \right) F_{59}\! \left(x \right)
F_{59}\! \left(x \right) = F_{60}\! \left(x \right)+F_{63}\! \left(x \right)
F_{60}\! \left(x \right) = F_{1}\! \left(x \right)+F_{61}\! \left(x \right)
F_{61}\! \left(x \right) = F_{62}\! \left(x \right)
F_{62}\! \left(x \right) = F_{11}\! \left(x \right) F_{60}\! \left(x \right)
F_{63}\! \left(x \right) = F_{16}\! \left(x \right)+F_{64}\! \left(x \right)
F_{64}\! \left(x \right) = F_{20}\! \left(x \right)+F_{65}\! \left(x \right)+F_{67}\! \left(x \right)
F_{65}\! \left(x \right) = F_{11}\! \left(x \right) F_{66}\! \left(x \right)
F_{66}\! \left(x \right) = F_{61}\! \left(x \right)+F_{64}\! \left(x \right)
F_{67}\! \left(x \right) = F_{11}\! \left(x \right) F_{68}\! \left(x \right)
F_{68}\! \left(x \right) = F_{16}\! \left(x \right)+F_{69}\! \left(x \right)
F_{69}\! \left(x \right) = F_{70}\! \left(x \right)
F_{70}\! \left(x \right) = F_{11}\! \left(x \right) F_{71}\! \left(x \right)
F_{71}\! \left(x \right) = F_{61}\! \left(x \right)+F_{69}\! \left(x \right)
F_{72}\! \left(x \right) = F_{73}\! \left(x \right)
F_{73}\! \left(x \right) = F_{11}\! \left(x \right) F_{74}\! \left(x \right)
F_{74}\! \left(x \right) = F_{75}\! \left(x \right)+F_{78}\! \left(x \right)
F_{75}\! \left(x \right) = F_{16}\! \left(x \right)+F_{76}\! \left(x \right)
F_{76}\! \left(x \right) = F_{77}\! \left(x \right)
F_{77}\! \left(x \right) = F_{11}\! \left(x \right) F_{16}\! \left(x \right)
F_{78}\! \left(x \right) = F_{79}\! \left(x \right)+F_{80}\! \left(x \right)
F_{79}\! \left(x \right) = F_{73}\! \left(x \right)
F_{80}\! \left(x \right) = 2 F_{20}\! \left(x \right)+F_{81}\! \left(x \right)+F_{85}\! \left(x \right)
F_{81}\! \left(x \right) = F_{11}\! \left(x \right) F_{82}\! \left(x \right)
F_{82}\! \left(x \right) = F_{83}\! \left(x \right)+F_{84}\! \left(x \right)
F_{83}\! \left(x \right) = F_{76}\! \left(x \right)
F_{84}\! \left(x \right) = F_{80}\! \left(x \right)
F_{85}\! \left(x \right) = F_{11}\! \left(x \right) F_{79}\! \left(x \right)
F_{86}\! \left(x \right) = F_{107}\! \left(x \right)+F_{87}\! \left(x \right)
F_{87}\! \left(x \right) = F_{16}\! \left(x \right)+F_{88}\! \left(x \right)
F_{88}\! \left(x \right) = F_{20}\! \left(x \right)+F_{89}\! \left(x \right)+F_{91}\! \left(x \right)
F_{89}\! \left(x \right) = F_{11}\! \left(x \right) F_{90}\! \left(x \right)
F_{90}\! \left(x \right) = F_{45}\! \left(x \right)+F_{88}\! \left(x \right)
F_{91}\! \left(x \right) = F_{11}\! \left(x \right) F_{92}\! \left(x \right)
F_{92}\! \left(x \right) = F_{93}\! \left(x \right)+F_{97}\! \left(x \right)
F_{93}\! \left(x \right) = F_{16}\! \left(x \right)+F_{94}\! \left(x \right)
F_{94}\! \left(x \right) = F_{95}\! \left(x \right)
F_{95}\! \left(x \right) = F_{11}\! \left(x \right) F_{96}\! \left(x \right)
F_{96}\! \left(x \right) = F_{11}\! \left(x \right)+F_{94}\! \left(x \right)
F_{97}\! \left(x \right) = F_{98}\! \left(x \right)+F_{99}\! \left(x \right)
F_{98}\! \left(x \right) = F_{20}\! \left(x \right)+F_{21}\! \left(x \right)+F_{91}\! \left(x \right)
F_{99}\! \left(x \right) = 2 F_{20}\! \left(x \right)+F_{100}\! \left(x \right)+F_{103}\! \left(x \right)
F_{100}\! \left(x \right) = F_{101}\! \left(x \right) F_{11}\! \left(x \right)
F_{101}\! \left(x \right) = F_{102}\! \left(x \right)+F_{76}\! \left(x \right)
F_{102}\! \left(x \right) = F_{100}\! \left(x \right)
F_{103}\! \left(x \right) = F_{104}\! \left(x \right) F_{11}\! \left(x \right)
F_{104}\! \left(x \right) = F_{105}\! \left(x \right)+F_{106}\! \left(x \right)
F_{105}\! \left(x \right) = F_{94}\! \left(x \right)
F_{106}\! \left(x \right) = F_{99}\! \left(x \right)
F_{107}\! \left(x \right) = F_{108}\! \left(x \right)+F_{120}\! \left(x \right)
F_{108}\! \left(x \right) = F_{109}\! \left(x \right)+F_{111}\! \left(x \right)+F_{20}\! \left(x \right)
F_{109}\! \left(x \right) = F_{11}\! \left(x \right) F_{110}\! \left(x \right)
F_{110}\! \left(x \right) = F_{108}\! \left(x \right)+F_{57}\! \left(x \right)
F_{111}\! \left(x \right) = F_{11}\! \left(x \right) F_{112}\! \left(x \right)
F_{112}\! \left(x \right) = F_{113}\! \left(x \right)+F_{68}\! \left(x \right)
F_{113}\! \left(x \right) = F_{114}\! \left(x \right)+F_{117}\! \left(x \right)
F_{114}\! \left(x \right) = F_{115}\! \left(x \right)
F_{115}\! \left(x \right) = F_{11}\! \left(x \right) F_{116}\! \left(x \right)
F_{116}\! \left(x \right) = F_{114}\! \left(x \right)+F_{16}\! \left(x \right)
F_{117}\! \left(x \right) = F_{118}\! \left(x \right)
F_{118}\! \left(x \right) = F_{11}\! \left(x \right) F_{119}\! \left(x \right)
F_{119}\! \left(x \right) = F_{117}\! \left(x \right)+F_{69}\! \left(x \right)
F_{120}\! \left(x \right) = 2 F_{20}\! \left(x \right)+F_{121}\! \left(x \right)+F_{123}\! \left(x \right)
F_{121}\! \left(x \right) = F_{11}\! \left(x \right) F_{122}\! \left(x \right)
F_{122}\! \left(x \right) = F_{120}\! \left(x \right)+F_{72}\! \left(x \right)
F_{123}\! \left(x \right) = F_{11}\! \left(x \right) F_{124}\! \left(x \right)
F_{124}\! \left(x \right) = F_{125}\! \left(x \right)+F_{126}\! \left(x \right)
F_{125}\! \left(x \right) = F_{114}\! \left(x \right)
F_{126}\! \left(x \right) = F_{123}\! \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_11(x)*F_3(x))
Eq(F_3(x), F_1(x) + F_4(x) + F_41(x))
Eq(F_4(x), F_11(x)*F_5(x))
Eq(F_5(x), F_6(x, 1))
Eq(F_6(x, k_0), F_1(x) + F_12(x, k_0) + F_7(x, k_0) + F_9(x, k_0))
Eq(F_7(x, k_0), F_6(x, k_0)*F_8(x, k_0))
Eq(F_8(x, k_0), k_0*x)
Eq(F_9(x, k_0), F_10(x, k_0)*F_11(x))
Eq(F_10(x, k_0), (-k_0*F_6(x, k_0) + F_6(x, 1))/(1 - k_0))
Eq(F_11(x), x)
Eq(F_12(x, k_0), F_11(x)*F_13(x, k_0))
Eq(F_13(x, k_0), F_14(x) + F_24(x, k_0))
Eq(F_14(x), F_15(x) + F_18(x))
Eq(F_15(x), F_1(x) + F_16(x))
Eq(F_16(x), F_17(x))
Eq(F_17(x), F_11(x)*F_15(x))
Eq(F_18(x), F_16(x) + F_19(x))
Eq(F_19(x), F_20(x) + F_21(x) + F_23(x))
Eq(F_20(x), 0)
Eq(F_21(x), F_11(x)*F_22(x))
Eq(F_22(x), F_16(x) + F_19(x))
Eq(F_23(x), F_11(x)*F_18(x))
Eq(F_24(x, k_0), F_25(x, k_0) + F_33(x, k_0))
Eq(F_25(x, k_0), F_26(x, k_0) + F_29(x, k_0))
Eq(F_26(x, k_0), F_27(x, k_0))
Eq(F_27(x, k_0), F_28(x, k_0)*F_8(x, k_0))
Eq(F_28(x, k_0), F_1(x) + F_26(x, k_0))
Eq(F_29(x, k_0), F_20(x) + F_30(x, k_0) + F_32(x, k_0))
Eq(F_30(x, k_0), F_31(x, k_0)*F_8(x, k_0))
Eq(F_31(x, k_0), F_16(x) + F_29(x, k_0))
Eq(F_32(x, k_0), F_11(x)*F_25(x, k_0))
Eq(F_33(x, k_0), F_34(x, k_0) + F_37(x, k_0))
Eq(F_34(x, k_0), F_35(x, k_0))
Eq(F_35(x, k_0), F_11(x)*F_36(x, k_0))
Eq(F_36(x, k_0), F_26(x, k_0) + F_34(x, k_0))
Eq(F_37(x, k_0), 2*F_20(x) + F_38(x, k_0) + F_40(x, k_0))
Eq(F_38(x, k_0), F_11(x)*F_39(x, k_0))
Eq(F_39(x, k_0), F_29(x, k_0) + F_37(x, k_0))
Eq(F_40(x, k_0), F_11(x)*F_33(x, k_0))
Eq(F_41(x), F_11(x)*F_42(x))
Eq(F_42(x), F_43(x) + F_86(x))
Eq(F_43(x), F_44(x) + F_56(x))
Eq(F_44(x), F_1(x) + F_45(x))
Eq(F_45(x), F_46(x))
Eq(F_46(x), F_11(x)*F_47(x))
Eq(F_47(x), F_48(x) + F_49(x))
Eq(F_48(x), F_1(x) + F_11(x))
Eq(F_49(x), F_45(x) + F_50(x))
Eq(F_50(x), F_20(x) + F_51(x) + F_55(x))
Eq(F_51(x), F_11(x)*F_52(x))
Eq(F_52(x), F_53(x) + F_54(x))
Eq(F_53(x), F_11(x))
Eq(F_54(x), F_50(x))
Eq(F_55(x), F_11(x)*F_45(x))
Eq(F_56(x), F_57(x) + F_72(x))
Eq(F_57(x), F_58(x))
Eq(F_58(x), F_11(x)*F_59(x))
Eq(F_59(x), F_60(x) + F_63(x))
Eq(F_60(x), F_1(x) + F_61(x))
Eq(F_61(x), F_62(x))
Eq(F_62(x), F_11(x)*F_60(x))
Eq(F_63(x), F_16(x) + F_64(x))
Eq(F_64(x), F_20(x) + F_65(x) + F_67(x))
Eq(F_65(x), F_11(x)*F_66(x))
Eq(F_66(x), F_61(x) + F_64(x))
Eq(F_67(x), F_11(x)*F_68(x))
Eq(F_68(x), F_16(x) + F_69(x))
Eq(F_69(x), F_70(x))
Eq(F_70(x), F_11(x)*F_71(x))
Eq(F_71(x), F_61(x) + F_69(x))
Eq(F_72(x), F_73(x))
Eq(F_73(x), F_11(x)*F_74(x))
Eq(F_74(x), F_75(x) + F_78(x))
Eq(F_75(x), F_16(x) + F_76(x))
Eq(F_76(x), F_77(x))
Eq(F_77(x), F_11(x)*F_16(x))
Eq(F_78(x), F_79(x) + F_80(x))
Eq(F_79(x), F_73(x))
Eq(F_80(x), 2*F_20(x) + F_81(x) + F_85(x))
Eq(F_81(x), F_11(x)*F_82(x))
Eq(F_82(x), F_83(x) + F_84(x))
Eq(F_83(x), F_76(x))
Eq(F_84(x), F_80(x))
Eq(F_85(x), F_11(x)*F_79(x))
Eq(F_86(x), F_107(x) + F_87(x))
Eq(F_87(x), F_16(x) + F_88(x))
Eq(F_88(x), F_20(x) + F_89(x) + F_91(x))
Eq(F_89(x), F_11(x)*F_90(x))
Eq(F_90(x), F_45(x) + F_88(x))
Eq(F_91(x), F_11(x)*F_92(x))
Eq(F_92(x), F_93(x) + F_97(x))
Eq(F_93(x), F_16(x) + F_94(x))
Eq(F_94(x), F_95(x))
Eq(F_95(x), F_11(x)*F_96(x))
Eq(F_96(x), F_11(x) + F_94(x))
Eq(F_97(x), F_98(x) + F_99(x))
Eq(F_98(x), F_20(x) + F_21(x) + F_91(x))
Eq(F_99(x), F_100(x) + F_103(x) + 2*F_20(x))
Eq(F_100(x), F_101(x)*F_11(x))
Eq(F_101(x), F_102(x) + F_76(x))
Eq(F_102(x), F_100(x))
Eq(F_103(x), F_104(x)*F_11(x))
Eq(F_104(x), F_105(x) + F_106(x))
Eq(F_105(x), F_94(x))
Eq(F_106(x), F_99(x))
Eq(F_107(x), F_108(x) + F_120(x))
Eq(F_108(x), F_109(x) + F_111(x) + F_20(x))
Eq(F_109(x), F_11(x)*F_110(x))
Eq(F_110(x), F_108(x) + F_57(x))
Eq(F_111(x), F_11(x)*F_112(x))
Eq(F_112(x), F_113(x) + F_68(x))
Eq(F_113(x), F_114(x) + F_117(x))
Eq(F_114(x), F_115(x))
Eq(F_115(x), F_11(x)*F_116(x))
Eq(F_116(x), F_114(x) + F_16(x))
Eq(F_117(x), F_118(x))
Eq(F_118(x), F_11(x)*F_119(x))
Eq(F_119(x), F_117(x) + F_69(x))
Eq(F_120(x), F_121(x) + F_123(x) + 2*F_20(x))
Eq(F_121(x), F_11(x)*F_122(x))
Eq(F_122(x), F_120(x) + F_72(x))
Eq(F_123(x), F_11(x)*F_124(x))
Eq(F_124(x), F_125(x) + F_126(x))
Eq(F_125(x), F_114(x))
Eq(F_126(x), F_123(x))
Pack JSON:
{"expansion_strats": [[{"class_module": "tilings.strategies.requirement_placement", "dirs": [0, 1, 2, 3], "ignore_parent": false, "partial": false, "place_col": false, "place_row": true, "strategy_class": "RowAndColumnPlacementFactory"}]], "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.rearrange_assumption", "strategy_class": "RearrangeAssumptionFactory"}, {"class_module": "tilings.strategies.assumption_insertion", "strategy_class": "AddAssumptionFactory"}, {"class_module": "tilings.strategies.factor", "ignore_parent": true, "interleaving": null, "strategy_class": "FactorFactory", "tracked": false, "unions": false, "workable": true}, {"class_module": "tilings.strategies.fusion.fusion", "strategy_class": "FusionFactory", "tracked": true}], "iterative": false, "name": "row_placements_tracked_fusion", "symmetries": [], "ver_strats": [{"class_module": "tilings.strategies.verification", "strategy_class": "BasicVerificationStrategy"}, {"class_module": "tilings.strategies.verification", "ignore_parent": true, "strategy_class": "InsertionEncodingVerificationStrategy"}, {"basis": [], "class_module": "tilings.strategies.verification", "ignore_parent": true, "strategy_class": "OneByOneVerificationStrategy", "symmetry": false}, {"basis": [], "class_module": "tilings.strategies.verification", "ignore_parent": true, "strategy_class": "LocallyFactorableVerificationStrategy", "symmetry": false}]}
Specification JSON:
{"root": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 1], [2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0, 3], "pos": [[2, 1], [2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[2, 1], [2, 1], [2, 1], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1], [2, 1]]}], "requirements": [[{"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, 3, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"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"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 1], [2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0, 3], "pos": [[2, 1], [2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[2, 1], [2, 1], [2, 1], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 1]], [[1, 0]]], "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], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 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": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 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], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [2, 0], [3, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.strategies.assumption_insertion", "strategy_class": "AddAssumptionsStrategy", "workable": false}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [4, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}, {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 1, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "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": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0], [2, 0], [3, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "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"}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 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": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[4, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[4, 0], [4, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [3, 0], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [3, 0], [4, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [4, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 0], [3, 0], [4, 0]], [[2, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}], "requirements": []}], "class_module": "tilings.strategies.fusion.fusion", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [2, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 0]]}], "requirements": []}, "rule_class": "FusionRule", "strategy": {"class_module": "tilings.strategies.fusion.fusion", "col_idx": 0, "row_idx": null, "strategy_class": "FusionStrategy", "tracked": true}}, {"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"}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 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": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 0], [3, 0]], [[2, 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": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 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], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[3, 0], [3, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [3, 0], [3, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [3, 0], [3, 0], [3, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0], [1, 0], [3, 0]], [[2, 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": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": []}, {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 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": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 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": [], "pos": []}], "requirements": []}, {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 1]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 1]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 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": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 1]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [1, 1], [3, 1]], [[2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 1]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 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": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 1]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[3, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [1, 1], [2, 1]], [[3, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 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": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 1]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [1, 1]], [[2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "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": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}]}], "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": [[1, 0], [1, 0]]}], "requirements": [[{"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": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 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": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 1]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [1, 1]], [[2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "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": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 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]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"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], "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": [[1, 0], [1, 0]]}], "requirements": [[{"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], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 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": [0, 1], "pos": [[1, 0], [1, 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]]}], "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": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 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": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 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": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 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": [[{"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], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 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]]}], "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": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "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": [0, 1], "pos": [[1, 0], [1, 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": [[{"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, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [1, 1]], [[2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 1]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 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": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}]}], "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": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [{"assumption": "TrackingAssumption", "class_module": "tilings.assumptions", "gps": [{"patt": [0], "pos": [[0, 0]]}]}], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "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": [[1, 0], [1, 0]]}], "requirements": [[{"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]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "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"}]}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 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": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 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": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 0], [1, 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": [[1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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": [[1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 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": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 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": [[1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 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": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [2, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 1], [3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [3, 1], [3, 1], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, {"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, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [4, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [4, 1]]}, {"patt": [0, 2, 1], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[2, 1], [2, 1], [4, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 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": [[1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 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": [[{"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], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [2, 1], [3, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 1], [3, 1], [3, 1], [3, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [3, 1], [3, 1], [3, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 1], [3, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 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": [[1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [2, 0], [2, 0], [2, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "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": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [2, 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": [[{"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, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [1, 1], [3, 1]], [[2, 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": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 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": [[{"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, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [4, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [4, 1]]}, {"patt": [0, 2, 1], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[2, 1], [2, 1], [4, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [1, 1], [2, 1], [4, 1]], [[3, 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": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 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], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 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": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 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": [[{"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, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [1, 1]], [[2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 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": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 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, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 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": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [2, 0], [2, 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": [[{"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, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [1, 1], [3, 1]], [[2, 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], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 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], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 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": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 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], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 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": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 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": [[{"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, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [1, 1], [3, 1]], [[2, 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], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 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], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 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], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 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": [[{"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], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 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]]}], "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], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 0]], [[1, 1]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 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": [[{"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], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [3, 0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "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": [[1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 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]]}], "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, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 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": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 1], [2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [2, 1], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 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, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 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": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 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": [[{"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], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 1], [2, 1], [2, 1], [2, 1]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 1], [2, 1], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 1]], [[1, 0]]], "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": [0, 2, 1], "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, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0, 3], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 3, 0], "pos": [[0, 0], [1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "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": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [1, 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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 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": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 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": [[{"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, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [1, 1], [3, 1]], [[2, 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": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 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": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 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": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 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": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 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": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [4, 1]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[3, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [4, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [4, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[4, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[3, 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": [[{"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, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [4, 1]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[3, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [4, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [4, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[4, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [1, 1], [3, 1], [4, 1]], [[2, 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": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[3, 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": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 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": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 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": [[{"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], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 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": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 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": [[{"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], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 1], [3, 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": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 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": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[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": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [1, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 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, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 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]]}], "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": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 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": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "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": [0, 2, 1], "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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [1, 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": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 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": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[1, 0]]}, {"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, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "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, 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], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 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": [[{"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], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[2, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 1], [3, 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": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 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": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 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], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 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": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 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], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 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": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [4, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [4, 1]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[3, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [4, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [4, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[4, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 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], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[3, 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": [[{"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, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [4, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [4, 1]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[3, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [4, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [4, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[4, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [1, 1], [3, 1], [4, 1]], [[2, 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": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[3, 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], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 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": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 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": [[{"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, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [1, 1]], [[2, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 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": [[1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 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]]}], "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": [[1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 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": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 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], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 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": [[{"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], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 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": [[1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 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": [[{"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], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.factor", "ignore_parent": true, "partition": [[[0, 1], [2, 1]], [[1, 0]]], "strategy_class": "FactorStrategy", "workable": true}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": []}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[0, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, {"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, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 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], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 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": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 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], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 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": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 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], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 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": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 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], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[3, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "EquivalenceRule"}, {"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 1]]}, {"patt": [0], "pos": [[4, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [4, 1]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[4, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [4, 1]]}, {"patt": [1, 0], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[4, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [2, 1], [4, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[2, 1], [2, 1], [4, 1]]}, {"patt": [0, 2, 1], "pos": [[2, 1], [2, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[2, 1], [2, 1], [4, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[1, 1]]}], [{"patt": [0], "pos": [[3, 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], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[2, 0], [2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 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": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[1, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}, {"patt": [2, 0, 1], "pos": [[1, 1], [3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[1, 0], [2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 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": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 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, 1]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[1, 1], [1, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [1, 0], "pos": [[0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "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], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [2, 0, 1], "pos": [[0, 1], [2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [1, 2, 0], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [3, 0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "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], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 1, 2], "pos": [[0, 1], [0, 1], [2, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [0, 1]]}, {"patt": [0, 2, 1], "pos": [[0, 1], [0, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "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": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 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": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 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": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [2, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[2, 1], [2, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 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": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 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": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [1, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [2, 0, 1], "pos": [[0, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 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": [], "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": [[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], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}], "ignore_parent": false, "include_empty": true, "indices": [0, 0], "own_col": true, "own_row": true, "strategy_class": "RequirementPlacementStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "rule_class": "EquivalencePathRule", "rules": [{"class_module": "comb_spec_searcher.strategies.rule", "original_rule": {"children": [{"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 1]]}, {"patt": [0], "pos": [[2, 0]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[2, 1], [2, 1]]}, {"patt": [0, 1], "pos": [[2, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[0, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 1]]}], [{"patt": [0], "pos": [[3, 1]]}]]}, {"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, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 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, 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], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"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], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [0, 0]]}, {"patt": [1, 0], "pos": [[0, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[1, 0]]}]]}, "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": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}], "class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[0, 0], [0, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [0, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[0, 0], [0, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 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": [], "pos": []}], "requirements": []}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 0]]}, {"patt": [0], "pos": [[2, 1]]}, {"patt": [0], "pos": [[3, 0]]}, {"patt": [0, 1], "pos": [[0, 1], [0, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [1, 1]]}, {"patt": [0, 1], "pos": [[0, 1], [3, 1]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[3, 1], [3, 1]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[3, 1], [3, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 1, 2], "pos": [[1, 1], [1, 1], [3, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [1, 1]]}, {"patt": [0, 2, 1], "pos": [[1, 1], [1, 1], [3, 1]]}], "requirements": [[{"patt": [0], "pos": [[0, 1]]}], [{"patt": [0], "pos": [[2, 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], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_placement", "direction": 3, "gps": [{"patt": [0], "pos": [[0, 0]]}, {"patt": [0], "pos": [[1, 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": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 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], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[1, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [1, 0]]}, {"patt": [1, 0], "pos": [[1, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[1, 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, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [2, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}]]}, {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [0, 1], "pos": [[0, 0], [0, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[2, 0]]}], [{"patt": [0], "pos": [[3, 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], [1, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[0, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [2, 0]]}, {"patt": [0, 1], "pos": [[2, 0], [3, 0]]}, {"patt": [0, 1], "pos": [[3, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [2, 0]]}, {"patt": [1, 0], "pos": [[2, 0], [3, 0]]}, {"patt": [1, 0], "pos": [[3, 0], [3, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 1, 2], "pos": [[1, 0], [1, 0], [3, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [1, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [2, 0]]}, {"patt": [0, 2, 1], "pos": [[1, 0], [1, 0], [3, 0]]}], "requirements": [[{"patt": [0], "pos": [[0, 0]]}], [{"patt": [0], "pos": [[1, 0]]}], [{"patt": [0], "pos": [[3, 0]]}]]}, "rule_class": "Rule", "strategy": {"class_module": "tilings.strategies.requirement_insertion", "gps": [{"patt": [0], "pos": [[2, 0]]}], "ignore_parent": true, "strategy_class": "RequirementInsertionStrategy"}}, "rule_class": "EquivalenceRule"}]}, {"class_module": "comb_spec_searcher.strategies.rule", "comb_class": {"assumptions": [], "class_module": "tilings.tiling", "comb_class": "Tiling", "obstructions": [{"patt": [], "pos": []}], "requirements": []}, "rule_class": "VerificationRule", "strategy": {"class_module": "comb_spec_searcher.strategies.strategy", "strategy_class": "EmptyStrategy"}}]}