1302

Counting sequence:
1, 1, 2, 6, 23, 103, 512, 2740, 15485, 91245, 555662, 3475090, 22214707, 144640291, 956560748, 6411521056, 43478151737, 297864793993, 2059159989914, 14350039389022, 100726680316559, 711630547589023, 5057282786190872, 36132861123763276, 259423620328055093, 1870954187618001253, 13549041867915516902, 98493788137663244010, 718525298103386363435, 5258953884555177635035, 38608510021625752571908, 284253038775757583692600, 2098389323692272548563313, 15529368446466119224539649, 115197409505476788103398002, 856432228884170647229448502, 6380429915080962685670505223, 47628110829955837445808343255, 356194421500881924802062824240, 2668570716214045155349403554020, 20026217049437558457939949234925, 150525961711080576138714470701405, 1133137277281599669470628551828030, 8542421566124039620220192697639490, 64487825918306182189971678353660195, 487467446035641544143557563510713235, 3689430487933824207830803477694484380, 27957298930232823111180001729323234640, 212095321864749159497629705511070827945, 1610816944969690113589326043674105118585, 12246754108169980488367206114149810535242, 93204562196170554303786309213422058768910, 710031210839545414098119359038847423836287, 5414090730290433628827054833475377652864271, 41320549226346663131415307525664095218918728, 315634598683099414161315500712933294929387644, 2413055810165083958393484496521074596447738277, 18462962790122764693250144938784052143313693781, 141375575587639314880501009049875350644800310678, 1083364688822786881266389192709359296698097121434, 8307898668853091543785689650101094449879460036891, 63754876561897228291248142255119231996771480683851, 489588633686731920895754740596110678258234586772532, 3762144060249036333348338213290952225215651304755816, 28927881180921082715959929485699529257766416029787873, 222569829021958947138744492082554269489602064833110001, 1713468704673705819457736054042885331916583492820867362, 13198920298937741211573434118583412160226583877345406438, 101729160532963759596492890573823929411438590682912983799, 784494946804553266056890789152413642354744322747944467527, 6052929262297982555003927664033938419639717135224823282784, 46726711966046616277224676697156085121365372355797630126868, 360896537578734931487285288775786747285167051067264675540317, 2788765750908334506000997516379592449216967177236370572778061, 21559932115497703441770520512492438678585053323470154504265198, 166756669888489495957162217833945783400821256791178194360281586, 1290369745274871787065554282695497138109002804879958584793681427, 9989301821803432278424348590492816101865676094534281081647086083, 77364402521736141306089773290890305935964051443096636017373789644, 599414927634613246890938740915091657771753872198124585373415852672, 4646112388390576408724976730316569330705958999505006092974343236889, 36026598334192037947566381076195670528885890721306426588290084854633, 279462775093959277628601551002761138238601182266322090845797544270842, 2168641520217951581202193717118465287041478900758268558205690159656126, 16834907550072921338289850951891616581057888661703370959873968927836783, 130734161104224931714503147625952692176308352236101424768880361689153151, 1015591746566283006858163763652865432601191164436557350029120982864525432, 7892188445040595146806647211740129562332236704271739659852404910693912748, 61350842715346722977316625890120940486888436561852312533780831874515363349, 477073324618113728913555038043535920929788471464018331595255984644438467397, 3710975386133348898124446302975515925710261235871215570934474603177462092614, 28875285159291471561318113449158926385329423224184031298897441910293545465418, 224748492953575072875727839773423150753204483370654318106937437801396603600907, 1749833474039509782733421668493126530633434335763846766133846832158018143111611, 13627723002323429535420219205448393513258097777734638012820380731148342537366628, 106163157861766679863385976110359165117724560304429898920428347528840483870727576, 827267010249202521627728457757250312194272405209048934792429133045246335567927377, 6448168903123813748081974951584646707036292069869742599228831182505069031096185313, 50274004282332554036694485356151639356975820514862931173735088050598550799906636754, 392070848172795040324349453897236884986619936530609939250187505593592141244860073622, 3058421424698917503531177400858233129490810700975844320259202588807319182007408127719

Generating function in Maple syntax:
1/2*(-8*(-8*x+1)^(1/2)*x-8*x^2+(-8*x+1)^(1/2)+20*x+1)/(x+1)^3

Generating function in latex syntax:
\frac{-8 \sqrt{-8 x +1}\, x -8 x^{2}+\sqrt{-8 x +1}+20 x +1}{2 \left(x +1\right)^{3}}

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

Implicit equation for the generating function in Maple syntax:
(x+1)^3*F(x)^2+(8*x^2-20*x-1)*F(x)+16*x = 0

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

Recurrence in maple format:
a(0) = 1
a(1) = 1
a(n+2) = 4*(3+2*n)/(n+2)*a(n)+(-8+7*n)/(n+2)*a(n+1), n >= 2

Recurrence in latex format:
a \! \left(0\right) = 1
a \! \left(1\right) = 1
a \! \left(n +2\right) = \frac{4 \left(3+2 n \right) a \! \left(n \right)}{n +2}+\frac{\left(-8+7 n \right) a \! \left(n +1\right)}{n +2}, \quad n \geq 2

Specification 1
Strategy pack name: requirement_placements_tracked_fusion
Tree: https://permpal.com/tree/24365/
System of equations in Maple syntax:
F[0,x] = F[1,x]+F[2,x]
F[1,x] = 1
F[2,x] = F[3,x]
F[3,x] = F[17,x]*F[4,x]
F[4,x] = F[5,x]+F[86,x]
F[5,x] = F[6,x,1]
F[6,x,k[0]] = F[11,x,k[0]]+F[7,x,k[0]]
F[7,x,k[0]] = F[1,x]+F[8,x,k[0]]
F[8,x,k[0]] = F[9,x,k[0]]
F[9,x,k[0]] = F[10,x,k[0]]*F[7,x,k[0]]
F[10,x,k[0]] = k[0]*x
F[11,x,k[0]] = F[12,x,k[0]]
F[12,x,k[0]] = F[13,x,k[0]]*F[17,x]*F[7,x,k[0]]
F[13,x,k[0]] = F[14,x,k[0]]+F[20,x,k[0]]
F[14,x,k[0]] = F[15,x,k[0]]+F[6,x,k[0]]
F[15,x,k[0]] = F[16,x,k[0]]
F[16,x,k[0]] = F[17,x]*F[18,x,k[0]]*F[6,x,k[0]]
F[17,x] = x
F[19,x,k[0]] = F[17,x]*F[18,x,k[0]]*F[7,x,k[0]]
F[19,x,k[0]] = F[11,x,k[0]]
F[20,x,k[0]] = F[21,x,k[0]]
F[21,x,k[0]] = F[17,x]*F[22,x,k[0]]
F[22,x,k[0]] = F[23,x,k[0]]
F[23,x,k[0]] = F[17,x]*F[18,x,k[0]]*F[24,x,k[0]]
F[25,x,k[0]] = F[17,x]*F[24,x,k[0]]*F[78,x]
F[25,x,k[0]] = F[26,x,k[0]]
F[27,x,k[0]] = F[26,x,k[0]]+F[85,x,k[0]]
F[27,x,k[0]] = F[28,x,k[0]]+F[58,x,k[0]]
F[28,x,k[0]] = F[29,x,k[0]]
F[29,x,k[0]] = F[30,x]*F[6,x,k[0]]
F[30,x] = 1/F[17,x]*F[31,x]
F[31,x] = F[32,x]
F[32,x] = F[17,x]*F[33,x]
F[33,x] = F[34,x]+F[54,x]
F[34,x] = F[35,x]*F[4,x]
F[35,x] = F[0,x]+F[36,x]
F[36,x] = F[37,x]
F[37,x] = F[0,x]*F[17,x]*F[38,x]
F[38,x] = F[35,x]+F[39,x]
F[39,x] = 1/F[17,x]/F[53,x]*F[40,x]
F[40,x] = F[41,x]
F[41,x] = -F[48,x]+F[42,x]
F[42,x] = 1/F[17,x]*F[43,x]
F[43,x] = F[44,x]
F[44,x] = -F[45,x]+F[0,x]
F[45,x] = F[1,x]+F[46,x]
F[46,x] = F[47,x]
F[47,x] = F[17,x]*F[45,x]
F[48,x] = F[49,x]
F[49,x] = F[17,x]*F[45,x]*F[50,x]
F[50,x] = F[4,x]+F[51,x]
F[51,x] = F[52,x]
F[52,x] = F[17,x]*F[4,x]*F[53,x]
F[53,x] = F[45,x]+F[48,x]
F[54,x] = F[55,x]
F[55,x] = F[17,x]*F[4,x]*F[56,x]
F[56,x] = 1/F[17,x]*F[57,x]
F[57,x] = F[39,x]
F[58,x,k[0]] = F[59,x,k[0]]
F[59,x,k[0]] = F[17,x]*F[60,x,k[0]]*F[78,x]
F[61,x,k[0]] = F[0,x]*F[17,x]*F[60,x,k[0]]
F[61,x,k[0]] = F[62,x,k[0]]
F[63,x,k[0]] = F[62,x,k[0]]+F[76,x,k[0]]
F[63,x,k[0]] = F[64,x,k[0]]+F[65,x,k[0]]
F[64,x,k[0]] = F[4,x]*F[7,x,k[0]]
F[66,x,k[0]] = F[10,x,k[0]]*F[65,x,k[0]]
F[66,x,k[0]] = F[67,x,k[0]]
F[68,x,k[0]] = F[67,x,k[0]]+F[75,x,k[0]]
F[68,x,k[0]] = F[69,x,k[0]]+F[70,x,k[0]]
F[69,x,k[0]] = (F[6,x,k[0]]*k[0]-F[6,x,1])/(-1+k[0])
F[70,x,k[0]] = F[71,x,k[0]]
F[71,x,k[0]] = F[17,x]*F[72,x,k[0]]
F[72,x,k[0]] = (F[73,x,k[0]]*k[0]-F[73,x,1])/(-1+k[0])
F[73,x,k[0]] = F[74,x,k[0]]
F[74,x,k[0]] = F[17,x]*F[38,x]*F[63,x,k[0]]
F[75,x,k[0]] = F[64,x,k[0]]
F[76,x,k[0]] = F[77,x,k[0]]
F[77,x,k[0]] = F[4,x]*F[6,x,k[0]]
F[78,x] = 1/F[17,x]*F[79,x]
F[79,x] = F[80,x]
F[80,x] = F[17,x]*F[81,x]
F[81,x] = F[82,x]+F[83,x]
F[82,x] = F[0,x]*F[35,x]
F[83,x] = F[84,x]
F[84,x] = F[0,x]*F[17,x]*F[56,x]
F[85,x,k[0]] = F[6,x,k[0]]*F[78,x]
F[86,x] = F[87,x]
F[87,x] = F[17,x]*F[88,x]
F[88,x] = F[89,x]
F[89,x] = F[17,x]*F[38,x]*F[90,x]
F[90,x] = F[63,x,1]
System of equations in latex syntax:
F_{0}\! \left(x \right) = F_{1}\! \left(x \right)+F_{2}\! \left(x \right)
F_{1}\! \left(x \right) = 1
F_{2}\! \left(x \right) = F_{3}\! \left(x \right)
F_{3}\! \left(x \right) = F_{17}\! \left(x \right) F_{4}\! \left(x \right)
F_{4}\! \left(x \right) = F_{5}\! \left(x \right)+F_{86}\! \left(x \right)
F_{5}\! \left(x \right) = F_{6}\! \left(x , 1\right)
F_{6}\! \left(x , y\right) = F_{11}\! \left(x , y\right)+F_{7}\! \left(x , y\right)
F_{7}\! \left(x , y\right) = F_{1}\! \left(x \right)+F_{8}\! \left(x , y\right)
F_{8}\! \left(x , y\right) = F_{9}\! \left(x , y\right)
F_{9}\! \left(x , y\right) = F_{10}\! \left(x , y\right) F_{7}\! \left(x , y\right)
F_{10}\! \left(x , y\right) = y x
F_{11}\! \left(x , y\right) = F_{12}\! \left(x , y\right)
F_{12}\! \left(x , y\right) = F_{13}\! \left(x , y\right) F_{17}\! \left(x \right) F_{7}\! \left(x , y\right)
F_{13}\! \left(x , y\right) = F_{14}\! \left(x , y\right)+F_{20}\! \left(x , y\right)
F_{14}\! \left(x , y\right) = F_{15}\! \left(x , y\right)+F_{6}\! \left(x , y\right)
F_{15}\! \left(x , y\right) = F_{16}\! \left(x , y\right)
F_{16}\! \left(x , y\right) = F_{17}\! \left(x \right) F_{18}\! \left(x , y\right) F_{6}\! \left(x , y\right)
F_{17}\! \left(x \right) = x
F_{19}\! \left(x , y\right) = F_{17}\! \left(x \right) F_{18}\! \left(x , y\right) F_{7}\! \left(x , y\right)
F_{19}\! \left(x , y\right) = F_{11}\! \left(x , y\right)
F_{20}\! \left(x , y\right) = F_{21}\! \left(x , y\right)
F_{21}\! \left(x , y\right) = F_{17}\! \left(x \right) F_{22}\! \left(x , y\right)
F_{22}\! \left(x , y\right) = F_{23}\! \left(x , y\right)
F_{23}\! \left(x , y\right) = F_{17}\! \left(x \right) F_{18}\! \left(x , y\right) F_{24}\! \left(x , y\right)
F_{25}\! \left(x , y\right) = F_{17}\! \left(x \right) F_{24}\! \left(x , y\right) F_{78}\! \left(x \right)
F_{25}\! \left(x , y\right) = F_{26}\! \left(x , y\right)
F_{27}\! \left(x , y\right) = F_{26}\! \left(x , y\right)+F_{85}\! \left(x , y\right)
F_{27}\! \left(x , y\right) = F_{28}\! \left(x , y\right)+F_{58}\! \left(x , y\right)
F_{28}\! \left(x , y\right) = F_{29}\! \left(x , y\right)
F_{29}\! \left(x , y\right) = F_{30}\! \left(x \right) F_{6}\! \left(x , y\right)
F_{30}\! \left(x \right) = \frac{F_{31}\! \left(x \right)}{F_{17}\! \left(x \right)}
F_{31}\! \left(x \right) = F_{32}\! \left(x \right)
F_{32}\! \left(x \right) = F_{17}\! \left(x \right) F_{33}\! \left(x \right)
F_{33}\! \left(x \right) = F_{34}\! \left(x \right)+F_{54}\! \left(x \right)
F_{34}\! \left(x \right) = F_{35}\! \left(x \right) F_{4}\! \left(x \right)
F_{35}\! \left(x \right) = F_{0}\! \left(x \right)+F_{36}\! \left(x \right)
F_{36}\! \left(x \right) = F_{37}\! \left(x \right)
F_{37}\! \left(x \right) = F_{0}\! \left(x \right) F_{17}\! \left(x \right) F_{38}\! \left(x \right)
F_{38}\! \left(x \right) = F_{35}\! \left(x \right)+F_{39}\! \left(x \right)
F_{39}\! \left(x \right) = \frac{F_{40}\! \left(x \right)}{F_{17}\! \left(x \right) F_{53}\! \left(x \right)}
F_{40}\! \left(x \right) = F_{41}\! \left(x \right)
F_{41}\! \left(x \right) = -F_{48}\! \left(x \right)+F_{42}\! \left(x \right)
F_{42}\! \left(x \right) = \frac{F_{43}\! \left(x \right)}{F_{17}\! \left(x \right)}
F_{43}\! \left(x \right) = F_{44}\! \left(x \right)
F_{44}\! \left(x \right) = -F_{45}\! \left(x \right)+F_{0}\! \left(x \right)
F_{45}\! \left(x \right) = F_{1}\! \left(x \right)+F_{46}\! \left(x \right)
F_{46}\! \left(x \right) = F_{47}\! \left(x \right)
F_{47}\! \left(x \right) = F_{17}\! \left(x \right) F_{45}\! \left(x \right)
F_{48}\! \left(x \right) = F_{49}\! \left(x \right)
F_{49}\! \left(x \right) = F_{17}\! \left(x \right) F_{45}\! \left(x \right) F_{50}\! \left(x \right)
F_{50}\! \left(x \right) = F_{4}\! \left(x \right)+F_{51}\! \left(x \right)
F_{51}\! \left(x \right) = F_{52}\! \left(x \right)
F_{52}\! \left(x \right) = F_{17}\! \left(x \right) F_{4}\! \left(x \right) F_{53}\! \left(x \right)
F_{53}\! \left(x \right) = F_{45}\! \left(x \right)+F_{48}\! \left(x \right)
F_{54}\! \left(x \right) = F_{55}\! \left(x \right)
F_{55}\! \left(x \right) = F_{17}\! \left(x \right) F_{4}\! \left(x \right) F_{56}\! \left(x \right)
F_{56}\! \left(x \right) = \frac{F_{57}\! \left(x \right)}{F_{17}\! \left(x \right)}
F_{57}\! \left(x \right) = F_{39}\! \left(x \right)
F_{58}\! \left(x , y\right) = F_{59}\! \left(x , y\right)
F_{59}\! \left(x , y\right) = F_{17}\! \left(x \right) F_{60}\! \left(x , y\right) F_{78}\! \left(x \right)
F_{61}\! \left(x , y\right) = F_{0}\! \left(x \right) F_{17}\! \left(x \right) F_{60}\! \left(x , y\right)
F_{61}\! \left(x , y\right) = F_{62}\! \left(x , y\right)
F_{63}\! \left(x , y\right) = F_{62}\! \left(x , y\right)+F_{76}\! \left(x , y\right)
F_{63}\! \left(x , y\right) = F_{64}\! \left(x , y\right)+F_{65}\! \left(x , y\right)
F_{64}\! \left(x , y\right) = F_{4}\! \left(x \right) F_{7}\! \left(x , y\right)
F_{66}\! \left(x , y\right) = F_{10}\! \left(x , y\right) F_{65}\! \left(x , y\right)
F_{66}\! \left(x , y\right) = F_{67}\! \left(x , y\right)
F_{68}\! \left(x , y\right) = F_{67}\! \left(x , y\right)+F_{75}\! \left(x , y\right)
F_{68}\! \left(x , y\right) = F_{69}\! \left(x , y\right)+F_{70}\! \left(x , y\right)
F_{69}\! \left(x , y\right) = -\frac{-y F_{6}\! \left(x , y\right)+F_{6}\! \left(x , 1\right)}{-1+y}
F_{70}\! \left(x , y\right) = F_{71}\! \left(x , y\right)
F_{71}\! \left(x , y\right) = F_{17}\! \left(x \right) F_{72}\! \left(x , y\right)
F_{72}\! \left(x , y\right) = -\frac{-y F_{73}\! \left(x , y\right)+F_{73}\! \left(x , 1\right)}{-1+y}
F_{73}\! \left(x , y\right) = F_{74}\! \left(x , y\right)
F_{74}\! \left(x , y\right) = F_{17}\! \left(x \right) F_{38}\! \left(x \right) F_{63}\! \left(x , y\right)
F_{75}\! \left(x , y\right) = F_{64}\! \left(x , y\right)
F_{76}\! \left(x , y\right) = F_{77}\! \left(x , y\right)
F_{77}\! \left(x , y\right) = F_{4}\! \left(x \right) F_{6}\! \left(x , y\right)
F_{78}\! \left(x \right) = \frac{F_{79}\! \left(x \right)}{F_{17}\! \left(x \right)}
F_{79}\! \left(x \right) = F_{80}\! \left(x \right)
F_{80}\! \left(x \right) = F_{17}\! \left(x \right) F_{81}\! \left(x \right)
F_{81}\! \left(x \right) = F_{82}\! \left(x \right)+F_{83}\! \left(x \right)
F_{82}\! \left(x \right) = F_{0}\! \left(x \right) F_{35}\! \left(x \right)
F_{83}\! \left(x \right) = F_{84}\! \left(x \right)
F_{84}\! \left(x \right) = F_{0}\! \left(x \right) F_{17}\! \left(x \right) F_{56}\! \left(x \right)
F_{85}\! \left(x , y\right) = F_{6}\! \left(x , y\right) F_{78}\! \left(x \right)
F_{86}\! \left(x \right) = F_{87}\! \left(x \right)
F_{87}\! \left(x \right) = F_{17}\! \left(x \right) F_{88}\! \left(x \right)
F_{88}\! \left(x \right) = F_{89}\! \left(x \right)
F_{89}\! \left(x \right) = F_{17}\! \left(x \right) F_{38}\! \left(x \right) F_{90}\! \left(x \right)
F_{90}\! \left(x \right) = F_{63}\! \left(x , 1\right)
System of equations in sympy syntax:
Eq(F_0(x), F_1(x) + F_2(x))
Eq(F_1(x), 1)
Eq(F_2(x), F_3(x))
Eq(F_3(x), F_17(x)*F_4(x))
Eq(F_4(x), F_5(x) + F_86(x))
Eq(F_5(x), F_6(x, 1))
Eq(F_6(x, k_0), F_11(x, k_0) + F_7(x, k_0))
Eq(F_7(x, k_0), F_1(x) + F_8(x, k_0))
Eq(F_8(x, k_0), F_9(x, k_0))
Eq(F_9(x, k_0), F_10(x, k_0)*F_7(x, k_0))
Eq(F_10(x, k_0), k_0*x)
Eq(F_11(x, k_0), F_12(x, k_0))
Eq(F_12(x, k_0), F_13(x, k_0)*F_17(x)*F_7(x, k_0))
Eq(F_13(x, k_0), F_14(x, k_0) + F_20(x, k_0))
Eq(F_14(x, k_0), F_15(x, k_0) + F_6(x, k_0))
Eq(F_15(x, k_0), F_16(x, k_0))
Eq(F_16(x, k_0), F_17(x)*F_18(x, k_0)*F_6(x, k_0))
Eq(F_17(x), x)
Eq(F_19(x, k_0), F_17(x)*F_18(x, k_0)*F_7(x, k_0))
Eq(F_19(x, k_0), F_11(x, k_0))
Eq(F_20(x, k_0), F_21(x, k_0))
Eq(F_21(x, k_0), F_17(x)*F_22(x, k_0))
Eq(F_22(x, k_0), F_23(x, k_0))
Eq(F_23(x, k_0), F_17(x)*F_18(x, k_0)*F_24(x, k_0))
Eq(F_25(x, k_0), F_17(x)*F_24(x, k_0)*F_78(x))
Eq(F_25(x, k_0), F_26(x, k_0))
Eq(F_27(x, k_0), F_26(x, k_0) + F_85(x, k_0))
Eq(F_27(x, k_0), F_28(x, k_0) + F_58(x, k_0))
Eq(F_28(x, k_0), F_29(x, k_0))
Eq(F_29(x, k_0), F_30(x)*F_6(x, k_0))
Eq(F_30(x), F_31(x)/F_17(x))
Eq(F_31(x), F_32(x))
Eq(F_32(x), F_17(x)*F_33(x))
Eq(F_33(x), F_34(x) + F_54(x))
Eq(F_34(x), F_35(x)*F_4(x))
Eq(F_35(x), F_0(x) + F_36(x))
Eq(F_36(x), F_37(x))
Eq(F_37(x), F_0(x)*F_17(x)*F_38(x))
Eq(F_38(x), F_35(x) + F_39(x))
Eq(F_39(x), F_40(x)/(F_17(x)*F_53(x)))
Eq(F_40(x), F_41(x))
Eq(F_41(x), F_42(x) - F_48(x))
Eq(F_42(x), F_43(x)/F_17(x))
Eq(F_43(x), F_44(x))
Eq(F_44(x), F_0(x) - F_45(x))
Eq(F_45(x), F_1(x) + F_46(x))
Eq(F_46(x), F_47(x))
Eq(F_47(x), F_17(x)*F_45(x))
Eq(F_48(x), F_49(x))
Eq(F_49(x), F_17(x)*F_45(x)*F_50(x))
Eq(F_50(x), F_4(x) + F_51(x))
Eq(F_51(x), F_52(x))
Eq(F_52(x), F_17(x)*F_4(x)*F_53(x))
Eq(F_53(x), F_45(x) + F_48(x))
Eq(F_54(x), F_55(x))
Eq(F_55(x), F_17(x)*F_4(x)*F_56(x))
Eq(F_56(x), F_57(x)/F_17(x))
Eq(F_57(x), F_39(x))
Eq(F_58(x, k_0), F_59(x, k_0))
Eq(F_59(x, k_0), F_17(x)*F_60(x, k_0)*F_78(x))
Eq(F_61(x, k_0), F_0(x)*F_17(x)*F_60(x, k_0))
Eq(F_61(x, k_0), F_62(x, k_0))
Eq(F_63(x, k_0), F_62(x, k_0) + F_76(x, k_0))
Eq(F_63(x, k_0), F_64(x, k_0) + F_65(x, k_0))
Eq(F_64(x, k_0), F_4(x)*F_7(x, k_0))
Eq(F_66(x, k_0), F_10(x, k_0)*F_65(x, k_0))
Eq(F_66(x, k_0), F_67(x, k_0))
Eq(F_68(x, k_0), F_67(x, k_0) + F_75(x, k_0))
Eq(F_68(x, k_0), F_69(x, k_0) + F_70(x, k_0))
Eq(F_69(x, k_0), (-k_0*F_6(x, k_0) + F_6(x, 1))/(1 - k_0))
Eq(F_70(x, k_0), F_71(x, k_0))
Eq(F_71(x, k_0), F_17(x)*F_72(x, k_0))
Eq(F_72(x, k_0), (-k_0*F_73(x, k_0) + F_73(x, 1))/(1 - k_0))
Eq(F_73(x, k_0), F_74(x, k_0))
Eq(F_74(x, k_0), F_17(x)*F_38(x)*F_63(x, k_0))
Eq(F_75(x, k_0), F_64(x, k_0))
Eq(F_76(x, k_0), F_77(x, k_0))
Eq(F_77(x, k_0), F_4(x)*F_6(x, k_0))
Eq(F_78(x), F_79(x)/F_17(x))
Eq(F_79(x), F_80(x))
Eq(F_80(x), F_17(x)*F_81(x))
Eq(F_81(x), F_82(x) + F_83(x))
Eq(F_82(x), F_0(x)*F_35(x))
Eq(F_83(x), F_84(x))
Eq(F_84(x), F_0(x)*F_17(x)*F_56(x))
Eq(F_85(x, k_0), F_6(x, k_0)*F_78(x))
Eq(F_86(x), F_87(x))
Eq(F_87(x), F_17(x)*F_88(x))
Eq(F_88(x), F_89(x))
Eq(F_89(x), F_17(x)*F_38(x)*F_90(x))
Eq(F_90(x), F_63(x, 1))
Pack JSON: {'expansion_strats': [[{'ignore_parent': False}, {'dirs': [0, 1, 2, 3], 'ignore_parent': False, 'partial': False, 'point_only': False}]], 'inferral_strats': [{'ignore_parent': True, 'inferrable': True, 'possibly_empty': False, 'workable': True}, {}], 'initial_strats': [{}, {}, {'ignore_parent': True, 'interleaving': None, 'tracked': False, 'unions': False, 'workable': True}, {'ignore_parent': True}, {'tracked': True}], 'iterative': False, 'name': 'requirement_placements_tracked_fusion', 'symmetries': [], 'ver_strats': [{}, {'ignore_parent': False}, {'ignore_parent': False, 'symmetry': False}, {'ignore_parent': False, 'symmetry': False}]}
Specification JSON: {'root': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}], 'requirements': []}, 'rules': [{'class_module': 'comb_spec_searcher.strategies.rule', 'idx': 1, 'original_rule': {'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': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}], 'requirements': [[{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}], 'requirements': []}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}], 'ignore_parent': False, 'strategy_class': 'RequirementInsertionStrategy'}}, 'rule_class': 'ReverseRule'}, {'class_module': 'comb_spec_searcher.strategies.rule', 'idx': 1, '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': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 1], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [2, 0, 1], 'pos': [[1, 2], [1, 0], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 2], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}], [{'patt': [0], 'pos': [[1, 2]]}, {'patt': [0, 1], 'pos': [[1, 0], [1, 0]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 1]], [[1, 0], [1, 2]]], 'strategy_class': 'FactorStrategy', 'workable': True}}, 'rule_class': 'ReverseRule'}, {'class_module': 'comb_spec_searcher.strategies.rule', 'idx': 1, 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 1], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}], 'requirements': [[{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 1], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}], 'ignore_parent': True, 'strategy_class': 'RequirementInsertionStrategy'}}, 'rule_class': 'ReverseRule'}, {'class_module': 'comb_spec_searcher.strategies.rule', 'idx': 0, 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 2], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 2], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 2], [0, 1]]}, {'patt': [2, 0, 1], 'pos': [[1, 2], [1, 0], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 1], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 2], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}], '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': [[0, 2]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 3], [2, 3]]}, {'patt': [0, 2, 1], 'pos': [[0, 3], [0, 3], [2, 3]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 3], [0, 1]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 0], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 1], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 3], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 0], [2, 0], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 0], [2, 3], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 2]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 1], [0, 3], [2, 0], [2, 3]], [[1, 2]]], 'strategy_class': 'FactorStrategy', 'workable': True}}, 'rule_class': 'ReverseRule'}, {'class_module': 'comb_spec_searcher.strategies.rule', 'idx': 0, 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 2], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 2], [0, 0], [0, 2]]}, {'patt': [2, 0, 1], 'pos': [[0, 2], [0, 1], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 2], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 2], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}], '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]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}], 'requirements': []}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 5]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[1, 5]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0], 'pos': [[2, 3]]}, {'patt': [0], 'pos': [[2, 4]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 2]]}, {'patt': [0, 1], 'pos': [[2, 0], [2, 0]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 3], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 4], [0, 1]]}, {'patt': [2, 0, 1], 'pos': [[0, 4], [0, 1], [0, 4]]}, {'patt': [2, 0, 1], 'pos': [[0, 4], [0, 3], [0, 4]]}, {'patt': [2, 0, 1], 'pos': [[2, 5], [2, 0], [2, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 1], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 3], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 4], [0, 1], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 4], [0, 3], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 4], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 5], [2, 5], [2, 5], [2, 5]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}], [{'patt': [0], 'pos': [[1, 2]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 1], [0, 3], [0, 4]], [[1, 2]], [[2, 0], [2, 5]]], 'strategy_class': 'FactorStrategy', 'workable': True}}, 'rule_class': 'ReverseRule'}, {'class_module': 'comb_spec_searcher.strategies.rule', 'idx': 0, 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 1], [2, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 2], [2, 1]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 0], [2, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [2, 1], [2, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [2, 3], [2, 0]]}, {'patt': [1, 2, 0], 'pos': [[2, 0], [2, 1], [2, 0]]}, {'patt': [1, 2, 0], 'pos': [[2, 0], [2, 3], [2, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 2], [0, 1], [0, 2]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 0], [2, 3]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 1], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 2], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [2, 1], [2, 0], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [2, 1], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [2, 3], [2, 0], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [2, 3], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [2, 0], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 0], [2, 0], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 1], [2, 0], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 1], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 3], [2, 0], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 3], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}], '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': [[0, 1]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0], 'pos': [[2, 3]]}, {'patt': [0], 'pos': [[2, 4]]}, {'patt': [0], 'pos': [[3, 0]]}, {'patt': [0], 'pos': [[3, 3]]}, {'patt': [0, 1], 'pos': [[2, 0], [2, 0]]}, {'patt': [1, 0], 'pos': [[2, 0], [2, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 2], [3, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 3], [3, 2]]}, {'patt': [0, 2, 1], 'pos': [[1, 1], [1, 1], [3, 1]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [3, 2], [3, 1]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [3, 4], [3, 1]]}, {'patt': [1, 2, 0], 'pos': [[3, 1], [3, 2], [3, 1]]}, {'patt': [1, 2, 0], 'pos': [[3, 1], [3, 4], [3, 1]]}, {'patt': [2, 0, 1], 'pos': [[0, 3], [0, 2], [0, 3]]}, {'patt': [2, 0, 1], 'pos': [[3, 4], [3, 1], [3, 4]]}, {'patt': [2, 0, 1], 'pos': [[3, 4], [3, 2], [3, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 3], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [3, 2], [3, 1], [3, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [3, 2], [3, 2], [3, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [3, 4], [3, 1], [3, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [3, 4], [3, 2], [3, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 3], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 1], [1, 1], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [3, 1], [3, 1], [3, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 1], [3, 1], [3, 1], [3, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 2], [3, 2], [3, 1], [3, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 2], [3, 2], [3, 2], [3, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 2], [3, 4], [3, 1], [3, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 2], [3, 4], [3, 2], [3, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 4], [3, 4], [3, 4], [3, 4]]}], 'requirements': [[{'patt': [0], 'pos': [[2, 0]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 2], [0, 3], [1, 1], [3, 1], [3, 2], [3, 4]], [[2, 0]]], 'strategy_class': 'FactorStrategy', 'workable': True}}, 'rule_class': 'ReverseRule'}, {'class_module': 'comb_spec_searcher.strategies.rule', 'idx': 0, 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 2], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 2], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 2], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 2], [1, 3], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 3], [1, 2]]}, {'patt': [2, 0, 1], 'pos': [[1, 2], [1, 0], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 1], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 2], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 2], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}], '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': [[0, 2]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[2, 4], [2, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 3], [2, 3]]}, {'patt': [0, 2, 1], 'pos': [[0, 3], [0, 3], [2, 3]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 3], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 3], [2, 4], [2, 3]]}, {'patt': [1, 2, 0], 'pos': [[2, 3], [2, 4], [2, 3]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 0], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 1], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 3], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 0], [2, 0], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 0], [2, 3], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 3], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 4], [2, 4]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 2]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 1], [0, 3], [2, 0], [2, 3], [2, 4]], [[1, 2]]], 'strategy_class': 'FactorStrategy', 'workable': True}}, 'rule_class': 'ReverseRule'}, {'class_module': 'comb_spec_searcher.strategies.rule', 'idx': 2, 'original_rule': {'children': [{'assumptions': [{'assumption': 'TrackingAssumption', 'class_module': 'tilings.assumptions', 'gps': [{'patt': [0], 'pos': [[0, 0]]}]}], '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': [[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': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 2], [0, 0], [0, 2]]}, {'patt': [2, 0, 1], 'pos': [[0, 2], [0, 1], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 2], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 2], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}], 'requirements': []}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [{'assumption': 'TrackingAssumption', 'class_module': 'tilings.assumptions', 'gps': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[2, 1]]}]}], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 3]]}, {'patt': [0, 1], 'pos': [[1, 3], [1, 3]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 3]]}, {'patt': [1, 0], 'pos': [[2, 1], [2, 1]]}, {'patt': [2, 0, 1], 'pos': [[2, 4], [2, 1], [2, 4]]}, {'patt': [2, 0, 1], 'pos': [[2, 4], [2, 2], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 2], [2, 1], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 2], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 4], [2, 1], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 4], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 4], [2, 4]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 3]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 0]], [[1, 3]], [[2, 1], [2, 2], [2, 4]]], 'strategy_class': 'FactorStrategy', 'workable': True}}, 'rule_class': 'ReverseRule'}, {'class_module': 'comb_spec_searcher.strategies.rule', 'idx': 1, 'original_rule': {'children': [{'assumptions': [{'assumption': 'TrackingAssumption', 'class_module': 'tilings.assumptions', 'gps': [{'patt': [0], 'pos': [[0, 0]]}]}], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 2], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 1], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}], 'requirements': []}, {'assumptions': [{'assumption': 'TrackingAssumption', 'class_module': 'tilings.assumptions', 'gps': [{'patt': [0], 'pos': [[0, 0]]}]}], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 2], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 1], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}], 'requirements': [[{'patt': [1, 0], 'pos': [[0, 2], [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': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 2], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 1], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}], 'requirements': []}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}], 'ignore_parent': False, 'strategy_class': 'RequirementInsertionStrategy'}}, 'rule_class': 'ReverseRule'}, {'class_module': 'comb_spec_searcher.strategies.rule', 'idx': 1, 'original_rule': {'children': [{'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, 0]]}, {'patt': [0, 1], 'pos': [[0, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 2], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 1], [1, 1], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}], 'requirements': []}, {'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, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 2], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 2], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [1, 2], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 1], [1, 1], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}], 'requirements': [[{'patt': [0, 1], 'pos': [[0, 2], [1, 2]]}]]}], '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, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 2], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 2], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [1, 2], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 1], [1, 1], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}], 'requirements': []}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0, 1], 'pos': [[0, 2], [1, 2]]}], 'ignore_parent': False, 'strategy_class': 'RequirementInsertionStrategy'}}, 'rule_class': 'ReverseRule'}, {'class_module': 'comb_spec_searcher.strategies.rule', 'idx': 0, 'original_rule': {'children': [{'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, 0]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 3]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 2], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 3], [0, 3], [1, 3]]}, {'patt': [1, 0, 2], 'pos': [[0, 2], [1, 1], [1, 2]]}, {'patt': [1, 0, 2], 'pos': [[0, 2], [1, 2], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 2], [1, 1]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 3], [1, 1]]}, {'patt': [2, 0, 1], 'pos': [[1, 3], [1, 1], [1, 3]]}, {'patt': [2, 0, 1], 'pos': [[1, 3], [1, 2], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 0], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 3], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [1, 3], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 1], [1, 1], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 3], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 3], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 2]]}, {'patt': [0, 1], 'pos': [[0, 3], [1, 3]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], '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': [[0, 2]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[1, 5]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0], 'pos': [[2, 3]]}, {'patt': [0], 'pos': [[2, 5]]}, {'patt': [0], 'pos': [[3, 0]]}, {'patt': [0], 'pos': [[3, 1]]}, {'patt': [0], 'pos': [[3, 4]]}, {'patt': [0, 1], 'pos': [[0, 3], [0, 5]]}, {'patt': [0, 1], 'pos': [[2, 4], [2, 4]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[2, 4], [2, 4]]}, {'patt': [0, 2, 1], 'pos': [[0, 3], [0, 3], [3, 3]]}, {'patt': [0, 2, 1], 'pos': [[0, 5], [0, 5], [3, 5]]}, {'patt': [1, 0, 2], 'pos': [[0, 3], [3, 2], [3, 3]]}, {'patt': [1, 0, 2], 'pos': [[0, 3], [3, 3], [3, 3]]}, {'patt': [1, 2, 0], 'pos': [[3, 2], [3, 3], [3, 2]]}, {'patt': [1, 2, 0], 'pos': [[3, 2], [3, 5], [3, 2]]}, {'patt': [2, 0, 1], 'pos': [[3, 5], [3, 2], [3, 5]]}, {'patt': [2, 0, 1], 'pos': [[3, 5], [3, 3], [3, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 0], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 3], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [0, 5], [0, 0], [0, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [0, 5], [0, 5], [0, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [3, 5], [3, 5], [3, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 1], [1, 1], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 2], [3, 2], [3, 2], [3, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 3], [3, 3], [3, 2], [3, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 3], [3, 3], [3, 3], [3, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 3], [3, 5], [3, 2], [3, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 3], [3, 5], [3, 3], [3, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 5], [3, 5], [3, 5], [3, 5]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 3]]}, {'patt': [0, 1], 'pos': [[0, 5], [3, 5]]}], [{'patt': [0], 'pos': [[2, 4]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 0], [0, 3], [0, 5], [3, 2], [3, 3], [3, 5]], [[1, 1]], [[2, 4]]], 'strategy_class': 'FactorStrategy', 'workable': True}}, 'rule_class': 'ReverseRule'}, {'class_module': 'comb_spec_searcher.strategies.rule', 'idx': 1, 'original_rule': {'children': [{'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': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0], 'pos': [[2, 4]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[1, 2], [1, 3], [2, 3]]}, {'patt': [0, 2, 1], 'pos': [[1, 3], [1, 3], [2, 3]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 3], [1, 2]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 1], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 0], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 4], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 2], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 1], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 3], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}], 'requirements': []}, {'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': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[2, 4], [2, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 4], [0, 4], [2, 4]]}, {'patt': [0, 2, 1], 'pos': [[1, 2], [1, 3], [2, 3]]}, {'patt': [0, 2, 1], 'pos': [[1, 3], [1, 3], [2, 3]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 3], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 3], [2, 4], [2, 3]]}, {'patt': [1, 2, 0], 'pos': [[2, 3], [2, 4], [2, 3]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 1], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 0], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 4], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [2, 4], [2, 3], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [2, 4], [2, 4], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 2], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 1], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 3], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 3], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 4], [2, 4]]}], 'requirements': [[{'patt': [0], 'pos': [[2, 4]]}]]}], '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': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[2, 4], [2, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 4], [0, 4], [2, 4]]}, {'patt': [0, 2, 1], 'pos': [[1, 2], [1, 3], [2, 3]]}, {'patt': [0, 2, 1], 'pos': [[1, 3], [1, 3], [2, 3]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 3], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 3], [2, 4], [2, 3]]}, {'patt': [1, 2, 0], 'pos': [[2, 3], [2, 4], [2, 3]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 1], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 0], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 4], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [2, 4], [2, 3], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [2, 4], [2, 4], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 2], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 1], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 3], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 3], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 4], [2, 4]]}], 'requirements': []}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0], 'pos': [[2, 4]]}], 'ignore_parent': False, 'strategy_class': 'RequirementInsertionStrategy'}}, 'rule_class': 'ReverseRule'}, {'class_module': 'comb_spec_searcher.strategies.rule', 'idx': 0, 'original_rule': {'children': [{'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, 0]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 3]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 2], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 3], [0, 3], [1, 3]]}, {'patt': [1, 0, 2], 'pos': [[0, 2], [1, 1], [1, 2]]}, {'patt': [1, 0, 2], 'pos': [[0, 2], [1, 2], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 2], [1, 1]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 3], [1, 1]]}, {'patt': [2, 0, 1], 'pos': [[1, 3], [1, 1], [1, 3]]}, {'patt': [2, 0, 1], 'pos': [[1, 3], [1, 2], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 0], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 3], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [1, 3], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 1], [1, 1], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 3], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 3], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 2], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 2], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 2], [0, 1]]}, {'patt': [2, 0, 1], 'pos': [[1, 2], [1, 0], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 1], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 2], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}], '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': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[0, 6]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[1, 5]]}, {'patt': [0], 'pos': [[1, 6]]}, {'patt': [0], 'pos': [[1, 7]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0], 'pos': [[2, 4]]}, {'patt': [0], 'pos': [[2, 5]]}, {'patt': [0], 'pos': [[2, 6]]}, {'patt': [0], 'pos': [[2, 7]]}, {'patt': [0], 'pos': [[3, 0]]}, {'patt': [0], 'pos': [[3, 1]]}, {'patt': [0], 'pos': [[3, 2]]}, {'patt': [0], 'pos': [[3, 3]]}, {'patt': [0], 'pos': [[3, 4]]}, {'patt': [0], 'pos': [[3, 5]]}, {'patt': [0], 'pos': [[3, 7]]}, {'patt': [0], 'pos': [[4, 0]]}, {'patt': [0], 'pos': [[4, 1]]}, {'patt': [0], 'pos': [[4, 2]]}, {'patt': [0], 'pos': [[4, 3]]}, {'patt': [0], 'pos': [[4, 6]]}, {'patt': [0, 1], 'pos': [[0, 5], [0, 7]]}, {'patt': [0, 1], 'pos': [[3, 6], [3, 6]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[3, 6], [3, 6]]}, {'patt': [0, 2, 1], 'pos': [[0, 5], [0, 5], [4, 5]]}, {'patt': [0, 2, 1], 'pos': [[0, 7], [0, 7], [4, 7]]}, {'patt': [0, 2, 1], 'pos': [[1, 2], [1, 3], [2, 3]]}, {'patt': [0, 2, 1], 'pos': [[1, 3], [1, 3], [2, 3]]}, {'patt': [1, 0, 2], 'pos': [[0, 5], [4, 4], [4, 5]]}, {'patt': [1, 0, 2], 'pos': [[0, 5], [4, 5], [4, 5]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 3], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[4, 4], [4, 5], [4, 4]]}, {'patt': [1, 2, 0], 'pos': [[4, 4], [4, 7], [4, 4]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 1], [2, 3]]}, {'patt': [2, 0, 1], 'pos': [[4, 7], [4, 4], [4, 7]]}, {'patt': [2, 0, 1], 'pos': [[4, 7], [4, 5], [4, 7]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [0, 5], [0, 0], [0, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [0, 5], [0, 5], [0, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 7], [0, 7], [0, 0], [0, 7]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 7], [0, 7], [0, 7], [0, 7]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 7], [4, 7], [4, 7], [4, 7]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 2], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 1], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 3], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 4], [4, 4], [4, 4], [4, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 5], [4, 5], [4, 4], [4, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 5], [4, 5], [4, 5], [4, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 5], [4, 7], [4, 4], [4, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 5], [4, 7], [4, 5], [4, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 7], [4, 7], [4, 7], [4, 7]]}], 'requirements': [[{'patt': [0], 'pos': [[3, 6]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 0], [0, 5], [0, 7], [4, 4], [4, 5], [4, 7]], [[1, 2], [1, 3], [2, 1], [2, 3]], [[3, 6]]], 'strategy_class': 'FactorStrategy', 'workable': True}}, 'rule_class': 'ReverseRule'}, {'class_module': 'comb_spec_searcher.strategies.rule', 'idx': 0, 'original_rule': {'children': [{'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, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 2], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 2], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [1, 2], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 1], [1, 1], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 2]]}]]}, {'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, 0]]}, {'patt': [0], 'pos': [[1, 1]]}]}], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0, 1], 'pos': [[1, 1], [1, 1]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[1, 1], [1, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 3], [0, 3], [2, 3]]}, {'patt': [1, 2, 0], 'pos': [[2, 2], [2, 3], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 0], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 3], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [2, 3], [2, 2], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 2], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 2], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 3]]}], [{'patt': [0], 'pos': [[1, 1]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 0], [0, 3], [2, 2], [2, 3]], [[1, 1]]], 'strategy_class': 'FactorStrategy', 'workable': True}}, 'rule_class': 'ReverseRule'}, {'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, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}], 'requirements': []}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0], 'pos': [[0, 0]]}], 'ignore_parent': False, 'strategy_class': 'RequirementInsertionStrategy'}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}], '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': [[1, 2]]}, {'patt': [0, 1], 'pos': [[1, 1], [1, 1]]}, {'patt': [1, 0], 'pos': [[1, 1], [1, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 2], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 1]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 0], [0, 2]], [[1, 1]]], 'strategy_class': 'FactorStrategy', 'workable': True}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 2], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 2], [0, 0], [0, 2]]}, {'patt': [2, 0, 1], 'pos': [[0, 2], [0, 1], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 2], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 2], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}], '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]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}], 'requirements': []}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0], 'pos': [[2, 3]]}, {'patt': [0, 1], 'pos': [[1, 1], [1, 1]]}, {'patt': [1, 0], 'pos': [[1, 1], [1, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 2], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 3], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 3], [0, 0], [0, 3]]}, {'patt': [2, 0, 1], 'pos': [[0, 3], [0, 2], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 3], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 3], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 3], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 4], [2, 4]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 1]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 0], [0, 2], [0, 3]], [[1, 1]], [[2, 4]]], 'strategy_class': 'FactorStrategy', 'workable': True}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [1, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [1, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 1]]}, {'patt': [2, 0, 1], 'pos': [[1, 2], [1, 0], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 1], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [1, 2], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 2], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}], 'requirements': []}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 0], [2, 0]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 2], [2, 0]]}, {'patt': [2, 0, 1], 'pos': [[1, 2], [1, 0], [1, 2]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 0], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 2], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [2, 0], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [2, 3], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 0], [2, 0], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 0], [2, 3], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 1]], [[1, 0], [1, 2], [2, 0], [2, 3]]], 'strategy_class': 'FactorStrategy', 'workable': True}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}], 'requirements': [[{'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}], 'requirements': []}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}], 'ignore_parent': False, 'strategy_class': 'RequirementInsertionStrategy'}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 3], [0, 3], [1, 3]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 3], [1, 2]]}, {'patt': [2, 0, 1], 'pos': [[1, 2], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 0], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 3], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [1, 3], [1, 2], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [1, 3], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 1], [1, 1], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 2], [1, 1], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 2], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 1]]}]]}, {'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': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[2, 4], [2, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 4], [0, 4], [2, 4]]}, {'patt': [1, 2, 0], 'pos': [[2, 3], [2, 4], [2, 3]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 1], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 0], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 4], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [2, 4], [2, 3], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [2, 4], [2, 4], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 1], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 3], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 3], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 4], [2, 4]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 2]]}], [{'patt': [0], 'pos': [[2, 1]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 0], [0, 4], [2, 1], [2, 3], [2, 4]], [[1, 2]]], 'strategy_class': 'FactorStrategy', 'workable': True}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 1], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 1], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}], 'requirements': []}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0], 'pos': [[0, 0]]}], 'ignore_parent': False, '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, 2], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 2], [0, 1]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 1], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}], '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]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}], 'requirements': []}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0], 'pos': [[2, 3]]}, {'patt': [0], 'pos': [[2, 4]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[1, 3], [1, 3]]}, {'patt': [0, 1], 'pos': [[2, 0], [2, 0]]}, {'patt': [1, 0], 'pos': [[0, 4], [0, 1]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 3]]}, {'patt': [1, 2, 0], 'pos': [[0, 2], [0, 4], [0, 2]]}, {'patt': [2, 0, 1], 'pos': [[0, 2], [0, 1], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 2], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 4], [0, 4]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 3]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 1], [0, 2], [0, 4]], [[1, 3]], [[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': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}], 'requirements': []}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0], 'pos': [[0, 1]]}], 'ignore_parent': False, 'strategy_class': 'RequirementInsertionStrategy'}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 1], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 2], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 2], [0, 0], [0, 2]]}, {'patt': [2, 0, 1], 'pos': [[0, 2], [0, 1], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 2], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 2], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 2], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 2], [0, 0], [0, 2]]}, {'patt': [2, 0, 1], 'pos': [[0, 2], [0, 1], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 2], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 2], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}], 'requirements': []}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0], 'pos': [[0, 0]]}], 'ignore_parent': False, 'strategy_class': 'RequirementInsertionStrategy'}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 1], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [1, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [1, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 1]]}, {'patt': [2, 0, 1], 'pos': [[1, 2], [1, 0], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 1], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [1, 2], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 2], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}], '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], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [1, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [1, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 1]]}, {'patt': [2, 0, 1], 'pos': [[1, 2], [1, 0], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 1], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [1, 2], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 2], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}], 'requirements': []}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0], 'pos': [[1, 0]]}], 'ignore_parent': False, 'strategy_class': 'RequirementInsertionStrategy'}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 1], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}], 'requirements': []}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 1], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}], 'requirements': []}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 0], [0, 1]], [[1, 2]]], 'strategy_class': 'FactorStrategy', 'workable': True}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 1], [2, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 2], [2, 1]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 0], [2, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [2, 1], [2, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [2, 3], [2, 0]]}, {'patt': [1, 2, 0], 'pos': [[2, 0], [2, 1], [2, 0]]}, {'patt': [1, 2, 0], 'pos': [[2, 0], [2, 3], [2, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 2], [0, 1], [0, 2]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 0], [2, 3]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 1], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 2], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [2, 1], [2, 0], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [2, 1], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [2, 3], [2, 0], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [2, 3], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [2, 0], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 0], [2, 0], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 1], [2, 0], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 1], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 3], [2, 0], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 3], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}], '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]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}], 'requirements': []}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[0, 5]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[1, 5]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 3]]}, {'patt': [0], 'pos': [[2, 5]]}, {'patt': [0], 'pos': [[3, 0]]}, {'patt': [0], 'pos': [[3, 2]]}, {'patt': [0], 'pos': [[3, 3]]}, {'patt': [0], 'pos': [[3, 4]]}, {'patt': [0], 'pos': [[3, 5]]}, {'patt': [0], 'pos': [[4, 0]]}, {'patt': [0], 'pos': [[4, 1]]}, {'patt': [0], 'pos': [[4, 2]]}, {'patt': [0], 'pos': [[4, 3]]}, {'patt': [0], 'pos': [[4, 4]]}, {'patt': [0, 1], 'pos': [[3, 1], [3, 1]]}, {'patt': [1, 0], 'pos': [[3, 1], [3, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 2], [2, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 3], [2, 2]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 0], [2, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [2, 2], [2, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [2, 4], [2, 0]]}, {'patt': [1, 2, 0], 'pos': [[2, 0], [2, 2], [2, 0]]}, {'patt': [1, 2, 0], 'pos': [[2, 0], [2, 4], [2, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 3], [0, 2], [0, 3]]}, {'patt': [2, 0, 1], 'pos': [[2, 4], [2, 0], [2, 4]]}, {'patt': [2, 0, 1], 'pos': [[2, 4], [2, 2], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 3], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [2, 2], [2, 0], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [2, 2], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [2, 4], [2, 0], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [2, 4], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 3], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [2, 0], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 0], [2, 0], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 2], [2, 0], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 2], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 4], [2, 0], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 4], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 4], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 5], [4, 5], [4, 5], [4, 5]]}], 'requirements': [[{'patt': [0], 'pos': [[3, 1]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 2], [0, 3], [1, 0], [2, 0], [2, 2], [2, 4]], [[3, 1]], [[4, 5]]], 'strategy_class': 'FactorStrategy', 'workable': True}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 2], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 2], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [1, 2], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 1], [1, 1], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 2], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 2], [0, 0], [0, 2]]}, {'patt': [2, 0, 1], 'pos': [[0, 2], [0, 1], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 2], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 2], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}], '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': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[0, 5]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 5]]}, {'patt': [0], 'pos': [[1, 6]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 3]]}, {'patt': [0], 'pos': [[2, 4]]}, {'patt': [0], 'pos': [[2, 5]]}, {'patt': [0], 'pos': [[2, 6]]}, {'patt': [0], 'pos': [[3, 0]]}, {'patt': [0], 'pos': [[3, 1]]}, {'patt': [0], 'pos': [[3, 2]]}, {'patt': [0], 'pos': [[3, 3]]}, {'patt': [0], 'pos': [[3, 4]]}, {'patt': [0, 1], 'pos': [[2, 2], [2, 2]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[2, 2], [2, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 6], [0, 6], [3, 6]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 3], [1, 1]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 4], [1, 1]]}, {'patt': [1, 2, 0], 'pos': [[3, 5], [3, 6], [3, 5]]}, {'patt': [2, 0, 1], 'pos': [[1, 4], [1, 1], [1, 4]]}, {'patt': [2, 0, 1], 'pos': [[1, 4], [1, 3], [1, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 6], [0, 6], [0, 0], [0, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 6], [0, 6], [0, 6], [0, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 6], [3, 6], [3, 5], [3, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 6], [3, 6], [3, 6], [3, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 1], [1, 1], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 1], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 4], [1, 1], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 4], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 4], [1, 4], [1, 4], [1, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 5], [3, 5], [3, 5], [3, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 6], [3, 6], [3, 5], [3, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 6], [3, 6], [3, 6], [3, 6]]}], 'requirements': [[{'patt': [0], 'pos': [[2, 2]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 0], [0, 6], [3, 5], [3, 6]], [[1, 1], [1, 3], [1, 4]], [[2, 2]]], 'strategy_class': 'FactorStrategy', 'workable': True}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 2], [0, 1]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 1], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 2], [0, 1]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 1], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}], 'requirements': []}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0], 'pos': [[0, 0]]}], 'ignore_parent': False, '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], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [1, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 3], [1, 2]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 1]]}, {'patt': [2, 0, 1], 'pos': [[1, 2], [1, 0], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 1], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [1, 2], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 2], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 2], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}], 'requirements': []}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[2, 4], [2, 0]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 0], [2, 0]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 2], [2, 0]]}, {'patt': [1, 2, 0], 'pos': [[2, 3], [2, 4], [2, 3]]}, {'patt': [2, 0, 1], 'pos': [[1, 2], [1, 0], [1, 2]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 0], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 2], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [2, 0], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [2, 3], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 0], [2, 0], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 0], [2, 3], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 3], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 4], [2, 4]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 1]], [[1, 0], [1, 2], [2, 0], [2, 3], [2, 4]]], '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': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}], 'requirements': []}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}], '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': [{'assumption': 'TrackingAssumption', 'class_module': 'tilings.assumptions', 'gps': [{'patt': [0], 'pos': [[0, 0]]}]}], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 0], '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': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 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': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}], 'requirements': []}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0], 'pos': [[0, 1]]}], 'ignore_parent': False, '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': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 2], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 2], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 1], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}], '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]]}]]}, {'assumptions': [{'assumption': 'TrackingAssumption', 'class_module': 'tilings.assumptions', 'gps': [{'patt': [0], 'pos': [[0, 0]]}]}], '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': [{'assumption': 'TrackingAssumption', 'class_module': 'tilings.assumptions', 'gps': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[2, 1]]}]}], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0], 'pos': [[2, 3]]}, {'patt': [0], 'pos': [[2, 4]]}, {'patt': [0, 1], 'pos': [[1, 3], [1, 3]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 3]]}, {'patt': [1, 0], 'pos': [[2, 1], [2, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 2], [0, 4], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 2], [0, 4], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 0], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 2], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 4], [0, 4]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 3]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 0], [0, 2], [0, 4]], [[1, 3]], [[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, 1], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}], 'requirements': []}, {'assumptions': [{'assumption': 'TrackingAssumption', 'class_module': 'tilings.assumptions', 'gps': [{'patt': [0], 'pos': [[0, 0]]}]}], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 2], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 2], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 1], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}], 'requirements': [[{'patt': [0, 1], 'pos': [[0, 1], [0, 2]]}]]}], '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': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 2], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 2], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 1], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}], 'requirements': []}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0, 1], 'pos': [[0, 1], [0, 2]]}], 'ignore_parent': False, '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': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}], '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, 1], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 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, 1], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}], 'requirements': []}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0], 'pos': [[0, 1]]}], 'ignore_parent': False, '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': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 1], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}], 'requirements': []}, {'assumptions': [{'assumption': 'TrackingAssumption', 'class_module': 'tilings.assumptions', 'gps': [{'patt': [0], 'pos': [[0, 0]]}]}], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 2], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 1], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}], 'requirements': [[{'patt': [1, 0], 'pos': [[0, 1], [0, 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': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 2], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 1], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}], 'requirements': []}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}], 'ignore_parent': False, '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': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}], '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': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 1], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}], 'requirements': []}, 'rule_class': 'FusionRule', 'strategy': {'class_module': 'tilings.strategies.fusion.fusion', 'col_idx': None, 'row_idx': 0, 'strategy_class': 'FusionStrategy', 'tracked': True}}, {'children': [{'assumptions': [{'assumption': 'TrackingAssumption', 'class_module': 'tilings.assumptions', 'gps': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[1, 1]]}]}], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[1, 1], [1, 1]]}, {'patt': [1, 0], 'pos': [[1, 4], [1, 1]]}, {'patt': [1, 0], 'pos': [[1, 4], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 4], [0, 4], [1, 4]]}, {'patt': [1, 2, 0], 'pos': [[1, 3], [1, 4], [1, 3]]}, {'patt': [2, 0, 1], 'pos': [[1, 3], [1, 1], [1, 3]]}, {'patt': [2, 0, 1], 'pos': [[1, 3], [1, 2], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 0], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 4], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [1, 4], [1, 3], [1, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [1, 4], [1, 4], [1, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 3], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 3], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 4], [1, 4], [1, 3], [1, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 4], [1, 4], [1, 4], [1, 4]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 4]]}]]}, {'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]]}, {'patt': [0], 'pos': [[2, 1]]}]}], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[1, 5]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 3]]}, {'patt': [0, 1], 'pos': [[1, 3], [1, 3]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 3]]}, {'patt': [1, 0], 'pos': [[2, 1], [2, 1]]}, {'patt': [1, 0], 'pos': [[2, 5], [2, 1]]}, {'patt': [1, 0], 'pos': [[2, 5], [2, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 5], [0, 5], [2, 5]]}, {'patt': [1, 2, 0], 'pos': [[2, 4], [2, 5], [2, 4]]}, {'patt': [2, 0, 1], 'pos': [[2, 4], [2, 1], [2, 4]]}, {'patt': [2, 0, 1], 'pos': [[2, 4], [2, 2], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [0, 5], [0, 0], [0, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [0, 5], [0, 5], [0, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [2, 5], [2, 4], [2, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [2, 5], [2, 5], [2, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 2], [2, 1], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 2], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 4], [2, 1], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 4], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 4], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 5], [2, 5], [2, 4], [2, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 5], [2, 5], [2, 5], [2, 5]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 3]]}], [{'patt': [0], 'pos': [[2, 5]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 0], [0, 5], [2, 1], [2, 2], [2, 4], [2, 5]], [[1, 3]]], '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': [1, 0], 'pos': [[0, 0], [0, 0]]}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}], 'requirements': []}], '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': [[0, 2]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 2], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 1], [1, 1], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}], 'requirements': []}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 0]], [[1, 1], [1, 2]]], 'strategy_class': 'FactorStrategy', 'workable': True}}, {'children': [{'assumptions': [{'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, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 2], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 2], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [1, 2], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 1], [1, 1], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}], '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': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 2], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 2], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [1, 2], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 1], [1, 1], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}], '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': [{'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': [[0, 2]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 2], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 1], [1, 1], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}], 'requirements': []}, {'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, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 2], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 2], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [1, 2], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 1], [1, 1], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 2]]}]]}], '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, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 2], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 2], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [1, 2], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 1], [1, 1], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}], 'requirements': []}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0], 'pos': [[0, 2]]}], 'ignore_parent': False, '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': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}], 'requirements': []}], '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': [[0, 2]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 2], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 0], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 3], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 1], [1, 1], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}], 'requirements': []}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 0], [0, 3]], [[1, 1], [1, 2]]], 'strategy_class': 'FactorStrategy', 'workable': True}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}], '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]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}], 'requirements': []}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 2]]}, {'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, 2, 0], 'pos': [[2, 3], [2, 4], [2, 3]]}, {'patt': [2, 0, 1], 'pos': [[0, 2], [0, 1], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 3], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 4], [2, 4]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 0]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 1], [0, 2]], [[1, 0]], [[2, 3], [2, 4]]], 'strategy_class': 'FactorStrategy', 'workable': True}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 1], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}], 'requirements': []}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 3], [1, 2]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 1], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 2], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}], 'requirements': []}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 0], [0, 1]], [[1, 2], [1, 3]]], 'strategy_class': 'FactorStrategy', 'workable': True}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 3], [1, 2]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 1], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 2], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [1, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 3], [1, 2]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 1]]}, {'patt': [2, 0, 1], 'pos': [[1, 2], [1, 0], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 1], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [1, 2], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 2], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 2], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}], '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], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [1, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 3], [1, 2]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 1]]}, {'patt': [2, 0, 1], 'pos': [[1, 2], [1, 0], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 1], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [1, 2], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 2], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 2], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}], 'requirements': []}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0], 'pos': [[1, 0]]}], 'ignore_parent': False, 'strategy_class': 'RequirementInsertionStrategy'}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 1], [2, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 2], [2, 1]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 0], [2, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [2, 1], [2, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [2, 3], [2, 0]]}, {'patt': [1, 2, 0], 'pos': [[2, 0], [2, 1], [2, 0]]}, {'patt': [1, 2, 0], 'pos': [[2, 0], [2, 3], [2, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 2], [0, 1], [0, 2]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 0], [2, 3]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 1], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 2], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [2, 1], [2, 0], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [2, 1], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [2, 3], [2, 0], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [2, 3], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [2, 0], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 0], [2, 0], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 1], [2, 0], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 1], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 3], [2, 0], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 3], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}], '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]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}], 'requirements': []}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[0, 5]]}, {'patt': [0], 'pos': [[0, 6]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[1, 5]]}, {'patt': [0], 'pos': [[1, 6]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 3]]}, {'patt': [0], 'pos': [[2, 5]]}, {'patt': [0], 'pos': [[2, 6]]}, {'patt': [0], 'pos': [[3, 0]]}, {'patt': [0], 'pos': [[3, 2]]}, {'patt': [0], 'pos': [[3, 3]]}, {'patt': [0], 'pos': [[3, 4]]}, {'patt': [0], 'pos': [[3, 5]]}, {'patt': [0], 'pos': [[3, 6]]}, {'patt': [0], 'pos': [[4, 0]]}, {'patt': [0], 'pos': [[4, 1]]}, {'patt': [0], 'pos': [[4, 2]]}, {'patt': [0], 'pos': [[4, 3]]}, {'patt': [0], 'pos': [[4, 4]]}, {'patt': [0, 1], 'pos': [[3, 1], [3, 1]]}, {'patt': [1, 0], 'pos': [[3, 1], [3, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 2], [2, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 3], [2, 2]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 0], [2, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [2, 2], [2, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [2, 4], [2, 0]]}, {'patt': [1, 2, 0], 'pos': [[2, 0], [2, 2], [2, 0]]}, {'patt': [1, 2, 0], 'pos': [[2, 0], [2, 4], [2, 0]]}, {'patt': [1, 2, 0], 'pos': [[4, 5], [4, 6], [4, 5]]}, {'patt': [2, 0, 1], 'pos': [[0, 3], [0, 2], [0, 3]]}, {'patt': [2, 0, 1], 'pos': [[2, 4], [2, 0], [2, 4]]}, {'patt': [2, 0, 1], 'pos': [[2, 4], [2, 2], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 3], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [2, 2], [2, 0], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [2, 2], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [2, 4], [2, 0], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [2, 4], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 3], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [2, 0], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 0], [2, 0], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 2], [2, 0], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 2], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 4], [2, 0], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 4], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 4], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 5], [4, 5], [4, 5], [4, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 6], [4, 6], [4, 5], [4, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 6], [4, 6], [4, 6], [4, 6]]}], 'requirements': [[{'patt': [0], 'pos': [[3, 1]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 2], [0, 3], [1, 0], [2, 0], [2, 2], [2, 4]], [[3, 1]], [[4, 5], [4, 6]]], '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], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0, 1], 'pos': [[0, 4], [2, 4]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[2, 4], [2, 1]]}, {'patt': [0, 2, 1], 'pos': [[1, 2], [1, 3], [2, 3]]}, {'patt': [0, 2, 1], 'pos': [[1, 3], [1, 3], [2, 3]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 3], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 3], [2, 4], [2, 3]]}, {'patt': [1, 2, 0], 'pos': [[2, 3], [2, 4], [2, 3]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 1], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 0], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 4], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 2], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 1], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 3], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 3], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 4], [2, 4]]}], 'requirements': []}, {'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': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[2, 4], [2, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 4], [0, 4], [2, 4]]}, {'patt': [0, 2, 1], 'pos': [[1, 2], [1, 3], [2, 3]]}, {'patt': [0, 2, 1], 'pos': [[1, 3], [1, 3], [2, 3]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 3], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 3], [2, 4], [2, 3]]}, {'patt': [1, 2, 0], 'pos': [[2, 3], [2, 4], [2, 3]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 1], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 0], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 4], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [2, 4], [2, 3], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [2, 4], [2, 4], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 2], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 1], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 3], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 3], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 4], [2, 4]]}], 'requirements': [[{'patt': [0, 1], 'pos': [[0, 4], [2, 4]]}]]}], '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': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[2, 4], [2, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 4], [0, 4], [2, 4]]}, {'patt': [0, 2, 1], 'pos': [[1, 2], [1, 3], [2, 3]]}, {'patt': [0, 2, 1], 'pos': [[1, 3], [1, 3], [2, 3]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 3], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 3], [2, 4], [2, 3]]}, {'patt': [1, 2, 0], 'pos': [[2, 3], [2, 4], [2, 3]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 1], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 0], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 4], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [2, 4], [2, 3], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [2, 4], [2, 4], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 2], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 1], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 3], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 3], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 4], [2, 4]]}], 'requirements': []}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0, 1], 'pos': [[0, 4], [2, 4]]}], 'ignore_parent': False, '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': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 2], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 2], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 2], [0, 1]]}, {'patt': [2, 0, 1], 'pos': [[1, 2], [1, 0], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 1], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 2], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}], 'requirements': []}], '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': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0], 'pos': [[2, 4]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[1, 2], [1, 3], [2, 3]]}, {'patt': [0, 2, 1], 'pos': [[1, 3], [1, 3], [2, 3]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 3], [1, 2]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 1], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 0], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 4], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 2], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 1], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 3], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}], 'requirements': []}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 0], [0, 4]], [[1, 2], [1, 3], [2, 1], [2, 3]]], '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': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 2], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 2], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 2], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 2], [1, 3], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 3], [1, 2]]}, {'patt': [2, 0, 1], 'pos': [[1, 2], [1, 0], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 1], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 2], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 2], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}], 'requirements': []}], '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': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[1, 5]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0], 'pos': [[2, 5]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[2, 4], [2, 1]]}, {'patt': [0, 2, 1], 'pos': [[1, 2], [1, 3], [2, 3]]}, {'patt': [0, 2, 1], 'pos': [[1, 3], [1, 3], [2, 3]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 3], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 3], [2, 4], [2, 3]]}, {'patt': [1, 2, 0], 'pos': [[2, 3], [2, 4], [2, 3]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 1], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [0, 5], [0, 0], [0, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [0, 5], [0, 5], [0, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 2], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 1], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 3], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 3], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 4], [2, 4]]}], 'requirements': []}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 0], [0, 5]], [[1, 2], [1, 3], [2, 1], [2, 3], [2, 4]]], '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], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 2], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 2], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [1, 2], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 1], [1, 1], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 2], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 2], [0, 0], [0, 2]]}, {'patt': [2, 0, 1], 'pos': [[0, 2], [0, 1], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 2], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 2], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}], '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': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[0, 5]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 5]]}, {'patt': [0], 'pos': [[1, 6]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 3]]}, {'patt': [0], 'pos': [[2, 4]]}, {'patt': [0], 'pos': [[2, 5]]}, {'patt': [0], 'pos': [[2, 6]]}, {'patt': [0], 'pos': [[3, 0]]}, {'patt': [0], 'pos': [[3, 1]]}, {'patt': [0], 'pos': [[3, 2]]}, {'patt': [0], 'pos': [[3, 3]]}, {'patt': [0], 'pos': [[3, 4]]}, {'patt': [0, 1], 'pos': [[2, 2], [2, 2]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[2, 2], [2, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 6], [0, 6], [3, 6]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 3], [1, 1]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 4], [1, 1]]}, {'patt': [1, 2, 0], 'pos': [[3, 5], [3, 6], [3, 5]]}, {'patt': [2, 0, 1], 'pos': [[1, 4], [1, 1], [1, 4]]}, {'patt': [2, 0, 1], 'pos': [[1, 4], [1, 3], [1, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 6], [0, 6], [0, 0], [0, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 6], [0, 6], [0, 6], [0, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 6], [3, 6], [3, 5], [3, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 6], [3, 6], [3, 6], [3, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 1], [1, 1], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 1], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 4], [1, 1], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 4], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 4], [1, 4], [1, 4], [1, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 5], [3, 5], [3, 5], [3, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 6], [3, 6], [3, 5], [3, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 6], [3, 6], [3, 6], [3, 6]]}], 'requirements': [[{'patt': [0], 'pos': [[2, 2]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 0], [0, 6], [3, 5], [3, 6]], [[1, 1], [1, 3], [1, 4]], [[2, 2]]], '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': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}], '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]]}]]}, {'assumptions': [{'assumption': 'TrackingAssumption', 'class_module': 'tilings.assumptions', 'gps': [{'patt': [0], 'pos': [[0, 0]]}]}], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 2], [0, 0], [0, 2]]}, {'patt': [2, 0, 1], 'pos': [[0, 2], [0, 1], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 2], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 2], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}], 'requirements': []}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [{'assumption': 'TrackingAssumption', 'class_module': 'tilings.assumptions', 'gps': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[2, 1]]}]}], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[1, 5]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 3]]}, {'patt': [0], 'pos': [[2, 5]]}, {'patt': [0, 1], 'pos': [[1, 3], [1, 3]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 3]]}, {'patt': [1, 0], 'pos': [[2, 1], [2, 1]]}, {'patt': [2, 0, 1], 'pos': [[2, 4], [2, 1], [2, 4]]}, {'patt': [2, 0, 1], 'pos': [[2, 4], [2, 2], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [0, 5], [0, 0], [0, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [0, 5], [0, 5], [0, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 2], [2, 1], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 2], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 4], [2, 1], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 4], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 4], [2, 4]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 3]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 0], [0, 5]], [[1, 3]], [[2, 1], [2, 2], [2, 4]]], '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], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 3]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 2], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 3], [0, 3], [1, 3]]}, {'patt': [1, 0, 2], 'pos': [[0, 2], [1, 1], [1, 2]]}, {'patt': [1, 0, 2], 'pos': [[0, 2], [1, 2], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 2], [1, 1]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 3], [1, 1]]}, {'patt': [2, 0, 1], 'pos': [[1, 3], [1, 1], [1, 3]]}, {'patt': [2, 0, 1], 'pos': [[1, 3], [1, 2], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 0], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 3], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [1, 3], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 1], [1, 1], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 3], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 3], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 2]]}, {'patt': [0, 1], 'pos': [[0, 3], [1, 3]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 2], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 2], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 2], [0, 1]]}, {'patt': [2, 0, 1], 'pos': [[1, 2], [1, 0], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 1], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 2], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}], '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': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[0, 6]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[1, 5]]}, {'patt': [0], 'pos': [[1, 6]]}, {'patt': [0], 'pos': [[1, 7]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0], 'pos': [[2, 4]]}, {'patt': [0], 'pos': [[2, 5]]}, {'patt': [0], 'pos': [[2, 6]]}, {'patt': [0], 'pos': [[2, 7]]}, {'patt': [0], 'pos': [[3, 0]]}, {'patt': [0], 'pos': [[3, 1]]}, {'patt': [0], 'pos': [[3, 2]]}, {'patt': [0], 'pos': [[3, 3]]}, {'patt': [0], 'pos': [[3, 4]]}, {'patt': [0], 'pos': [[3, 5]]}, {'patt': [0], 'pos': [[3, 7]]}, {'patt': [0], 'pos': [[4, 0]]}, {'patt': [0], 'pos': [[4, 1]]}, {'patt': [0], 'pos': [[4, 2]]}, {'patt': [0], 'pos': [[4, 3]]}, {'patt': [0], 'pos': [[4, 6]]}, {'patt': [0, 1], 'pos': [[0, 5], [0, 7]]}, {'patt': [0, 1], 'pos': [[3, 6], [3, 6]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[3, 6], [3, 6]]}, {'patt': [0, 2, 1], 'pos': [[0, 5], [0, 5], [4, 5]]}, {'patt': [0, 2, 1], 'pos': [[0, 7], [0, 7], [4, 7]]}, {'patt': [0, 2, 1], 'pos': [[1, 2], [1, 3], [2, 3]]}, {'patt': [0, 2, 1], 'pos': [[1, 3], [1, 3], [2, 3]]}, {'patt': [1, 0, 2], 'pos': [[0, 5], [4, 4], [4, 5]]}, {'patt': [1, 0, 2], 'pos': [[0, 5], [4, 5], [4, 5]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 3], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[4, 4], [4, 5], [4, 4]]}, {'patt': [1, 2, 0], 'pos': [[4, 4], [4, 7], [4, 4]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 1], [2, 3]]}, {'patt': [2, 0, 1], 'pos': [[4, 7], [4, 4], [4, 7]]}, {'patt': [2, 0, 1], 'pos': [[4, 7], [4, 5], [4, 7]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [0, 5], [0, 0], [0, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [0, 5], [0, 5], [0, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 7], [0, 7], [0, 0], [0, 7]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 7], [0, 7], [0, 7], [0, 7]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 7], [4, 7], [4, 7], [4, 7]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 2], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 1], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 3], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 4], [4, 4], [4, 4], [4, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 5], [4, 5], [4, 4], [4, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 5], [4, 5], [4, 5], [4, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 5], [4, 7], [4, 4], [4, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 5], [4, 7], [4, 5], [4, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 7], [4, 7], [4, 7], [4, 7]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 5]]}, {'patt': [0, 1], 'pos': [[0, 7], [4, 7]]}], [{'patt': [0], 'pos': [[3, 6]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 0], [0, 5], [0, 7], [4, 4], [4, 5], [4, 7]], [[1, 2], [1, 3], [2, 1], [2, 3]], [[3, 6]]], '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], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[1, 4], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 4], [0, 4], [1, 4]]}, {'patt': [1, 2, 0], 'pos': [[1, 3], [1, 4], [1, 3]]}, {'patt': [2, 0, 1], 'pos': [[1, 3], [1, 2], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 0], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 1], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 4], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [1, 4], [1, 3], [1, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [1, 4], [1, 4], [1, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 3], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 4], [1, 4], [1, 3], [1, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 4], [1, 4], [1, 4], [1, 4]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 2]]}]]}, {'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, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[1, 5]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 3]]}, {'patt': [0, 1], 'pos': [[1, 3], [1, 3]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 3]]}, {'patt': [1, 0], 'pos': [[2, 5], [2, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 5], [0, 5], [2, 5]]}, {'patt': [1, 2, 0], 'pos': [[2, 4], [2, 5], [2, 4]]}, {'patt': [2, 0, 1], 'pos': [[2, 4], [2, 2], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [0, 5], [0, 0], [0, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [0, 5], [0, 1], [0, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [0, 5], [0, 5], [0, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [2, 5], [2, 4], [2, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [2, 5], [2, 5], [2, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 2], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 4], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 4], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 5], [2, 5], [2, 4], [2, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 5], [2, 5], [2, 5], [2, 5]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 3]]}], [{'patt': [0], 'pos': [[2, 2]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 0], [0, 1], [0, 5], [2, 2], [2, 4], [2, 5]], [[1, 3]]], '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], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 3], [0, 3], [1, 3]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 3], [1, 2]]}, {'patt': [2, 0, 1], 'pos': [[1, 2], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 0], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 3], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [1, 3], [1, 2], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [1, 3], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 1], [1, 1], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 2], [1, 1], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 2], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 1]]}]]}], '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], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[1, 4], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 4], [0, 4], [1, 4]]}, {'patt': [1, 2, 0], 'pos': [[1, 3], [1, 4], [1, 3]]}, {'patt': [2, 0, 1], 'pos': [[1, 3], [1, 2], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 0], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 1], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 4], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [1, 4], [1, 3], [1, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [1, 4], [1, 4], [1, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 3], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 4], [1, 4], [1, 3], [1, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 4], [1, 4], [1, 4], [1, 4]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 2]]}]]}, 'rule_class': 'FusionRule', 'strategy': {'class_module': 'tilings.strategies.fusion.fusion', 'col_idx': None, 'row_idx': 0, 'strategy_class': 'FusionStrategy', 'tracked': 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], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 3]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 2], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 3], [0, 3], [1, 3]]}, {'patt': [1, 0, 2], 'pos': [[0, 2], [1, 1], [1, 2]]}, {'patt': [1, 0, 2], 'pos': [[0, 2], [1, 2], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 2], [1, 1]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 3], [1, 1]]}, {'patt': [2, 0, 1], 'pos': [[1, 3], [1, 1], [1, 3]]}, {'patt': [2, 0, 1], 'pos': [[1, 3], [1, 2], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 0], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 3], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [1, 3], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 1], [1, 1], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 3], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 3], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}], 'requirements': []}, {'assumptions': [{'assumption': 'TrackingAssumption', 'class_module': 'tilings.assumptions', 'gps': [{'patt': [0], 'pos': [[0, 0]]}]}], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 2], [0, 0], [0, 2]]}, {'patt': [2, 0, 1], 'pos': [[0, 2], [0, 1], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 2], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 2], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}], '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]]}, {'patt': [0], 'pos': [[1, 1]]}]}], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[0, 6]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[1, 5]]}, {'patt': [0], 'pos': [[1, 6]]}, {'patt': [0], 'pos': [[1, 7]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0], 'pos': [[2, 3]]}, {'patt': [0], 'pos': [[2, 4]]}, {'patt': [0], 'pos': [[2, 5]]}, {'patt': [0], 'pos': [[2, 7]]}, {'patt': [0], 'pos': [[3, 0]]}, {'patt': [0], 'pos': [[3, 1]]}, {'patt': [0], 'pos': [[3, 2]]}, {'patt': [0], 'pos': [[3, 3]]}, {'patt': [0], 'pos': [[3, 6]]}, {'patt': [0, 1], 'pos': [[0, 5], [0, 7]]}, {'patt': [0, 1], 'pos': [[2, 6], [2, 6]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[1, 1], [1, 1]]}, {'patt': [1, 0], 'pos': [[2, 6], [2, 6]]}, {'patt': [0, 2, 1], 'pos': [[0, 5], [0, 5], [3, 5]]}, {'patt': [0, 2, 1], 'pos': [[0, 7], [0, 7], [3, 7]]}, {'patt': [1, 0, 2], 'pos': [[0, 5], [3, 4], [3, 5]]}, {'patt': [1, 0, 2], 'pos': [[0, 5], [3, 5], [3, 5]]}, {'patt': [1, 2, 0], 'pos': [[3, 4], [3, 5], [3, 4]]}, {'patt': [1, 2, 0], 'pos': [[3, 4], [3, 7], [3, 4]]}, {'patt': [2, 0, 1], 'pos': [[1, 3], [1, 1], [1, 3]]}, {'patt': [2, 0, 1], 'pos': [[1, 3], [1, 2], [1, 3]]}, {'patt': [2, 0, 1], 'pos': [[3, 7], [3, 4], [3, 7]]}, {'patt': [2, 0, 1], 'pos': [[3, 7], [3, 5], [3, 7]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [0, 5], [0, 0], [0, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [0, 5], [0, 5], [0, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 7], [0, 7], [0, 0], [0, 7]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 7], [0, 7], [0, 7], [0, 7]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 7], [3, 7], [3, 7], [3, 7]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 3], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 3], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 4], [3, 4], [3, 4], [3, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 5], [3, 5], [3, 4], [3, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 5], [3, 5], [3, 5], [3, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 5], [3, 7], [3, 4], [3, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 5], [3, 7], [3, 5], [3, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 7], [3, 7], [3, 7], [3, 7]]}], 'requirements': [[{'patt': [0], 'pos': [[2, 6]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 0], [0, 5], [0, 7], [3, 4], [3, 5], [3, 7]], [[1, 1], [1, 2], [1, 3]], [[2, 6]]], 'strategy_class': 'FactorStrategy', 'workable': True}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}], 'requirements': []}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_insertion', 'gps': [{'patt': [0], 'pos': [[0, 0]]}], 'ignore_parent': True, 'strategy_class': 'RequirementInsertionStrategy'}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}], 'requirements': []}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[1, 0], [1, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.factor', 'ignore_parent': True, 'partition': [[[0, 1]], [[1, 0]]], 'strategy_class': 'FactorStrategy', 'workable': True}}, {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], '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': [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': [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': [{'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': [1, 0], 'pos': [[0, 0], [0, 0]]}], 'requirements': []}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [{'assumption': 'TrackingAssumption', 'class_module': 'tilings.assumptions', 'gps': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[1, 1]]}]}], '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}}, {'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], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0, 1], 'pos': [[1, 1], [1, 1]]}, {'patt': [1, 0], 'pos': [[1, 1], [1, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 2], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 1]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_placement', 'direction': 0, 'gps': [{'patt': [0], 'pos': [[0, 0]]}], 'ignore_parent': False, 'include_empty': False, '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': {'class_module': 'comb_spec_searcher.strategies.rule', 'idx': 0, 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [2, 0, 1], 'pos': [[1, 2], [1, 0], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 2], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}], [{'patt': [0], 'pos': [[1, 2]]}, {'patt': [0, 1], 'pos': [[1, 0], [1, 0]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}], 'requirements': [[{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_placement', 'direction': 2, 'gps': [{'patt': [0], 'pos': [[0, 0]]}], 'ignore_parent': False, 'include_empty': False, 'indices': [0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, 'rule_class': 'ReverseRule'}, '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], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0, 1], 'pos': [[1, 1], [1, 1]]}, {'patt': [1, 0], 'pos': [[0, 3], [2, 3]]}, {'patt': [1, 0], 'pos': [[1, 1], [1, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 2], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 3], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 3], [0, 0], [0, 3]]}, {'patt': [2, 0, 1], 'pos': [[0, 3], [0, 2], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 3], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 3], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 3], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 1]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 1], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_placement', 'direction': 0, 'gps': [{'patt': [0], 'pos': [[0, 0]]}], 'ignore_parent': False, 'include_empty': False, 'indices': [0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, 'rule_class': 'EquivalenceRule'}, {'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0], 'pos': [[2, 3]]}, {'patt': [0, 1], 'pos': [[1, 1], [1, 1]]}, {'patt': [1, 0], 'pos': [[1, 1], [1, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 2], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 3], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 3], [0, 0], [0, 3]]}, {'patt': [2, 0, 1], 'pos': [[0, 3], [0, 2], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 3], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 3], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 3], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 4], [2, 4]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 1]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0, 1], 'pos': [[1, 1], [1, 1]]}, {'patt': [1, 0], 'pos': [[0, 3], [2, 3]]}, {'patt': [1, 0], 'pos': [[1, 1], [1, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 2], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 3], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 3], [0, 0], [0, 3]]}, {'patt': [2, 0, 1], 'pos': [[0, 3], [0, 2], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 3], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 3], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 3], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 1]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.row_and_col_separation', 'ignore_parent': True, 'inferrable': True, 'possibly_empty': False, 'strategy_class': 'RowColumnSeparationStrategy', 'workable': True}}, 'rule_class': 'EquivalenceRule'}]}, {'class_module': 'comb_spec_searcher.strategies.rule', 'rule_class': 'EquivalencePathRule', 'rules': [{'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'class_module': 'comb_spec_searcher.strategies.rule', 'idx': 0, 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 3], [2, 3]]}, {'patt': [0, 2, 1], 'pos': [[0, 3], [0, 3], [2, 3]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 3], [0, 1]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 0], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 1], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 3], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 0], [2, 0], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 0], [2, 3], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 2]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0, 1], 'pos': [[0, 0], [2, 0]]}, {'patt': [0, 1], 'pos': [[1, 1], [1, 1]]}, {'patt': [1, 0], 'pos': [[1, 1], [1, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 2], [2, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 2], [2, 2]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 2], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[2, 2], [2, 0], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [2, 2], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 0], [2, 0], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 0], [2, 2], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 2], [2, 2], [2, 2]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 1]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.row_and_col_separation', 'ignore_parent': True, 'inferrable': True, 'possibly_empty': False, 'strategy_class': 'RowColumnSeparationStrategy', 'workable': True}}, 'rule_class': 'ReverseRule'}, 'rule_class': 'EquivalenceRule'}, {'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'class_module': 'comb_spec_searcher.strategies.rule', 'idx': 0, 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0, 1], 'pos': [[0, 0], [2, 0]]}, {'patt': [0, 1], 'pos': [[1, 1], [1, 1]]}, {'patt': [1, 0], 'pos': [[1, 1], [1, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 2], [2, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 2], [2, 2]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 2], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[2, 2], [2, 0], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [2, 2], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 0], [2, 0], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 0], [2, 2], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 2], [2, 2], [2, 2]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 1]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 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_placement', 'direction': 0, 'gps': [{'patt': [0], 'pos': [[0, 0]]}], 'ignore_parent': False, 'include_empty': False, 'indices': [0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, 'rule_class': 'ReverseRule'}, 'rule_class': 'EquivalenceRule'}, {'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[1, 2], [2, 2]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 0], [2, 0]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 2], [2, 0]]}, {'patt': [2, 0, 1], 'pos': [[1, 2], [1, 0], [1, 2]]}, {'patt': [2, 0, 1], 'pos': [[2, 2], [2, 0], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 2], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [2, 0], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [2, 2], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 0], [2, 0], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 0], [2, 2], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 2], [2, 2], [2, 2]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 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_placement', 'direction': 2, 'gps': [{'patt': [0], 'pos': [[0, 0]]}], 'ignore_parent': False, 'include_empty': False, 'indices': [0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, 'rule_class': 'EquivalenceRule'}, {'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 0], [2, 0]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 2], [2, 0]]}, {'patt': [2, 0, 1], 'pos': [[1, 2], [1, 0], [1, 2]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 0], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 2], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [2, 0], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [2, 3], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 0], [2, 0], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 0], [2, 3], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[1, 2], [2, 2]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 0], [2, 0]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 2], [2, 0]]}, {'patt': [2, 0, 1], 'pos': [[1, 2], [1, 0], [1, 2]]}, {'patt': [2, 0, 1], 'pos': [[2, 2], [2, 0], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 2], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [2, 0], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [2, 2], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 0], [2, 0], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 0], [2, 2], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 2], [2, 2], [2, 2]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.row_and_col_separation', 'ignore_parent': True, 'inferrable': True, 'possibly_empty': False, 'strategy_class': 'RowColumnSeparationStrategy', 'workable': True}}, '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], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0, 1], 'pos': [[1, 1], [1, 1]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [2, 0]]}, {'patt': [1, 0], 'pos': [[1, 1], [1, 1]]}, {'patt': [1, 0], 'pos': [[2, 3], [2, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 3], [0, 3], [2, 3]]}, {'patt': [1, 2, 0], 'pos': [[2, 2], [2, 3], [2, 2]]}, {'patt': [2, 0, 1], 'pos': [[2, 2], [2, 0], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 0], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 3], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [2, 3], [2, 2], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 0], [2, 0], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 0], [2, 2], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 2], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 2], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}], 'requirements': [[{'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': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}], 'requirements': [[{'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_placement', 'direction': 2, 'gps': [{'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}], 'ignore_parent': False, 'include_empty': False, 'indices': [0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, 'rule_class': 'EquivalenceRule'}, {'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[2, 4], [2, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 4], [0, 4], [2, 4]]}, {'patt': [1, 2, 0], 'pos': [[2, 3], [2, 4], [2, 3]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 1], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 0], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 4], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [2, 4], [2, 3], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [2, 4], [2, 4], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 1], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 3], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 3], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 4], [2, 4]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 2]]}], [{'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], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0, 1], 'pos': [[1, 1], [1, 1]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [2, 0]]}, {'patt': [1, 0], 'pos': [[1, 1], [1, 1]]}, {'patt': [1, 0], 'pos': [[2, 3], [2, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 3], [0, 3], [2, 3]]}, {'patt': [1, 2, 0], 'pos': [[2, 2], [2, 3], [2, 2]]}, {'patt': [2, 0, 1], 'pos': [[2, 2], [2, 0], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 0], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 3], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [2, 3], [2, 2], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 0], [2, 0], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 0], [2, 2], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 2], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 2], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 1]]}], [{'patt': [0], 'pos': [[2, 0]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.row_and_col_separation', 'ignore_parent': True, 'inferrable': True, 'possibly_empty': False, 'strategy_class': 'RowColumnSeparationStrategy', 'workable': True}}, 'rule_class': 'EquivalenceRule'}]}, {'class_module': 'comb_spec_searcher.strategies.rule', 'rule_class': 'EquivalencePathRule', 'rules': [{'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'class_module': 'comb_spec_searcher.strategies.rule', 'idx': 0, 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 5]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[1, 5]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0], 'pos': [[2, 3]]}, {'patt': [0], 'pos': [[2, 4]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 2]]}, {'patt': [0, 1], 'pos': [[2, 0], [2, 0]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 3], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 4], [0, 1]]}, {'patt': [2, 0, 1], 'pos': [[0, 4], [0, 1], [0, 4]]}, {'patt': [2, 0, 1], 'pos': [[0, 4], [0, 3], [0, 4]]}, {'patt': [2, 0, 1], 'pos': [[2, 5], [2, 0], [2, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 1], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 3], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 4], [0, 1], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 4], [0, 3], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 4], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 5], [2, 5], [2, 5], [2, 5]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}], [{'patt': [0], 'pos': [[1, 2]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0, 1], 'pos': [[0, 0], [2, 0]]}, {'patt': [0, 1], 'pos': [[1, 1], [1, 1]]}, {'patt': [0, 1], 'pos': [[2, 0], [2, 0]]}, {'patt': [1, 0], 'pos': [[0, 3], [2, 3]]}, {'patt': [1, 0], 'pos': [[1, 1], [1, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 2], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 3], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 3], [0, 0], [0, 3]]}, {'patt': [2, 0, 1], 'pos': [[0, 3], [0, 2], [0, 3]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 0], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 3], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 3], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 3], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[1, 1]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.row_and_col_separation', 'ignore_parent': True, 'inferrable': True, 'possibly_empty': False, 'strategy_class': 'RowColumnSeparationStrategy', 'workable': True}}, 'rule_class': 'ReverseRule'}, 'rule_class': 'EquivalenceRule'}, {'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'class_module': 'comb_spec_searcher.strategies.rule', 'idx': 0, 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0, 1], 'pos': [[0, 0], [2, 0]]}, {'patt': [0, 1], 'pos': [[1, 1], [1, 1]]}, {'patt': [0, 1], 'pos': [[2, 0], [2, 0]]}, {'patt': [1, 0], 'pos': [[0, 3], [2, 3]]}, {'patt': [1, 0], 'pos': [[1, 1], [1, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 2], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 3], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 3], [0, 0], [0, 3]]}, {'patt': [2, 0, 1], 'pos': [[0, 3], [0, 2], [0, 3]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 0], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 3], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 3], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 3], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}], [{'patt': [0], 'pos': [[1, 1]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 1], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}], 'requirements': [[{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_placement', 'direction': 0, 'gps': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}], 'ignore_parent': False, 'include_empty': False, 'indices': [1], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, 'rule_class': 'ReverseRule'}, '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], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0], 'pos': [[2, 3]]}, {'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 1], 'pos': [[0, 0], [2, 0]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 2]]}, {'patt': [0, 1], 'pos': [[2, 0], [2, 0]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 0]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 3], [0, 1]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 1], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 3], [0, 3]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 2]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_placement', 'direction': 0, 'gps': [{'patt': [0], 'pos': [[0, 1]]}], 'ignore_parent': False, 'include_empty': False, 'indices': [0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, 'rule_class': 'EquivalenceRule'}, {'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0], 'pos': [[2, 3]]}, {'patt': [0], 'pos': [[2, 4]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[1, 3], [1, 3]]}, {'patt': [0, 1], 'pos': [[2, 0], [2, 0]]}, {'patt': [1, 0], 'pos': [[0, 4], [0, 1]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 3]]}, {'patt': [1, 2, 0], 'pos': [[0, 2], [0, 4], [0, 2]]}, {'patt': [2, 0, 1], 'pos': [[0, 2], [0, 1], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 2], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 4], [0, 4]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 3]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0], 'pos': [[2, 3]]}, {'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 1], 'pos': [[0, 0], [2, 0]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 2]]}, {'patt': [0, 1], 'pos': [[2, 0], [2, 0]]}, {'patt': [1, 0], 'pos': [[0, 3], [0, 0]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 3], [0, 1]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 1], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 3], [0, 3]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 2]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.row_and_col_separation', 'ignore_parent': True, 'inferrable': True, 'possibly_empty': False, 'strategy_class': 'RowColumnSeparationStrategy', 'workable': True}}, 'rule_class': 'EquivalenceRule'}]}, {'class_module': 'comb_spec_searcher.strategies.rule', 'rule_class': 'EquivalencePathRule', 'rules': [{'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'class_module': 'comb_spec_searcher.strategies.rule', 'idx': 0, 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0], 'pos': [[2, 3]]}, {'patt': [0], 'pos': [[2, 4]]}, {'patt': [0], 'pos': [[3, 0]]}, {'patt': [0], 'pos': [[3, 3]]}, {'patt': [0, 1], 'pos': [[2, 0], [2, 0]]}, {'patt': [1, 0], 'pos': [[2, 0], [2, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 2], [3, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 3], [3, 2]]}, {'patt': [0, 2, 1], 'pos': [[1, 1], [1, 1], [3, 1]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [3, 2], [3, 1]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [3, 4], [3, 1]]}, {'patt': [1, 2, 0], 'pos': [[3, 1], [3, 2], [3, 1]]}, {'patt': [1, 2, 0], 'pos': [[3, 1], [3, 4], [3, 1]]}, {'patt': [2, 0, 1], 'pos': [[0, 3], [0, 2], [0, 3]]}, {'patt': [2, 0, 1], 'pos': [[3, 4], [3, 1], [3, 4]]}, {'patt': [2, 0, 1], 'pos': [[3, 4], [3, 2], [3, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 3], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [3, 2], [3, 1], [3, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [3, 2], [3, 2], [3, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [3, 4], [3, 1], [3, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [3, 4], [3, 2], [3, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 3], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 1], [1, 1], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [3, 1], [3, 1], [3, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 1], [3, 1], [3, 1], [3, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 2], [3, 2], [3, 1], [3, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 2], [3, 2], [3, 2], [3, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 2], [3, 4], [3, 1], [3, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 2], [3, 4], [3, 2], [3, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 4], [3, 4], [3, 4], [3, 4]]}], 'requirements': [[{'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], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 3]]}, {'patt': [0, 1], 'pos': [[1, 0], [1, 0]]}, {'patt': [1, 0], 'pos': [[0, 3], [2, 3]]}, {'patt': [1, 0], 'pos': [[1, 0], [1, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 1], [2, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 2], [2, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 3], [2, 2]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [2, 2], [2, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [2, 3], [2, 1]]}, {'patt': [1, 2, 0], 'pos': [[2, 1], [2, 2], [2, 1]]}, {'patt': [1, 2, 0], 'pos': [[2, 1], [2, 3], [2, 1]]}, {'patt': [2, 0, 1], 'pos': [[0, 3], [0, 2], [0, 3]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 1], [2, 3]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 2], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [2, 1], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 3], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [2, 2], [2, 1], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [2, 2], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [2, 3], [2, 1], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [2, 3], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 3], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 1], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 2], [2, 1], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 2], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 3], [2, 1], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 3], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 0]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.row_and_col_separation', 'ignore_parent': True, 'inferrable': True, 'possibly_empty': False, 'strategy_class': 'RowColumnSeparationStrategy', 'workable': True}}, 'rule_class': 'ReverseRule'}, 'rule_class': 'EquivalenceRule'}, {'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'class_module': 'comb_spec_searcher.strategies.rule', 'idx': 0, 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 3]]}, {'patt': [0, 1], 'pos': [[1, 0], [1, 0]]}, {'patt': [1, 0], 'pos': [[0, 3], [2, 3]]}, {'patt': [1, 0], 'pos': [[1, 0], [1, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 1], [2, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 2], [2, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 3], [2, 2]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [2, 2], [2, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [2, 3], [2, 1]]}, {'patt': [1, 2, 0], 'pos': [[2, 1], [2, 2], [2, 1]]}, {'patt': [1, 2, 0], 'pos': [[2, 1], [2, 3], [2, 1]]}, {'patt': [2, 0, 1], 'pos': [[0, 3], [0, 2], [0, 3]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 1], [2, 3]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 2], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [2, 1], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 3], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [2, 2], [2, 1], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [2, 2], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [2, 3], [2, 1], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [2, 3], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 3], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 1], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 2], [2, 1], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 2], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 3], [2, 1], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 3], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}], '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': [1, 2, 0], 'pos': [[0, 0], [0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 2], [0, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 2], [0, 0], [0, 2]]}, {'patt': [2, 0, 1], 'pos': [[0, 2], [0, 1], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 2], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 2], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}], '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': False, 'indices': [0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, 'rule_class': 'ReverseRule'}, '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], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0], 'pos': [[2, 3]]}, {'patt': [0], 'pos': [[2, 4]]}, {'patt': [0], 'pos': [[3, 0]]}, {'patt': [0], 'pos': [[3, 1]]}, {'patt': [0], 'pos': [[3, 2]]}, {'patt': [0], 'pos': [[3, 3]]}, {'patt': [0, 1], 'pos': [[0, 0], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 0], [0, 3]]}, {'patt': [0, 1], 'pos': [[2, 1], [2, 1]]}, {'patt': [1, 0], 'pos': [[1, 4], [3, 4]]}, {'patt': [1, 0], 'pos': [[2, 1], [2, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [1, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 2], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 3], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [1, 2], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [1, 4], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 2], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 4], [1, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 3], [0, 2], [0, 3]]}, {'patt': [2, 0, 1], 'pos': [[1, 4], [1, 0], [1, 4]]}, {'patt': [2, 0, 1], 'pos': [[1, 4], [1, 2], [1, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 3], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [1, 2], [1, 0], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [1, 4], [1, 0], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [1, 4], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 3], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 0], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 4], [1, 0], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 4], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 4], [1, 4], [1, 4], [1, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 4], [3, 4], [3, 4], [3, 4]]}], '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], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [1, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [1, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 1]]}, {'patt': [2, 0, 1], 'pos': [[1, 2], [1, 0], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 1], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [1, 2], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 2], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 0]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_placement', 'direction': 0, 'gps': [{'patt': [0], 'pos': [[1, 0]]}], 'ignore_parent': False, 'include_empty': False, 'indices': [0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, 'rule_class': 'EquivalenceRule'}, {'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[0, 5]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[1, 5]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 3]]}, {'patt': [0], 'pos': [[2, 5]]}, {'patt': [0], 'pos': [[3, 0]]}, {'patt': [0], 'pos': [[3, 2]]}, {'patt': [0], 'pos': [[3, 3]]}, {'patt': [0], 'pos': [[3, 4]]}, {'patt': [0], 'pos': [[3, 5]]}, {'patt': [0], 'pos': [[4, 0]]}, {'patt': [0], 'pos': [[4, 1]]}, {'patt': [0], 'pos': [[4, 2]]}, {'patt': [0], 'pos': [[4, 3]]}, {'patt': [0], 'pos': [[4, 4]]}, {'patt': [0, 1], 'pos': [[3, 1], [3, 1]]}, {'patt': [1, 0], 'pos': [[3, 1], [3, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 2], [2, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 3], [2, 2]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 0], [2, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [2, 2], [2, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [2, 4], [2, 0]]}, {'patt': [1, 2, 0], 'pos': [[2, 0], [2, 2], [2, 0]]}, {'patt': [1, 2, 0], 'pos': [[2, 0], [2, 4], [2, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 3], [0, 2], [0, 3]]}, {'patt': [2, 0, 1], 'pos': [[2, 4], [2, 0], [2, 4]]}, {'patt': [2, 0, 1], 'pos': [[2, 4], [2, 2], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 3], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [2, 2], [2, 0], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [2, 2], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [2, 4], [2, 0], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [2, 4], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 3], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [2, 0], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 0], [2, 0], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 2], [2, 0], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 2], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 4], [2, 0], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 4], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 4], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 5], [4, 5], [4, 5], [4, 5]]}], 'requirements': [[{'patt': [0], 'pos': [[3, 1]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0], 'pos': [[2, 3]]}, {'patt': [0], 'pos': [[2, 4]]}, {'patt': [0], 'pos': [[3, 0]]}, {'patt': [0], 'pos': [[3, 1]]}, {'patt': [0], 'pos': [[3, 2]]}, {'patt': [0], 'pos': [[3, 3]]}, {'patt': [0, 1], 'pos': [[0, 0], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 0], [0, 3]]}, {'patt': [0, 1], 'pos': [[2, 1], [2, 1]]}, {'patt': [1, 0], 'pos': [[1, 4], [3, 4]]}, {'patt': [1, 0], 'pos': [[2, 1], [2, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [1, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 2], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 3], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [1, 2], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [1, 4], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 2], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 4], [1, 0]]}, {'patt': [2, 0, 1], 'pos': [[0, 3], [0, 2], [0, 3]]}, {'patt': [2, 0, 1], 'pos': [[1, 4], [1, 0], [1, 4]]}, {'patt': [2, 0, 1], 'pos': [[1, 4], [1, 2], [1, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 3], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [1, 2], [1, 0], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [1, 4], [1, 0], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [1, 4], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 3], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 0], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 4], [1, 0], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 4], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 4], [1, 4], [1, 4], [1, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 4], [3, 4], [3, 4], [3, 4]]}], 'requirements': [[{'patt': [0], 'pos': [[2, 1]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.row_and_col_separation', 'ignore_parent': True, 'inferrable': True, 'possibly_empty': False, 'strategy_class': 'RowColumnSeparationStrategy', 'workable': True}}, '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], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 5]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 3]]}, {'patt': [0], 'pos': [[2, 4]]}, {'patt': [0], 'pos': [[2, 5]]}, {'patt': [0], 'pos': [[3, 0]]}, {'patt': [0], 'pos': [[3, 1]]}, {'patt': [0], 'pos': [[3, 2]]}, {'patt': [0], 'pos': [[3, 3]]}, {'patt': [0, 1], 'pos': [[2, 2], [2, 2]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[1, 4], [3, 4]]}, {'patt': [1, 0], 'pos': [[2, 2], [2, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 5], [0, 5], [3, 5]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 3], [1, 1]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 4], [1, 1]]}, {'patt': [1, 2, 0], 'pos': [[3, 4], [3, 5], [3, 4]]}, {'patt': [2, 0, 1], 'pos': [[1, 4], [1, 1], [1, 4]]}, {'patt': [2, 0, 1], 'pos': [[1, 4], [1, 3], [1, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [0, 5], [0, 0], [0, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [0, 5], [0, 5], [0, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [3, 5], [3, 4], [3, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [3, 5], [3, 5], [3, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 1], [1, 1], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 1], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 4], [1, 1], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 4], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 4], [1, 4], [1, 4], [1, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 4], [3, 4], [3, 4], [3, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 5], [3, 5], [3, 4], [3, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 5], [3, 5], [3, 5], [3, 5]]}], 'requirements': [[{'patt': [0], 'pos': [[2, 2]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 3], [0, 3], [1, 3]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 3], [1, 2]]}, {'patt': [2, 0, 1], 'pos': [[1, 2], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 0], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 3], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [1, 3], [1, 2], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [1, 3], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 1], [1, 1], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 2], [1, 1], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 2], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 1]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_placement', 'direction': 0, 'gps': [{'patt': [0], 'pos': [[1, 1]]}], 'ignore_parent': False, 'include_empty': False, 'indices': [0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, 'rule_class': 'EquivalenceRule'}, {'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[0, 5]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 5]]}, {'patt': [0], 'pos': [[1, 6]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 3]]}, {'patt': [0], 'pos': [[2, 4]]}, {'patt': [0], 'pos': [[2, 5]]}, {'patt': [0], 'pos': [[2, 6]]}, {'patt': [0], 'pos': [[3, 0]]}, {'patt': [0], 'pos': [[3, 1]]}, {'patt': [0], 'pos': [[3, 2]]}, {'patt': [0], 'pos': [[3, 3]]}, {'patt': [0], 'pos': [[3, 4]]}, {'patt': [0, 1], 'pos': [[2, 2], [2, 2]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[2, 2], [2, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 6], [0, 6], [3, 6]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 3], [1, 1]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 4], [1, 1]]}, {'patt': [1, 2, 0], 'pos': [[3, 5], [3, 6], [3, 5]]}, {'patt': [2, 0, 1], 'pos': [[1, 4], [1, 1], [1, 4]]}, {'patt': [2, 0, 1], 'pos': [[1, 4], [1, 3], [1, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 6], [0, 6], [0, 0], [0, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 6], [0, 6], [0, 6], [0, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 6], [3, 6], [3, 5], [3, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 6], [3, 6], [3, 6], [3, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 1], [1, 1], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 1], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 4], [1, 1], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 4], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 4], [1, 4], [1, 4], [1, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 5], [3, 5], [3, 5], [3, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 6], [3, 6], [3, 5], [3, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 6], [3, 6], [3, 6], [3, 6]]}], 'requirements': [[{'patt': [0], 'pos': [[2, 2]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 5]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 3]]}, {'patt': [0], 'pos': [[2, 4]]}, {'patt': [0], 'pos': [[2, 5]]}, {'patt': [0], 'pos': [[3, 0]]}, {'patt': [0], 'pos': [[3, 1]]}, {'patt': [0], 'pos': [[3, 2]]}, {'patt': [0], 'pos': [[3, 3]]}, {'patt': [0, 1], 'pos': [[2, 2], [2, 2]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[1, 4], [3, 4]]}, {'patt': [1, 0], 'pos': [[2, 2], [2, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 5], [0, 5], [3, 5]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 3], [1, 1]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 4], [1, 1]]}, {'patt': [1, 2, 0], 'pos': [[3, 4], [3, 5], [3, 4]]}, {'patt': [2, 0, 1], 'pos': [[1, 4], [1, 1], [1, 4]]}, {'patt': [2, 0, 1], 'pos': [[1, 4], [1, 3], [1, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [0, 5], [0, 0], [0, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [0, 5], [0, 5], [0, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [3, 5], [3, 4], [3, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [3, 5], [3, 5], [3, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 1], [1, 1], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 1], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 4], [1, 1], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 4], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 4], [1, 4], [1, 4], [1, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 4], [3, 4], [3, 4], [3, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 5], [3, 5], [3, 4], [3, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 5], [3, 5], [3, 5], [3, 5]]}], 'requirements': [[{'patt': [0], 'pos': [[2, 2]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.row_and_col_separation', 'ignore_parent': True, 'inferrable': True, 'possibly_empty': False, 'strategy_class': 'RowColumnSeparationStrategy', 'workable': True}}, 'rule_class': 'EquivalenceRule'}]}, {'class_module': 'comb_spec_searcher.strategies.rule', 'rule_class': 'EquivalencePathRule', 'rules': [{'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'class_module': 'comb_spec_searcher.strategies.rule', 'idx': 0, 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[2, 4], [2, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 1], [0, 3], [2, 3]]}, {'patt': [0, 2, 1], 'pos': [[0, 3], [0, 3], [2, 3]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 3], [0, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 3], [2, 4], [2, 3]]}, {'patt': [1, 2, 0], 'pos': [[2, 3], [2, 4], [2, 3]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 0], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 1], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 3], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 0], [2, 0], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 0], [2, 3], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 3], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 4], [2, 4]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 2]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0, 1], 'pos': [[0, 0], [2, 0]]}, {'patt': [0, 1], 'pos': [[1, 1], [1, 1]]}, {'patt': [1, 0], 'pos': [[1, 1], [1, 1]]}, {'patt': [1, 0], 'pos': [[2, 3], [2, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 2], [2, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 2], [2, 2]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 2], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 2], [2, 3], [2, 2]]}, {'patt': [1, 2, 0], 'pos': [[2, 2], [2, 3], [2, 2]]}, {'patt': [2, 0, 1], 'pos': [[2, 2], [2, 0], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [2, 2], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 0], [2, 0], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 0], [2, 2], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 2], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 2], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 1]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.row_and_col_separation', 'ignore_parent': True, 'inferrable': True, 'possibly_empty': False, 'strategy_class': 'RowColumnSeparationStrategy', 'workable': True}}, 'rule_class': 'ReverseRule'}, 'rule_class': 'EquivalenceRule'}, {'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'class_module': 'comb_spec_searcher.strategies.rule', 'idx': 0, 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0, 1], 'pos': [[0, 0], [2, 0]]}, {'patt': [0, 1], 'pos': [[1, 1], [1, 1]]}, {'patt': [1, 0], 'pos': [[1, 1], [1, 1]]}, {'patt': [1, 0], 'pos': [[2, 3], [2, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 2], [2, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 2], [2, 2]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [0, 2], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 2], [2, 3], [2, 2]]}, {'patt': [1, 2, 0], 'pos': [[2, 2], [2, 3], [2, 2]]}, {'patt': [2, 0, 1], 'pos': [[2, 2], [2, 0], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [2, 2], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 0], [2, 0], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 0], [2, 2], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 2], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 2], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 1]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [1, 1], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 1], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 1], [1, 0], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 1], [1, 1], [1, 1]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_placement', 'direction': 0, 'gps': [{'patt': [0], 'pos': [[0, 0]]}], 'ignore_parent': False, 'include_empty': False, 'indices': [0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, 'rule_class': 'ReverseRule'}, 'rule_class': 'EquivalenceRule'}, {'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[1, 2], [2, 2]]}, {'patt': [1, 0], 'pos': [[2, 3], [2, 0]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 0], [2, 0]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 2], [2, 0]]}, {'patt': [1, 2, 0], 'pos': [[2, 2], [2, 3], [2, 2]]}, {'patt': [2, 0, 1], 'pos': [[1, 2], [1, 0], [1, 2]]}, {'patt': [2, 0, 1], 'pos': [[2, 2], [2, 0], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 2], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [2, 0], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [2, 2], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 0], [2, 0], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 0], [2, 2], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 2], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 2], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [1, 1], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 1], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 1], [1, 0], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 1], [1, 1], [1, 1]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_placement', 'direction': 2, 'gps': [{'patt': [0], 'pos': [[0, 0]]}], 'ignore_parent': False, 'include_empty': False, 'indices': [0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, 'rule_class': 'EquivalenceRule'}, {'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[2, 4], [2, 0]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 0], [2, 0]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 2], [2, 0]]}, {'patt': [1, 2, 0], 'pos': [[2, 3], [2, 4], [2, 3]]}, {'patt': [2, 0, 1], 'pos': [[1, 2], [1, 0], [1, 2]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 0], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 2], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [2, 0], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [2, 3], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 0], [2, 0], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 0], [2, 3], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 3], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 4], [2, 4]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[1, 2], [2, 2]]}, {'patt': [1, 0], 'pos': [[2, 3], [2, 0]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 0], [2, 0]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 2], [2, 0]]}, {'patt': [1, 2, 0], 'pos': [[2, 2], [2, 3], [2, 2]]}, {'patt': [2, 0, 1], 'pos': [[1, 2], [1, 0], [1, 2]]}, {'patt': [2, 0, 1], 'pos': [[2, 2], [2, 0], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 2], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [2, 0], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [2, 2], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 0], [2, 0], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 0], [2, 2], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 2], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 2], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.row_and_col_separation', 'ignore_parent': True, 'inferrable': True, 'possibly_empty': False, 'strategy_class': 'RowColumnSeparationStrategy', 'workable': True}}, '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': [{'assumption': 'TrackingAssumption', 'class_module': 'tilings.assumptions', 'gps': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[2, 0]]}]}], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0], 'pos': [[2, 3]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [2, 0]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[2, 0], [2, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 3], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 3], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 0], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 1], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 3], [0, 3]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 2]]}]]}], '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': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_placement', 'direction': 0, 'gps': [{'patt': [0], 'pos': [[0, 1]]}], 'ignore_parent': False, 'include_empty': False, 'indices': [0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, 'rule_class': 'EquivalenceRule'}, {'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'children': [{'assumptions': [{'assumption': 'TrackingAssumption', 'class_module': 'tilings.assumptions', 'gps': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[2, 1]]}]}], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0], 'pos': [[2, 3]]}, {'patt': [0], 'pos': [[2, 4]]}, {'patt': [0, 1], 'pos': [[1, 3], [1, 3]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 3]]}, {'patt': [1, 0], 'pos': [[2, 1], [2, 1]]}, {'patt': [1, 2, 0], 'pos': [[0, 2], [0, 4], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 2], [0, 4], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 0], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 2], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 4], [0, 4]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 3]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [{'assumption': 'TrackingAssumption', 'class_module': 'tilings.assumptions', 'gps': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[2, 0]]}]}], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0], 'pos': [[2, 3]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [2, 0]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[2, 0], [2, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 3], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 3], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 0], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 1], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 3], [0, 3]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 2]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.row_and_col_separation', 'ignore_parent': True, 'inferrable': True, 'possibly_empty': False, 'strategy_class': 'RowColumnSeparationStrategy', 'workable': True}}, 'rule_class': 'EquivalenceRule'}]}, {'class_module': 'comb_spec_searcher.strategies.rule', 'rule_class': 'EquivalencePathRule', 'rules': [{'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'class_module': 'comb_spec_searcher.strategies.rule', 'idx': 0, 'original_rule': {'children': [{'assumptions': [{'assumption': 'TrackingAssumption', 'class_module': 'tilings.assumptions', 'gps': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[2, 1]]}]}], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 3]]}, {'patt': [0, 1], 'pos': [[1, 3], [1, 3]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 3]]}, {'patt': [1, 0], 'pos': [[2, 1], [2, 1]]}, {'patt': [2, 0, 1], 'pos': [[2, 4], [2, 1], [2, 4]]}, {'patt': [2, 0, 1], 'pos': [[2, 4], [2, 2], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 2], [2, 1], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 2], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 4], [2, 1], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 4], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 4], [2, 4]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 3]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [{'assumption': 'TrackingAssumption', 'class_module': 'tilings.assumptions', 'gps': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[2, 0]]}]}], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [2, 0]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[2, 0], [2, 0]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 0], [2, 3]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 1], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 1], [2, 0], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 1], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 3], [2, 0], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 3], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 2]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.row_and_col_separation', 'ignore_parent': True, 'inferrable': True, 'possibly_empty': False, 'strategy_class': 'RowColumnSeparationStrategy', 'workable': True}}, 'rule_class': 'ReverseRule'}, 'rule_class': 'EquivalenceRule'}, {'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'class_module': 'comb_spec_searcher.strategies.rule', 'idx': 0, 'original_rule': {'children': [{'assumptions': [{'assumption': 'TrackingAssumption', 'class_module': 'tilings.assumptions', 'gps': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[2, 0]]}]}], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [2, 0]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[2, 0], [2, 0]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 0], [2, 3]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 1], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 1], [2, 0], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 1], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 3], [2, 0], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 3], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 2]]}]]}], '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': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_placement', 'direction': 2, 'gps': [{'patt': [0], 'pos': [[0, 1]]}], 'ignore_parent': False, 'include_empty': False, 'indices': [0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, 'rule_class': 'ReverseRule'}, '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': [{'assumption': 'TrackingAssumption', 'class_module': 'tilings.assumptions', 'gps': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[2, 0]]}]}], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [2, 0]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[2, 0], [2, 0]]}, {'patt': [1, 0], 'pos': [[2, 4], [2, 0]]}, {'patt': [1, 0], 'pos': [[2, 4], [2, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 4], [0, 4], [2, 4]]}, {'patt': [1, 2, 0], 'pos': [[2, 3], [2, 4], [2, 3]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 0], [2, 3]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 1], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 0], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 4], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [2, 4], [2, 3], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [2, 4], [2, 4], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 1], [2, 0], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 1], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 3], [2, 0], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 3], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 3], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 4], [2, 4]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 2]]}], [{'patt': [0], 'pos': [[2, 4]]}]]}], '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': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 2], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 2], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 1], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}], 'requirements': [[{'patt': [0, 1], 'pos': [[0, 1], [0, 2]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_placement', 'direction': 2, 'gps': [{'patt': [0], 'pos': [[0, 1]]}], 'ignore_parent': False, 'include_empty': False, 'indices': [0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, 'rule_class': 'EquivalenceRule'}, {'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'children': [{'assumptions': [{'assumption': 'TrackingAssumption', 'class_module': 'tilings.assumptions', 'gps': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[2, 1]]}]}], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[1, 5]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 3]]}, {'patt': [0, 1], 'pos': [[1, 3], [1, 3]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 3]]}, {'patt': [1, 0], 'pos': [[2, 1], [2, 1]]}, {'patt': [1, 0], 'pos': [[2, 5], [2, 1]]}, {'patt': [1, 0], 'pos': [[2, 5], [2, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 5], [0, 5], [2, 5]]}, {'patt': [1, 2, 0], 'pos': [[2, 4], [2, 5], [2, 4]]}, {'patt': [2, 0, 1], 'pos': [[2, 4], [2, 1], [2, 4]]}, {'patt': [2, 0, 1], 'pos': [[2, 4], [2, 2], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [0, 5], [0, 0], [0, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [0, 5], [0, 5], [0, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [2, 5], [2, 4], [2, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [2, 5], [2, 5], [2, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 2], [2, 1], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 2], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 4], [2, 1], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 4], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 4], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 5], [2, 5], [2, 4], [2, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 5], [2, 5], [2, 5], [2, 5]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 3]]}], [{'patt': [0], 'pos': [[2, 5]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [{'assumption': 'TrackingAssumption', 'class_module': 'tilings.assumptions', 'gps': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[2, 0]]}]}], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [2, 0]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[2, 0], [2, 0]]}, {'patt': [1, 0], 'pos': [[2, 4], [2, 0]]}, {'patt': [1, 0], 'pos': [[2, 4], [2, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 4], [0, 4], [2, 4]]}, {'patt': [1, 2, 0], 'pos': [[2, 3], [2, 4], [2, 3]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 0], [2, 3]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 1], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 0], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 4], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [2, 4], [2, 3], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [2, 4], [2, 4], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 1], [2, 0], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 1], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 3], [2, 0], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 3], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 3], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 4], [2, 4]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 2]]}], [{'patt': [0], 'pos': [[2, 4]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.row_and_col_separation', 'ignore_parent': True, 'inferrable': True, 'possibly_empty': False, 'strategy_class': 'RowColumnSeparationStrategy', 'workable': True}}, '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': [{'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': [[0, 2]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 2], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 1], [1, 1], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}], 'requirements': []}], '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': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 2], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 1], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}], 'requirements': []}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.row_and_col_separation', 'ignore_parent': True, 'inferrable': True, 'possibly_empty': False, 'strategy_class': 'RowColumnSeparationStrategy', 'workable': True}}, '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': [{'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': [[0, 2]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 2], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 0], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 3], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 1], [1, 1], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}], 'requirements': []}], '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, 0]]}, {'patt': [0, 1], 'pos': [[0, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 2], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 1], [1, 1], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}], 'requirements': []}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.row_and_col_separation', 'ignore_parent': True, 'inferrable': True, 'possibly_empty': False, 'strategy_class': 'RowColumnSeparationStrategy', 'workable': True}}, '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], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[1, 0], [1, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [2, 2]]}, {'patt': [1, 0], 'pos': [[1, 0], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[2, 2], [2, 3], [2, 2]]}, {'patt': [2, 0, 1], 'pos': [[0, 2], [0, 1], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 2], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 2], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}], '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]]}, {'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 2], [0, 1]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 1], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_placement', 'direction': 0, 'gps': [{'patt': [0], 'pos': [[0, 0]]}], 'ignore_parent': False, 'include_empty': False, 'indices': [0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, 'rule_class': 'EquivalenceRule'}, {'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 2]]}, {'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, 2, 0], 'pos': [[2, 3], [2, 4], [2, 3]]}, {'patt': [2, 0, 1], 'pos': [[0, 2], [0, 1], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 3], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 4], [2, 4]]}], '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], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[1, 0], [1, 0]]}, {'patt': [1, 0], 'pos': [[0, 2], [2, 2]]}, {'patt': [1, 0], 'pos': [[1, 0], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[2, 2], [2, 3], [2, 2]]}, {'patt': [2, 0, 1], 'pos': [[0, 2], [0, 1], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 2], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 2], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 0]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.row_and_col_separation', 'ignore_parent': True, 'inferrable': True, 'possibly_empty': False, 'strategy_class': 'RowColumnSeparationStrategy', 'workable': True}}, '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], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[0, 5]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[1, 5]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0], 'pos': [[2, 3]]}, {'patt': [0], 'pos': [[2, 4]]}, {'patt': [0], 'pos': [[2, 5]]}, {'patt': [0], 'pos': [[3, 0]]}, {'patt': [0], 'pos': [[3, 1]]}, {'patt': [0], 'pos': [[3, 2]]}, {'patt': [0], 'pos': [[3, 3]]}, {'patt': [0, 1], 'pos': [[0, 0], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 0], [0, 3]]}, {'patt': [0, 1], 'pos': [[2, 1], [2, 1]]}, {'patt': [1, 0], 'pos': [[1, 4], [3, 4]]}, {'patt': [1, 0], 'pos': [[2, 1], [2, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [1, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 2], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 3], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [1, 2], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [1, 4], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 2], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 4], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[3, 4], [3, 5], [3, 4]]}, {'patt': [2, 0, 1], 'pos': [[0, 3], [0, 2], [0, 3]]}, {'patt': [2, 0, 1], 'pos': [[1, 4], [1, 0], [1, 4]]}, {'patt': [2, 0, 1], 'pos': [[1, 4], [1, 2], [1, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 3], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [1, 2], [1, 0], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [1, 4], [1, 0], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [1, 4], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 3], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 0], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 4], [1, 0], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 4], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 4], [1, 4], [1, 4], [1, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 4], [3, 4], [3, 4], [3, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 5], [3, 5], [3, 4], [3, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 5], [3, 5], [3, 5], [3, 5]]}], '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], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [1, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 1], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 3], [1, 2]]}, {'patt': [2, 0, 1], 'pos': [[0, 1], [0, 0], [0, 1]]}, {'patt': [2, 0, 1], 'pos': [[1, 2], [1, 0], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 1], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [1, 2], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 2], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 2], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 0]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_placement', 'direction': 0, 'gps': [{'patt': [0], 'pos': [[1, 0]]}], 'ignore_parent': False, 'include_empty': False, 'indices': [0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, 'rule_class': 'EquivalenceRule'}, {'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[0, 5]]}, {'patt': [0], 'pos': [[0, 6]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[1, 5]]}, {'patt': [0], 'pos': [[1, 6]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 3]]}, {'patt': [0], 'pos': [[2, 5]]}, {'patt': [0], 'pos': [[2, 6]]}, {'patt': [0], 'pos': [[3, 0]]}, {'patt': [0], 'pos': [[3, 2]]}, {'patt': [0], 'pos': [[3, 3]]}, {'patt': [0], 'pos': [[3, 4]]}, {'patt': [0], 'pos': [[3, 5]]}, {'patt': [0], 'pos': [[3, 6]]}, {'patt': [0], 'pos': [[4, 0]]}, {'patt': [0], 'pos': [[4, 1]]}, {'patt': [0], 'pos': [[4, 2]]}, {'patt': [0], 'pos': [[4, 3]]}, {'patt': [0], 'pos': [[4, 4]]}, {'patt': [0, 1], 'pos': [[3, 1], [3, 1]]}, {'patt': [1, 0], 'pos': [[3, 1], [3, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 2], [2, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 3], [2, 2]]}, {'patt': [0, 2, 1], 'pos': [[1, 0], [1, 0], [2, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [2, 2], [2, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [2, 4], [2, 0]]}, {'patt': [1, 2, 0], 'pos': [[2, 0], [2, 2], [2, 0]]}, {'patt': [1, 2, 0], 'pos': [[2, 0], [2, 4], [2, 0]]}, {'patt': [1, 2, 0], 'pos': [[4, 5], [4, 6], [4, 5]]}, {'patt': [2, 0, 1], 'pos': [[0, 3], [0, 2], [0, 3]]}, {'patt': [2, 0, 1], 'pos': [[2, 4], [2, 0], [2, 4]]}, {'patt': [2, 0, 1], 'pos': [[2, 4], [2, 2], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 3], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [2, 2], [2, 0], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [2, 2], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [2, 4], [2, 0], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [2, 4], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 3], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [2, 0], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 0], [2, 0], [2, 0], [2, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 2], [2, 0], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 2], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 4], [2, 0], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 4], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 4], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 5], [4, 5], [4, 5], [4, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 6], [4, 6], [4, 5], [4, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 6], [4, 6], [4, 6], [4, 6]]}], 'requirements': [[{'patt': [0], 'pos': [[3, 1]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[0, 5]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[1, 5]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0], 'pos': [[2, 3]]}, {'patt': [0], 'pos': [[2, 4]]}, {'patt': [0], 'pos': [[2, 5]]}, {'patt': [0], 'pos': [[3, 0]]}, {'patt': [0], 'pos': [[3, 1]]}, {'patt': [0], 'pos': [[3, 2]]}, {'patt': [0], 'pos': [[3, 3]]}, {'patt': [0, 1], 'pos': [[0, 0], [0, 2]]}, {'patt': [0, 1], 'pos': [[0, 0], [0, 3]]}, {'patt': [0, 1], 'pos': [[2, 1], [2, 1]]}, {'patt': [1, 0], 'pos': [[1, 4], [3, 4]]}, {'patt': [1, 0], 'pos': [[2, 1], [2, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 0], [0, 0], [1, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 2], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 3], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [1, 2], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 0], [1, 4], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 2], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[1, 0], [1, 4], [1, 0]]}, {'patt': [1, 2, 0], 'pos': [[3, 4], [3, 5], [3, 4]]}, {'patt': [2, 0, 1], 'pos': [[0, 3], [0, 2], [0, 3]]}, {'patt': [2, 0, 1], 'pos': [[1, 4], [1, 0], [1, 4]]}, {'patt': [2, 0, 1], 'pos': [[1, 4], [1, 2], [1, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [0, 0], [0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 3], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [1, 2], [1, 0], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [1, 4], [1, 0], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [1, 4], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 3], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 0], [1, 0], [1, 0], [1, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 0], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 4], [1, 0], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 4], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 4], [1, 4], [1, 4], [1, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 4], [3, 4], [3, 4], [3, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 5], [3, 5], [3, 4], [3, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 5], [3, 5], [3, 5], [3, 5]]}], 'requirements': [[{'patt': [0], 'pos': [[2, 1]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.row_and_col_separation', 'ignore_parent': True, 'inferrable': True, 'possibly_empty': False, 'strategy_class': 'RowColumnSeparationStrategy', 'workable': True}}, 'rule_class': 'EquivalenceRule'}]}, {'class_module': 'comb_spec_searcher.strategies.rule', 'rule_class': 'EquivalencePathRule', 'rules': [{'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'class_module': 'comb_spec_searcher.strategies.rule', 'idx': 0, 'original_rule': {'children': [{'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': [[0, 2]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[1, 5]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0], 'pos': [[2, 3]]}, {'patt': [0], 'pos': [[2, 5]]}, {'patt': [0], 'pos': [[3, 0]]}, {'patt': [0], 'pos': [[3, 1]]}, {'patt': [0], 'pos': [[3, 4]]}, {'patt': [0, 1], 'pos': [[0, 3], [0, 5]]}, {'patt': [0, 1], 'pos': [[2, 4], [2, 4]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[2, 4], [2, 4]]}, {'patt': [0, 2, 1], 'pos': [[0, 3], [0, 3], [3, 3]]}, {'patt': [0, 2, 1], 'pos': [[0, 5], [0, 5], [3, 5]]}, {'patt': [1, 0, 2], 'pos': [[0, 3], [3, 2], [3, 3]]}, {'patt': [1, 0, 2], 'pos': [[0, 3], [3, 3], [3, 3]]}, {'patt': [1, 2, 0], 'pos': [[3, 2], [3, 3], [3, 2]]}, {'patt': [1, 2, 0], 'pos': [[3, 2], [3, 5], [3, 2]]}, {'patt': [2, 0, 1], 'pos': [[3, 5], [3, 2], [3, 5]]}, {'patt': [2, 0, 1], 'pos': [[3, 5], [3, 3], [3, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 0], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 3], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [0, 5], [0, 0], [0, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [0, 5], [0, 5], [0, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [3, 5], [3, 5], [3, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 1], [1, 1], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 2], [3, 2], [3, 2], [3, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 3], [3, 3], [3, 2], [3, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 3], [3, 3], [3, 3], [3, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 3], [3, 5], [3, 2], [3, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 3], [3, 5], [3, 3], [3, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 5], [3, 5], [3, 5], [3, 5]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 3]]}, {'patt': [0, 1], 'pos': [[0, 5], [3, 5]]}], [{'patt': [0], 'pos': [[2, 4]]}]]}], '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': [[0, 3]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0], 'pos': [[2, 4]]}, {'patt': [0], 'pos': [[3, 0]]}, {'patt': [0], 'pos': [[3, 3]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 4]]}, {'patt': [0, 1], 'pos': [[2, 3], [2, 3]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[1, 1], [3, 1]]}, {'patt': [1, 0], 'pos': [[2, 3], [2, 3]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 2], [3, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 4], [0, 4], [3, 4]]}, {'patt': [1, 0, 2], 'pos': [[0, 2], [3, 1], [3, 2]]}, {'patt': [1, 0, 2], 'pos': [[0, 2], [3, 2], [3, 2]]}, {'patt': [1, 2, 0], 'pos': [[3, 1], [3, 2], [3, 1]]}, {'patt': [1, 2, 0], 'pos': [[3, 1], [3, 4], [3, 1]]}, {'patt': [2, 0, 1], 'pos': [[3, 4], [3, 1], [3, 4]]}, {'patt': [2, 0, 1], 'pos': [[3, 4], [3, 2], [3, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 0], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 4], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [3, 4], [3, 4], [3, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 1], [1, 1], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 1], [3, 1], [3, 1], [3, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 2], [3, 2], [3, 1], [3, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 2], [3, 2], [3, 2], [3, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 2], [3, 4], [3, 1], [3, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 2], [3, 4], [3, 2], [3, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 4], [3, 4], [3, 4], [3, 4]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 2]]}, {'patt': [0, 1], 'pos': [[0, 4], [3, 4]]}], [{'patt': [0], 'pos': [[2, 3]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.row_and_col_separation', 'ignore_parent': True, 'inferrable': True, 'possibly_empty': False, 'strategy_class': 'RowColumnSeparationStrategy', 'workable': True}}, 'rule_class': 'ReverseRule'}, 'rule_class': 'EquivalenceRule'}, {'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'class_module': 'comb_spec_searcher.strategies.rule', 'idx': 0, 'original_rule': {'children': [{'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': [[0, 3]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0], 'pos': [[2, 4]]}, {'patt': [0], 'pos': [[3, 0]]}, {'patt': [0], 'pos': [[3, 3]]}, {'patt': [0, 1], 'pos': [[0, 2], [0, 4]]}, {'patt': [0, 1], 'pos': [[2, 3], [2, 3]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[1, 1], [3, 1]]}, {'patt': [1, 0], 'pos': [[2, 3], [2, 3]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 2], [3, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 4], [0, 4], [3, 4]]}, {'patt': [1, 0, 2], 'pos': [[0, 2], [3, 1], [3, 2]]}, {'patt': [1, 0, 2], 'pos': [[0, 2], [3, 2], [3, 2]]}, {'patt': [1, 2, 0], 'pos': [[3, 1], [3, 2], [3, 1]]}, {'patt': [1, 2, 0], 'pos': [[3, 1], [3, 4], [3, 1]]}, {'patt': [2, 0, 1], 'pos': [[3, 4], [3, 1], [3, 4]]}, {'patt': [2, 0, 1], 'pos': [[3, 4], [3, 2], [3, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 0], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 4], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [3, 4], [3, 4], [3, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 1], [1, 1], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 1], [3, 1], [3, 1], [3, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 2], [3, 2], [3, 1], [3, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 2], [3, 2], [3, 2], [3, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 2], [3, 4], [3, 1], [3, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 2], [3, 4], [3, 2], [3, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 4], [3, 4], [3, 4], [3, 4]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 2]]}, {'patt': [0, 1], 'pos': [[0, 4], [3, 4]]}], [{'patt': [0], 'pos': [[2, 3]]}]]}], '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, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [0, 2, 1], 'pos': [[0, 2], [0, 2], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 2], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [1, 2], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 1], [1, 1], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}], 'requirements': [[{'patt': [0, 1], 'pos': [[0, 2], [1, 2]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_placement', 'direction': 2, 'gps': [{'patt': [0], 'pos': [[1, 2]]}], 'ignore_parent': False, 'include_empty': False, 'indices': [0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, 'rule_class': 'ReverseRule'}, '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': [{'assumption': 'TrackingAssumption', 'class_module': 'tilings.assumptions', 'gps': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[2, 0]]}]}], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0], 'pos': [[2, 4]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [2, 0]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[2, 0], [2, 0]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 0], [2, 3]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 1], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 0], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 4], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 1], [2, 0], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 1], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 3], [2, 0], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 3], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 2]]}]]}], '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, 1], [0, 2]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 0], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_placement', 'direction': 2, 'gps': [{'patt': [0], 'pos': [[0, 1]]}], 'ignore_parent': False, 'include_empty': False, 'indices': [0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, 'rule_class': 'EquivalenceRule'}, {'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'children': [{'assumptions': [{'assumption': 'TrackingAssumption', 'class_module': 'tilings.assumptions', 'gps': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[2, 1]]}]}], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[1, 5]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 3]]}, {'patt': [0], 'pos': [[2, 5]]}, {'patt': [0, 1], 'pos': [[1, 3], [1, 3]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 3]]}, {'patt': [1, 0], 'pos': [[2, 1], [2, 1]]}, {'patt': [2, 0, 1], 'pos': [[2, 4], [2, 1], [2, 4]]}, {'patt': [2, 0, 1], 'pos': [[2, 4], [2, 2], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [0, 5], [0, 0], [0, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [0, 5], [0, 5], [0, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 2], [2, 1], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 2], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 4], [2, 1], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 4], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 4], [2, 4]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 3]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [{'assumption': 'TrackingAssumption', 'class_module': 'tilings.assumptions', 'gps': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[2, 0]]}]}], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0], 'pos': [[2, 4]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [2, 0]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[2, 0], [2, 0]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 0], [2, 3]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 1], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 0], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 4], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 1], [2, 0], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 1], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 3], [2, 0], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 3], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 2]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.row_and_col_separation', 'ignore_parent': True, 'inferrable': True, 'possibly_empty': False, 'strategy_class': 'RowColumnSeparationStrategy', 'workable': True}}, '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': [{'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': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[1, 5]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0], 'pos': [[2, 5]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[2, 4], [2, 1]]}, {'patt': [0, 2, 1], 'pos': [[1, 2], [1, 3], [2, 3]]}, {'patt': [0, 2, 1], 'pos': [[1, 3], [1, 3], [2, 3]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 3], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 3], [2, 4], [2, 3]]}, {'patt': [1, 2, 0], 'pos': [[2, 3], [2, 4], [2, 3]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 1], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [0, 5], [0, 0], [0, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [0, 5], [0, 5], [0, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 2], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 1], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 3], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 3], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 4], [2, 4]]}], 'requirements': []}], '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': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0, 1], 'pos': [[0, 4], [2, 4]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[2, 4], [2, 1]]}, {'patt': [0, 2, 1], 'pos': [[1, 2], [1, 3], [2, 3]]}, {'patt': [0, 2, 1], 'pos': [[1, 3], [1, 3], [2, 3]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 3], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 3], [2, 4], [2, 3]]}, {'patt': [1, 2, 0], 'pos': [[2, 3], [2, 4], [2, 3]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 1], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 0], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 4], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 2], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 1], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 3], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 3], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 4], [2, 4]]}], 'requirements': []}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.row_and_col_separation', 'ignore_parent': True, 'inferrable': True, 'possibly_empty': False, 'strategy_class': 'RowColumnSeparationStrategy', 'workable': True}}, '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': [{'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': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 5]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 3]]}, {'patt': [0], 'pos': [[2, 4]]}, {'patt': [0], 'pos': [[2, 5]]}, {'patt': [0], 'pos': [[3, 0]]}, {'patt': [0], 'pos': [[3, 1]]}, {'patt': [0], 'pos': [[3, 2]]}, {'patt': [0], 'pos': [[3, 3]]}, {'patt': [0, 1], 'pos': [[2, 2], [2, 2]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[1, 4], [3, 4]]}, {'patt': [1, 0], 'pos': [[2, 2], [2, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 5], [0, 5], [3, 5]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 3], [1, 1]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 4], [1, 1]]}, {'patt': [1, 2, 0], 'pos': [[3, 4], [3, 5], [3, 4]]}, {'patt': [2, 0, 1], 'pos': [[1, 4], [1, 1], [1, 4]]}, {'patt': [2, 0, 1], 'pos': [[1, 4], [1, 3], [1, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [0, 5], [0, 0], [0, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [0, 5], [0, 5], [0, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [3, 5], [3, 4], [3, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [3, 5], [3, 5], [3, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 1], [1, 1], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 1], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 4], [1, 1], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 4], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 4], [1, 4], [1, 4], [1, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 4], [3, 4], [3, 4], [3, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 5], [3, 5], [3, 4], [3, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 5], [3, 5], [3, 5], [3, 5]]}], 'requirements': [[{'patt': [0], 'pos': [[2, 2]]}]]}], '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': [[0, 2]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 3], [0, 3], [1, 3]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 3], [1, 2]]}, {'patt': [2, 0, 1], 'pos': [[1, 2], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 0], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 3], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [1, 3], [1, 2], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [1, 3], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 1], [1, 1], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 2], [1, 1], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 2], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 1]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_placement', 'direction': 0, 'gps': [{'patt': [0], 'pos': [[1, 1]]}], 'ignore_parent': False, 'include_empty': False, 'indices': [0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, 'rule_class': 'EquivalenceRule'}, {'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'children': [{'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': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[0, 5]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 5]]}, {'patt': [0], 'pos': [[1, 6]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 3]]}, {'patt': [0], 'pos': [[2, 4]]}, {'patt': [0], 'pos': [[2, 5]]}, {'patt': [0], 'pos': [[2, 6]]}, {'patt': [0], 'pos': [[3, 0]]}, {'patt': [0], 'pos': [[3, 1]]}, {'patt': [0], 'pos': [[3, 2]]}, {'patt': [0], 'pos': [[3, 3]]}, {'patt': [0], 'pos': [[3, 4]]}, {'patt': [0, 1], 'pos': [[2, 2], [2, 2]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[2, 2], [2, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 6], [0, 6], [3, 6]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 3], [1, 1]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 4], [1, 1]]}, {'patt': [1, 2, 0], 'pos': [[3, 5], [3, 6], [3, 5]]}, {'patt': [2, 0, 1], 'pos': [[1, 4], [1, 1], [1, 4]]}, {'patt': [2, 0, 1], 'pos': [[1, 4], [1, 3], [1, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 6], [0, 6], [0, 0], [0, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 6], [0, 6], [0, 6], [0, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 6], [3, 6], [3, 5], [3, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 6], [3, 6], [3, 6], [3, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 1], [1, 1], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 1], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 4], [1, 1], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 4], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 4], [1, 4], [1, 4], [1, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 5], [3, 5], [3, 5], [3, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 6], [3, 6], [3, 5], [3, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 6], [3, 6], [3, 6], [3, 6]]}], 'requirements': [[{'patt': [0], 'pos': [[2, 2]]}]]}], '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': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 5]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 3]]}, {'patt': [0], 'pos': [[2, 4]]}, {'patt': [0], 'pos': [[2, 5]]}, {'patt': [0], 'pos': [[3, 0]]}, {'patt': [0], 'pos': [[3, 1]]}, {'patt': [0], 'pos': [[3, 2]]}, {'patt': [0], 'pos': [[3, 3]]}, {'patt': [0, 1], 'pos': [[2, 2], [2, 2]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[1, 4], [3, 4]]}, {'patt': [1, 0], 'pos': [[2, 2], [2, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 5], [0, 5], [3, 5]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 3], [1, 1]]}, {'patt': [1, 2, 0], 'pos': [[1, 1], [1, 4], [1, 1]]}, {'patt': [1, 2, 0], 'pos': [[3, 4], [3, 5], [3, 4]]}, {'patt': [2, 0, 1], 'pos': [[1, 4], [1, 1], [1, 4]]}, {'patt': [2, 0, 1], 'pos': [[1, 4], [1, 3], [1, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [0, 5], [0, 0], [0, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [0, 5], [0, 5], [0, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [3, 5], [3, 4], [3, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [3, 5], [3, 5], [3, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 1], [1, 1], [1, 1], [1, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 1], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 4], [1, 1], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 4], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 4], [1, 4], [1, 4], [1, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 4], [3, 4], [3, 4], [3, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 5], [3, 5], [3, 4], [3, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 5], [3, 5], [3, 5], [3, 5]]}], 'requirements': [[{'patt': [0], 'pos': [[2, 2]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.row_and_col_separation', 'ignore_parent': True, 'inferrable': True, 'possibly_empty': False, 'strategy_class': 'RowColumnSeparationStrategy', 'workable': True}}, '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': [{'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': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[0, 5]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[1, 5]]}, {'patt': [0], 'pos': [[1, 6]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0], 'pos': [[2, 4]]}, {'patt': [0], 'pos': [[2, 5]]}, {'patt': [0], 'pos': [[2, 6]]}, {'patt': [0], 'pos': [[3, 0]]}, {'patt': [0], 'pos': [[3, 1]]}, {'patt': [0], 'pos': [[3, 2]]}, {'patt': [0], 'pos': [[3, 3]]}, {'patt': [0], 'pos': [[3, 4]]}, {'patt': [0], 'pos': [[3, 6]]}, {'patt': [0], 'pos': [[4, 0]]}, {'patt': [0], 'pos': [[4, 1]]}, {'patt': [0], 'pos': [[4, 2]]}, {'patt': [0], 'pos': [[4, 5]]}, {'patt': [0, 1], 'pos': [[0, 4], [0, 6]]}, {'patt': [0, 1], 'pos': [[3, 5], [3, 5]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[1, 3], [4, 3]]}, {'patt': [1, 0], 'pos': [[2, 3], [4, 3]]}, {'patt': [1, 0], 'pos': [[3, 5], [3, 5]]}, {'patt': [0, 2, 1], 'pos': [[0, 4], [0, 4], [4, 4]]}, {'patt': [0, 2, 1], 'pos': [[0, 6], [0, 6], [4, 6]]}, {'patt': [0, 2, 1], 'pos': [[1, 2], [1, 3], [2, 3]]}, {'patt': [0, 2, 1], 'pos': [[1, 3], [1, 3], [2, 3]]}, {'patt': [1, 0, 2], 'pos': [[0, 4], [4, 3], [4, 4]]}, {'patt': [1, 0, 2], 'pos': [[0, 4], [4, 4], [4, 4]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 3], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[4, 3], [4, 4], [4, 3]]}, {'patt': [1, 2, 0], 'pos': [[4, 3], [4, 6], [4, 3]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 1], [2, 3]]}, {'patt': [2, 0, 1], 'pos': [[4, 6], [4, 3], [4, 6]]}, {'patt': [2, 0, 1], 'pos': [[4, 6], [4, 4], [4, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 0], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 4], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 6], [0, 6], [0, 0], [0, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 6], [0, 6], [0, 6], [0, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 6], [4, 6], [4, 6], [4, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 2], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 1], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 3], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 3], [4, 3], [4, 3], [4, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 4], [4, 4], [4, 3], [4, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 4], [4, 4], [4, 4], [4, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 4], [4, 6], [4, 3], [4, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 4], [4, 6], [4, 4], [4, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 6], [4, 6], [4, 6], [4, 6]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 4]]}, {'patt': [0, 1], 'pos': [[0, 6], [4, 6]]}], [{'patt': [0], 'pos': [[3, 5]]}]]}], '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': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[2, 4], [2, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 4], [0, 4], [2, 4]]}, {'patt': [0, 2, 1], 'pos': [[1, 2], [1, 3], [2, 3]]}, {'patt': [0, 2, 1], 'pos': [[1, 3], [1, 3], [2, 3]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 3], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 3], [2, 4], [2, 3]]}, {'patt': [1, 2, 0], 'pos': [[2, 3], [2, 4], [2, 3]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 1], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 0], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 4], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [2, 4], [2, 3], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [2, 4], [2, 4], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 2], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 1], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 3], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 3], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 4], [2, 4]]}], 'requirements': [[{'patt': [0, 1], 'pos': [[0, 4], [2, 4]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_placement', 'direction': 2, 'gps': [{'patt': [0], 'pos': [[2, 4]]}], 'ignore_parent': False, 'include_empty': False, 'indices': [0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, 'rule_class': 'EquivalenceRule'}, {'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'children': [{'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': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[0, 6]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[1, 5]]}, {'patt': [0], 'pos': [[1, 6]]}, {'patt': [0], 'pos': [[1, 7]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0], 'pos': [[2, 4]]}, {'patt': [0], 'pos': [[2, 5]]}, {'patt': [0], 'pos': [[2, 6]]}, {'patt': [0], 'pos': [[2, 7]]}, {'patt': [0], 'pos': [[3, 0]]}, {'patt': [0], 'pos': [[3, 1]]}, {'patt': [0], 'pos': [[3, 2]]}, {'patt': [0], 'pos': [[3, 3]]}, {'patt': [0], 'pos': [[3, 4]]}, {'patt': [0], 'pos': [[3, 5]]}, {'patt': [0], 'pos': [[3, 7]]}, {'patt': [0], 'pos': [[4, 0]]}, {'patt': [0], 'pos': [[4, 1]]}, {'patt': [0], 'pos': [[4, 2]]}, {'patt': [0], 'pos': [[4, 3]]}, {'patt': [0], 'pos': [[4, 6]]}, {'patt': [0, 1], 'pos': [[0, 5], [0, 7]]}, {'patt': [0, 1], 'pos': [[3, 6], [3, 6]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[3, 6], [3, 6]]}, {'patt': [0, 2, 1], 'pos': [[0, 5], [0, 5], [4, 5]]}, {'patt': [0, 2, 1], 'pos': [[0, 7], [0, 7], [4, 7]]}, {'patt': [0, 2, 1], 'pos': [[1, 2], [1, 3], [2, 3]]}, {'patt': [0, 2, 1], 'pos': [[1, 3], [1, 3], [2, 3]]}, {'patt': [1, 0, 2], 'pos': [[0, 5], [4, 4], [4, 5]]}, {'patt': [1, 0, 2], 'pos': [[0, 5], [4, 5], [4, 5]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 3], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[4, 4], [4, 5], [4, 4]]}, {'patt': [1, 2, 0], 'pos': [[4, 4], [4, 7], [4, 4]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 1], [2, 3]]}, {'patt': [2, 0, 1], 'pos': [[4, 7], [4, 4], [4, 7]]}, {'patt': [2, 0, 1], 'pos': [[4, 7], [4, 5], [4, 7]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [0, 5], [0, 0], [0, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [0, 5], [0, 5], [0, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 7], [0, 7], [0, 0], [0, 7]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 7], [0, 7], [0, 7], [0, 7]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 7], [4, 7], [4, 7], [4, 7]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 2], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 1], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 3], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 4], [4, 4], [4, 4], [4, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 5], [4, 5], [4, 4], [4, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 5], [4, 5], [4, 5], [4, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 5], [4, 7], [4, 4], [4, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 5], [4, 7], [4, 5], [4, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 7], [4, 7], [4, 7], [4, 7]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 5]]}, {'patt': [0, 1], 'pos': [[0, 7], [4, 7]]}], [{'patt': [0], 'pos': [[3, 6]]}]]}], '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': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[0, 5]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[1, 5]]}, {'patt': [0], 'pos': [[1, 6]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0], 'pos': [[2, 4]]}, {'patt': [0], 'pos': [[2, 5]]}, {'patt': [0], 'pos': [[2, 6]]}, {'patt': [0], 'pos': [[3, 0]]}, {'patt': [0], 'pos': [[3, 1]]}, {'patt': [0], 'pos': [[3, 2]]}, {'patt': [0], 'pos': [[3, 3]]}, {'patt': [0], 'pos': [[3, 4]]}, {'patt': [0], 'pos': [[3, 6]]}, {'patt': [0], 'pos': [[4, 0]]}, {'patt': [0], 'pos': [[4, 1]]}, {'patt': [0], 'pos': [[4, 2]]}, {'patt': [0], 'pos': [[4, 5]]}, {'patt': [0, 1], 'pos': [[0, 4], [0, 6]]}, {'patt': [0, 1], 'pos': [[3, 5], [3, 5]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[1, 3], [4, 3]]}, {'patt': [1, 0], 'pos': [[2, 3], [4, 3]]}, {'patt': [1, 0], 'pos': [[3, 5], [3, 5]]}, {'patt': [0, 2, 1], 'pos': [[0, 4], [0, 4], [4, 4]]}, {'patt': [0, 2, 1], 'pos': [[0, 6], [0, 6], [4, 6]]}, {'patt': [0, 2, 1], 'pos': [[1, 2], [1, 3], [2, 3]]}, {'patt': [0, 2, 1], 'pos': [[1, 3], [1, 3], [2, 3]]}, {'patt': [1, 0, 2], 'pos': [[0, 4], [4, 3], [4, 4]]}, {'patt': [1, 0, 2], 'pos': [[0, 4], [4, 4], [4, 4]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 3], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[4, 3], [4, 4], [4, 3]]}, {'patt': [1, 2, 0], 'pos': [[4, 3], [4, 6], [4, 3]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 1], [2, 3]]}, {'patt': [2, 0, 1], 'pos': [[4, 6], [4, 3], [4, 6]]}, {'patt': [2, 0, 1], 'pos': [[4, 6], [4, 4], [4, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 0], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 4], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 6], [0, 6], [0, 0], [0, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 6], [0, 6], [0, 6], [0, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 6], [4, 6], [4, 6], [4, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 2], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 1], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 3], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 3], [4, 3], [4, 3], [4, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 4], [4, 4], [4, 3], [4, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 4], [4, 4], [4, 4], [4, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 4], [4, 6], [4, 3], [4, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 4], [4, 6], [4, 4], [4, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 6], [4, 6], [4, 6], [4, 6]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 4]]}, {'patt': [0, 1], 'pos': [[0, 6], [4, 6]]}], [{'patt': [0], 'pos': [[3, 5]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.row_and_col_separation', 'ignore_parent': True, 'inferrable': True, 'possibly_empty': False, 'strategy_class': 'RowColumnSeparationStrategy', 'workable': True}}, 'rule_class': 'EquivalenceRule'}]}, {'class_module': 'comb_spec_searcher.strategies.rule', 'rule_class': 'EquivalencePathRule', 'rules': [{'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'class_module': 'comb_spec_searcher.strategies.rule', 'idx': 0, 'original_rule': {'children': [{'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': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[0, 6]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[1, 5]]}, {'patt': [0], 'pos': [[1, 6]]}, {'patt': [0], 'pos': [[1, 7]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0], 'pos': [[2, 4]]}, {'patt': [0], 'pos': [[2, 5]]}, {'patt': [0], 'pos': [[2, 6]]}, {'patt': [0], 'pos': [[2, 7]]}, {'patt': [0], 'pos': [[3, 0]]}, {'patt': [0], 'pos': [[3, 1]]}, {'patt': [0], 'pos': [[3, 2]]}, {'patt': [0], 'pos': [[3, 3]]}, {'patt': [0], 'pos': [[3, 4]]}, {'patt': [0], 'pos': [[3, 5]]}, {'patt': [0], 'pos': [[3, 7]]}, {'patt': [0], 'pos': [[4, 0]]}, {'patt': [0], 'pos': [[4, 1]]}, {'patt': [0], 'pos': [[4, 2]]}, {'patt': [0], 'pos': [[4, 3]]}, {'patt': [0], 'pos': [[4, 6]]}, {'patt': [0, 1], 'pos': [[0, 5], [0, 7]]}, {'patt': [0, 1], 'pos': [[3, 6], [3, 6]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[3, 6], [3, 6]]}, {'patt': [0, 2, 1], 'pos': [[0, 5], [0, 5], [4, 5]]}, {'patt': [0, 2, 1], 'pos': [[0, 7], [0, 7], [4, 7]]}, {'patt': [0, 2, 1], 'pos': [[1, 2], [1, 3], [2, 3]]}, {'patt': [0, 2, 1], 'pos': [[1, 3], [1, 3], [2, 3]]}, {'patt': [1, 0, 2], 'pos': [[0, 5], [4, 4], [4, 5]]}, {'patt': [1, 0, 2], 'pos': [[0, 5], [4, 5], [4, 5]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 3], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[4, 4], [4, 5], [4, 4]]}, {'patt': [1, 2, 0], 'pos': [[4, 4], [4, 7], [4, 4]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 1], [2, 3]]}, {'patt': [2, 0, 1], 'pos': [[4, 7], [4, 4], [4, 7]]}, {'patt': [2, 0, 1], 'pos': [[4, 7], [4, 5], [4, 7]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [0, 5], [0, 0], [0, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [0, 5], [0, 5], [0, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 7], [0, 7], [0, 0], [0, 7]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 7], [0, 7], [0, 7], [0, 7]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 7], [4, 7], [4, 7], [4, 7]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 2], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 1], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 3], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 4], [4, 4], [4, 4], [4, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 5], [4, 5], [4, 4], [4, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 5], [4, 5], [4, 5], [4, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 5], [4, 7], [4, 4], [4, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 5], [4, 7], [4, 5], [4, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 7], [4, 7], [4, 7], [4, 7]]}], 'requirements': [[{'patt': [0], 'pos': [[3, 6]]}]]}], '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': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[0, 5]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[1, 5]]}, {'patt': [0], 'pos': [[1, 6]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0], 'pos': [[2, 4]]}, {'patt': [0], 'pos': [[2, 5]]}, {'patt': [0], 'pos': [[2, 6]]}, {'patt': [0], 'pos': [[3, 0]]}, {'patt': [0], 'pos': [[3, 1]]}, {'patt': [0], 'pos': [[3, 2]]}, {'patt': [0], 'pos': [[3, 3]]}, {'patt': [0], 'pos': [[3, 4]]}, {'patt': [0], 'pos': [[3, 6]]}, {'patt': [0], 'pos': [[4, 0]]}, {'patt': [0], 'pos': [[4, 1]]}, {'patt': [0], 'pos': [[4, 2]]}, {'patt': [0], 'pos': [[4, 5]]}, {'patt': [0, 1], 'pos': [[0, 4], [0, 6]]}, {'patt': [0, 1], 'pos': [[3, 5], [3, 5]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[1, 3], [4, 3]]}, {'patt': [1, 0], 'pos': [[2, 3], [4, 3]]}, {'patt': [1, 0], 'pos': [[3, 5], [3, 5]]}, {'patt': [0, 2, 1], 'pos': [[0, 4], [0, 4], [4, 4]]}, {'patt': [0, 2, 1], 'pos': [[0, 6], [0, 6], [4, 6]]}, {'patt': [0, 2, 1], 'pos': [[1, 2], [1, 3], [2, 3]]}, {'patt': [0, 2, 1], 'pos': [[1, 3], [1, 3], [2, 3]]}, {'patt': [1, 0, 2], 'pos': [[0, 4], [4, 3], [4, 4]]}, {'patt': [1, 0, 2], 'pos': [[0, 4], [4, 4], [4, 4]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 3], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[4, 3], [4, 4], [4, 3]]}, {'patt': [1, 2, 0], 'pos': [[4, 3], [4, 6], [4, 3]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 1], [2, 3]]}, {'patt': [2, 0, 1], 'pos': [[4, 6], [4, 3], [4, 6]]}, {'patt': [2, 0, 1], 'pos': [[4, 6], [4, 4], [4, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 0], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 4], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 6], [0, 6], [0, 0], [0, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 6], [0, 6], [0, 6], [0, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 6], [4, 6], [4, 6], [4, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 2], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 1], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 3], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 3], [4, 3], [4, 3], [4, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 4], [4, 4], [4, 3], [4, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 4], [4, 4], [4, 4], [4, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 4], [4, 6], [4, 3], [4, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 4], [4, 6], [4, 4], [4, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 6], [4, 6], [4, 6], [4, 6]]}], 'requirements': [[{'patt': [0], 'pos': [[3, 5]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.row_and_col_separation', 'ignore_parent': True, 'inferrable': True, 'possibly_empty': False, 'strategy_class': 'RowColumnSeparationStrategy', 'workable': True}}, 'rule_class': 'ReverseRule'}, 'rule_class': 'EquivalenceRule'}, {'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'class_module': 'comb_spec_searcher.strategies.rule', 'idx': 0, 'original_rule': {'children': [{'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': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[0, 5]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[1, 5]]}, {'patt': [0], 'pos': [[1, 6]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0], 'pos': [[2, 4]]}, {'patt': [0], 'pos': [[2, 5]]}, {'patt': [0], 'pos': [[2, 6]]}, {'patt': [0], 'pos': [[3, 0]]}, {'patt': [0], 'pos': [[3, 1]]}, {'patt': [0], 'pos': [[3, 2]]}, {'patt': [0], 'pos': [[3, 3]]}, {'patt': [0], 'pos': [[3, 4]]}, {'patt': [0], 'pos': [[3, 6]]}, {'patt': [0], 'pos': [[4, 0]]}, {'patt': [0], 'pos': [[4, 1]]}, {'patt': [0], 'pos': [[4, 2]]}, {'patt': [0], 'pos': [[4, 5]]}, {'patt': [0, 1], 'pos': [[0, 4], [0, 6]]}, {'patt': [0, 1], 'pos': [[3, 5], [3, 5]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[1, 3], [4, 3]]}, {'patt': [1, 0], 'pos': [[2, 3], [4, 3]]}, {'patt': [1, 0], 'pos': [[3, 5], [3, 5]]}, {'patt': [0, 2, 1], 'pos': [[0, 4], [0, 4], [4, 4]]}, {'patt': [0, 2, 1], 'pos': [[0, 6], [0, 6], [4, 6]]}, {'patt': [0, 2, 1], 'pos': [[1, 2], [1, 3], [2, 3]]}, {'patt': [0, 2, 1], 'pos': [[1, 3], [1, 3], [2, 3]]}, {'patt': [1, 0, 2], 'pos': [[0, 4], [4, 3], [4, 4]]}, {'patt': [1, 0, 2], 'pos': [[0, 4], [4, 4], [4, 4]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 3], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[4, 3], [4, 4], [4, 3]]}, {'patt': [1, 2, 0], 'pos': [[4, 3], [4, 6], [4, 3]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 1], [2, 3]]}, {'patt': [2, 0, 1], 'pos': [[4, 6], [4, 3], [4, 6]]}, {'patt': [2, 0, 1], 'pos': [[4, 6], [4, 4], [4, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 0], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 4], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 6], [0, 6], [0, 0], [0, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 6], [0, 6], [0, 6], [0, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 6], [4, 6], [4, 6], [4, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 2], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 1], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 3], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 3], [4, 3], [4, 3], [4, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 4], [4, 4], [4, 3], [4, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 4], [4, 4], [4, 4], [4, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 4], [4, 6], [4, 3], [4, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 4], [4, 6], [4, 4], [4, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[4, 6], [4, 6], [4, 6], [4, 6]]}], 'requirements': [[{'patt': [0], 'pos': [[3, 5]]}]]}], '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': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[2, 4], [2, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 4], [0, 4], [2, 4]]}, {'patt': [0, 2, 1], 'pos': [[1, 2], [1, 3], [2, 3]]}, {'patt': [0, 2, 1], 'pos': [[1, 3], [1, 3], [2, 3]]}, {'patt': [1, 2, 0], 'pos': [[1, 2], [1, 3], [1, 2]]}, {'patt': [1, 2, 0], 'pos': [[1, 3], [2, 4], [2, 3]]}, {'patt': [1, 2, 0], 'pos': [[2, 3], [2, 4], [2, 3]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 1], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 0], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 4], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [2, 4], [2, 3], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [2, 4], [2, 4], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 2], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 1], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 3], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 3], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 4], [2, 4]]}], 'requirements': [[{'patt': [0], 'pos': [[2, 4]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_placement', 'direction': 2, 'gps': [{'patt': [0], 'pos': [[2, 4]]}], 'ignore_parent': False, 'include_empty': False, 'indices': [0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, 'rule_class': 'ReverseRule'}, 'rule_class': 'EquivalenceRule'}]}, {'class_module': 'comb_spec_searcher.strategies.rule', 'rule_class': 'EquivalencePathRule', 'rules': [{'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'class_module': 'comb_spec_searcher.strategies.rule', 'idx': 0, 'original_rule': {'children': [{'assumptions': [{'assumption': 'TrackingAssumption', 'class_module': 'tilings.assumptions', 'gps': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[1, 1]]}]}], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0, 1], 'pos': [[1, 1], [1, 1]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[1, 1], [1, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 3], [0, 3], [2, 3]]}, {'patt': [1, 2, 0], 'pos': [[2, 2], [2, 3], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 0], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [0, 3], [0, 3], [0, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [2, 3], [2, 2], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 2], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 2], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 3]]}], [{'patt': [0], 'pos': [[1, 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': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 2], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 1], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}], 'requirements': [[{'patt': [1, 0], 'pos': [[0, 2], [0, 0]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_placement', 'direction': 0, 'gps': [{'patt': [0], 'pos': [[0, 0]]}], 'ignore_parent': False, 'include_empty': False, 'indices': [0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, 'rule_class': 'ReverseRule'}, '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': [{'assumption': 'TrackingAssumption', 'class_module': 'tilings.assumptions', 'gps': [{'patt': [0], 'pos': [[0, 0]]}]}], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [2, 1]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[2, 4], [2, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 4], [0, 4], [2, 4]]}, {'patt': [1, 2, 0], 'pos': [[2, 3], [2, 4], [2, 3]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 1], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 0], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 1], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 4], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [2, 4], [2, 3], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [2, 4], [2, 4], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 1], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 3], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 3], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 4], [2, 4]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 2]]}], [{'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': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 2, 0], 'pos': [[0, 1], [0, 2], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 1], [0, 1], [0, 1], [0, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 0], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 1], [0, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 2], [0, 2], [0, 2], [0, 2]]}], 'requirements': [[{'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_placement', 'direction': 2, 'gps': [{'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}], 'ignore_parent': False, 'include_empty': False, 'indices': [0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, 'rule_class': 'EquivalenceRule'}, {'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'children': [{'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, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 2]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[1, 5]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 3]]}, {'patt': [0, 1], 'pos': [[1, 3], [1, 3]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[1, 3], [1, 3]]}, {'patt': [1, 0], 'pos': [[2, 5], [2, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 5], [0, 5], [2, 5]]}, {'patt': [1, 2, 0], 'pos': [[2, 4], [2, 5], [2, 4]]}, {'patt': [2, 0, 1], 'pos': [[2, 4], [2, 2], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [0, 5], [0, 0], [0, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [0, 5], [0, 1], [0, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [0, 5], [0, 5], [0, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [2, 5], [2, 4], [2, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [2, 5], [2, 5], [2, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 2], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 2], [2, 4], [2, 2], [2, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 4], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 5], [2, 5], [2, 4], [2, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 5], [2, 5], [2, 5], [2, 5]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 3]]}], [{'patt': [0], 'pos': [[2, 2]]}]]}], '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, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0], 'pos': [[1, 3]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0, 1], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}, {'patt': [1, 0], 'pos': [[0, 1], [2, 1]]}, {'patt': [1, 0], 'pos': [[1, 2], [1, 2]]}, {'patt': [1, 0], 'pos': [[2, 4], [2, 1]]}, {'patt': [0, 2, 1], 'pos': [[0, 4], [0, 4], [2, 4]]}, {'patt': [1, 2, 0], 'pos': [[2, 3], [2, 4], [2, 3]]}, {'patt': [2, 0, 1], 'pos': [[2, 3], [2, 1], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 0], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 1], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 4], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [2, 4], [2, 3], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [2, 4], [2, 4], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 1], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 1], [2, 3], [2, 1], [2, 1]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 3], [2, 3], [2, 3], [2, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 3], [2, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[2, 4], [2, 4], [2, 4], [2, 4]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 2]]}], [{'patt': [0], 'pos': [[2, 1]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.row_and_col_separation', 'ignore_parent': True, 'inferrable': True, 'possibly_empty': False, 'strategy_class': 'RowColumnSeparationStrategy', 'workable': True}}, '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': [{'assumption': 'TrackingAssumption', 'class_module': 'tilings.assumptions', 'gps': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[1, 1]]}]}], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[0, 5]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[1, 5]]}, {'patt': [0], 'pos': [[1, 6]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0], 'pos': [[2, 3]]}, {'patt': [0], 'pos': [[2, 4]]}, {'patt': [0], 'pos': [[2, 6]]}, {'patt': [0], 'pos': [[3, 0]]}, {'patt': [0], 'pos': [[3, 1]]}, {'patt': [0], 'pos': [[3, 2]]}, {'patt': [0], 'pos': [[3, 5]]}, {'patt': [0, 1], 'pos': [[0, 4], [0, 6]]}, {'patt': [0, 1], 'pos': [[2, 5], [2, 5]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[1, 1], [1, 1]]}, {'patt': [1, 0], 'pos': [[1, 3], [3, 3]]}, {'patt': [1, 0], 'pos': [[2, 5], [2, 5]]}, {'patt': [0, 2, 1], 'pos': [[0, 4], [0, 4], [3, 4]]}, {'patt': [0, 2, 1], 'pos': [[0, 6], [0, 6], [3, 6]]}, {'patt': [1, 0, 2], 'pos': [[0, 4], [3, 3], [3, 4]]}, {'patt': [1, 0, 2], 'pos': [[0, 4], [3, 4], [3, 4]]}, {'patt': [1, 2, 0], 'pos': [[3, 3], [3, 4], [3, 3]]}, {'patt': [1, 2, 0], 'pos': [[3, 3], [3, 6], [3, 3]]}, {'patt': [2, 0, 1], 'pos': [[1, 3], [1, 1], [1, 3]]}, {'patt': [2, 0, 1], 'pos': [[1, 3], [1, 2], [1, 3]]}, {'patt': [2, 0, 1], 'pos': [[3, 6], [3, 3], [3, 6]]}, {'patt': [2, 0, 1], 'pos': [[3, 6], [3, 4], [3, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 0], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 4], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 6], [0, 6], [0, 0], [0, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 6], [0, 6], [0, 6], [0, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 6], [3, 6], [3, 6], [3, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 3], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 3], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 3], [3, 3], [3, 3], [3, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 4], [3, 4], [3, 3], [3, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 4], [3, 4], [3, 4], [3, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 4], [3, 6], [3, 3], [3, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 4], [3, 6], [3, 4], [3, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 6], [3, 6], [3, 6], [3, 6]]}], 'requirements': [[{'patt': [0], 'pos': [[2, 5]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [{'assumption': 'TrackingAssumption', 'class_module': 'tilings.assumptions', 'gps': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[1, 1]]}]}], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[1, 1], [1, 1]]}, {'patt': [1, 0], 'pos': [[1, 4], [1, 1]]}, {'patt': [1, 0], 'pos': [[1, 4], [1, 2]]}, {'patt': [0, 2, 1], 'pos': [[0, 4], [0, 4], [1, 4]]}, {'patt': [1, 2, 0], 'pos': [[1, 3], [1, 4], [1, 3]]}, {'patt': [2, 0, 1], 'pos': [[1, 3], [1, 1], [1, 3]]}, {'patt': [2, 0, 1], 'pos': [[1, 3], [1, 2], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 0], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 4], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [1, 4], [1, 3], [1, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [1, 4], [1, 4], [1, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 3], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 3], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 4], [1, 4], [1, 3], [1, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 4], [1, 4], [1, 4], [1, 4]]}], 'requirements': [[{'patt': [0], 'pos': [[1, 4]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_placement', 'direction': 2, 'gps': [{'patt': [0], 'pos': [[1, 4]]}], 'ignore_parent': False, 'include_empty': False, 'indices': [0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, 'rule_class': 'EquivalenceRule'}, {'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'children': [{'assumptions': [{'assumption': 'TrackingAssumption', 'class_module': 'tilings.assumptions', 'gps': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[1, 1]]}]}], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[0, 4]]}, {'patt': [0], 'pos': [[0, 6]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[1, 5]]}, {'patt': [0], 'pos': [[1, 6]]}, {'patt': [0], 'pos': [[1, 7]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0], 'pos': [[2, 3]]}, {'patt': [0], 'pos': [[2, 4]]}, {'patt': [0], 'pos': [[2, 5]]}, {'patt': [0], 'pos': [[2, 7]]}, {'patt': [0], 'pos': [[3, 0]]}, {'patt': [0], 'pos': [[3, 1]]}, {'patt': [0], 'pos': [[3, 2]]}, {'patt': [0], 'pos': [[3, 3]]}, {'patt': [0], 'pos': [[3, 6]]}, {'patt': [0, 1], 'pos': [[0, 5], [0, 7]]}, {'patt': [0, 1], 'pos': [[2, 6], [2, 6]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[1, 1], [1, 1]]}, {'patt': [1, 0], 'pos': [[2, 6], [2, 6]]}, {'patt': [0, 2, 1], 'pos': [[0, 5], [0, 5], [3, 5]]}, {'patt': [0, 2, 1], 'pos': [[0, 7], [0, 7], [3, 7]]}, {'patt': [1, 0, 2], 'pos': [[0, 5], [3, 4], [3, 5]]}, {'patt': [1, 0, 2], 'pos': [[0, 5], [3, 5], [3, 5]]}, {'patt': [1, 2, 0], 'pos': [[3, 4], [3, 5], [3, 4]]}, {'patt': [1, 2, 0], 'pos': [[3, 4], [3, 7], [3, 4]]}, {'patt': [2, 0, 1], 'pos': [[1, 3], [1, 1], [1, 3]]}, {'patt': [2, 0, 1], 'pos': [[1, 3], [1, 2], [1, 3]]}, {'patt': [2, 0, 1], 'pos': [[3, 7], [3, 4], [3, 7]]}, {'patt': [2, 0, 1], 'pos': [[3, 7], [3, 5], [3, 7]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [0, 5], [0, 0], [0, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 5], [0, 5], [0, 5], [0, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 7], [0, 7], [0, 0], [0, 7]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 7], [0, 7], [0, 7], [0, 7]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 7], [3, 7], [3, 7], [3, 7]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 3], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 3], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 4], [3, 4], [3, 4], [3, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 5], [3, 5], [3, 4], [3, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 5], [3, 5], [3, 5], [3, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 5], [3, 7], [3, 4], [3, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 5], [3, 7], [3, 5], [3, 5]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 7], [3, 7], [3, 7], [3, 7]]}], 'requirements': [[{'patt': [0], 'pos': [[2, 6]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [{'assumption': 'TrackingAssumption', 'class_module': 'tilings.assumptions', 'gps': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[1, 1]]}]}], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 1]]}, {'patt': [0], 'pos': [[0, 2]]}, {'patt': [0], 'pos': [[0, 3]]}, {'patt': [0], 'pos': [[0, 5]]}, {'patt': [0], 'pos': [[1, 0]]}, {'patt': [0], 'pos': [[1, 4]]}, {'patt': [0], 'pos': [[1, 5]]}, {'patt': [0], 'pos': [[1, 6]]}, {'patt': [0], 'pos': [[2, 0]]}, {'patt': [0], 'pos': [[2, 1]]}, {'patt': [0], 'pos': [[2, 2]]}, {'patt': [0], 'pos': [[2, 3]]}, {'patt': [0], 'pos': [[2, 4]]}, {'patt': [0], 'pos': [[2, 6]]}, {'patt': [0], 'pos': [[3, 0]]}, {'patt': [0], 'pos': [[3, 1]]}, {'patt': [0], 'pos': [[3, 2]]}, {'patt': [0], 'pos': [[3, 5]]}, {'patt': [0, 1], 'pos': [[0, 4], [0, 6]]}, {'patt': [0, 1], 'pos': [[2, 5], [2, 5]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[1, 1], [1, 1]]}, {'patt': [1, 0], 'pos': [[1, 3], [3, 3]]}, {'patt': [1, 0], 'pos': [[2, 5], [2, 5]]}, {'patt': [0, 2, 1], 'pos': [[0, 4], [0, 4], [3, 4]]}, {'patt': [0, 2, 1], 'pos': [[0, 6], [0, 6], [3, 6]]}, {'patt': [1, 0, 2], 'pos': [[0, 4], [3, 3], [3, 4]]}, {'patt': [1, 0, 2], 'pos': [[0, 4], [3, 4], [3, 4]]}, {'patt': [1, 2, 0], 'pos': [[3, 3], [3, 4], [3, 3]]}, {'patt': [1, 2, 0], 'pos': [[3, 3], [3, 6], [3, 3]]}, {'patt': [2, 0, 1], 'pos': [[1, 3], [1, 1], [1, 3]]}, {'patt': [2, 0, 1], 'pos': [[1, 3], [1, 2], [1, 3]]}, {'patt': [2, 0, 1], 'pos': [[3, 6], [3, 3], [3, 6]]}, {'patt': [2, 0, 1], 'pos': [[3, 6], [3, 4], [3, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 0], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 4], [0, 4], [0, 4], [0, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 6], [0, 6], [0, 0], [0, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 6], [0, 6], [0, 6], [0, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[0, 6], [3, 6], [3, 6], [3, 6]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 2], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 3], [1, 1], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 2], [1, 3], [1, 2], [1, 2]]}, {'patt': [1, 3, 0, 2], 'pos': [[1, 3], [1, 3], [1, 3], [1, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 3], [3, 3], [3, 3], [3, 3]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 4], [3, 4], [3, 3], [3, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 4], [3, 4], [3, 4], [3, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 4], [3, 6], [3, 3], [3, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 4], [3, 6], [3, 4], [3, 4]]}, {'patt': [1, 3, 0, 2], 'pos': [[3, 6], [3, 6], [3, 6], [3, 6]]}], 'requirements': [[{'patt': [0], 'pos': [[2, 5]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.row_and_col_separation', 'ignore_parent': True, 'inferrable': True, 'possibly_empty': False, 'strategy_class': 'RowColumnSeparationStrategy', 'workable': True}}, 'rule_class': 'EquivalenceRule'}]}, {'class_module': 'comb_spec_searcher.strategies.rule', 'rule_class': 'EquivalencePathRule', 'rules': [{'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [], 'pos': []}], 'requirements': []}, {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[1, 1]]}, {'patt': [0, 1], 'pos': [[0, 1], [0, 1]]}, {'patt': [0, 1], 'pos': [[1, 0], [1, 0]]}, {'patt': [1, 0], 'pos': [[0, 1], [0, 1]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 1]]}]]}], 'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_placement', 'direction': 2, 'gps': [{'patt': [0], 'pos': [[0, 0]]}], 'ignore_parent': False, 'include_empty': True, 'indices': [0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, 'rule_class': 'EquivalenceRule'}]}, {'class_module': 'comb_spec_searcher.strategies.rule', 'rule_class': 'EquivalencePathRule', 'rules': [{'class_module': 'comb_spec_searcher.strategies.rule', 'original_rule': {'children': [{'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [], 'pos': []}], 'requirements': []}, {'assumptions': [{'assumption': 'TrackingAssumption', 'class_module': 'tilings.assumptions', 'gps': [{'patt': [0], 'pos': [[0, 0]]}, {'patt': [0], 'pos': [[1, 1]]}]}], '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': [{'assumption': 'TrackingAssumption', 'class_module': 'tilings.assumptions', 'gps': [{'patt': [0], 'pos': [[0, 0]]}]}], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, 'rule_class': 'Rule', 'strategy': {'class_module': 'tilings.strategies.requirement_placement', 'direction': 2, 'gps': [{'patt': [0], 'pos': [[0, 0]]}], 'ignore_parent': False, 'include_empty': True, 'indices': [0], 'own_col': True, 'own_row': True, 'strategy_class': 'RequirementPlacementStrategy'}}, 'rule_class': 'EquivalenceRule'}]}, {'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0], 'pos': [[0, 0]]}], 'requirements': []}, 'rule_class': 'VerificationRule', 'strategy': {'class_module': 'tilings.strategies.verification', 'strategy_class': 'BasicVerificationStrategy'}}, {'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [], 'class_module': 'tilings.tiling', 'comb_class': 'Tiling', 'obstructions': [{'patt': [0, 1], 'pos': [[0, 0], [0, 0]]}, {'patt': [1, 0], 'pos': [[0, 0], [0, 0]]}], 'requirements': [[{'patt': [0], 'pos': [[0, 0]]}]]}, 'rule_class': 'VerificationRule', 'strategy': {'class_module': 'tilings.strategies.verification', 'strategy_class': 'BasicVerificationStrategy'}}, {'class_module': 'comb_spec_searcher.strategies.rule', 'comb_class': {'assumptions': [{'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'}}]}